Classification and Representation
Classification
分類問題的預測返回值爲離散量。
以0,1兩種返回值爲例。線性迴歸算法不適用於解決分類問題,因爲
畫成圖像後,數據點的y值只有0,1兩種,因此邊界上的一個單獨的
點會對迴歸直線造成很大影響。
Hypothesis Representation
相對於線性迴歸模型會出現預測值>1和<0的情況,邏輯迴歸(logistic
regression)模型保證預測值都在(0,1)之間。
其預測值hθ(x) = g(theta’ * x)
g(t) = 1/(1+e^(-t))
hθ(x)表示x的分類值爲1的可能性。
因此該問題的關鍵是找到最合適的θ。
Decision Boundary
logistic regression保證預測值在(0,1)範圍內,這樣就可以找到方
法映射到離散值上,比如規定hθ(x)<=0.5時認爲屬於0分類,>0.5屬
於1分類。
因爲hθ(x) = g(θTx)
根據g的圖像可以發現:
hθ(θTx) >= 0.5 –> θTx>=0
hθ(θTx) <0.5 –> θTx<0
因此,這種分類方法實際上是用直線(或面)θTx =0 將圖像分割爲
兩部分,認爲一部分屬於分類0,一部分屬於分類1。
這條直線就被稱爲linear decision boundary。
當然對於一些數據集decision boundary不是線性的,因爲構造的
θTx =0 不是一條直線(向量X中不只有1次項)。
Cost Function
在Linear Regression中,Cost Function圖像關於θ只有一個極值
點,具有凸包性(convex)。
但是在Logistic Regression 中,因爲hθ(x) = g(θTx),不再是一個一
次直線,Cost Function也就不再具有凸包性,因此在使用Gradient
Descent 時不能保證找到全局最小點。
因此要改變Cost Function的形式爲:
首先保證了單調性,因爲hθ(x)是單調的,log也是單調的。
其次保證了正確性:
(y = 1 && hθ(x) = 1) –> cost = 0
(y = 0 && hθ(x) = 1) –> cost = +無窮
Simplified Cost Function and Gradient Descent
將Cost Function兩種情況合併爲:
-y * log(hθ(x)) - (1-y) * log( 1- hθ(x) )
logistic regression 和 linear regression 的Gradient Descent 的迭
代過程基本是一樣的,都是:
區別在於hθ(x)不一樣
Advanced optimization
幾種相對梯度下降更好的方法:
Conjugate Gradient(共軛梯度法)
BFGS(擬牛頓法改進)
L-BFGS(BFGS改進)
它們的優點是不用人爲設定迭代步長a,並且速度更快。
但是大多數這些算法都需要使用兩個東西,一是J(θ)公式,二是J(θ)
關於各個theta的偏導數的公式。Octave函數fminunc即可接受上述
參數自動返回最優值。
Multiclass Classification: One-vs-all
對於存在多種分類的分類問題,可以將其轉化爲二元分類問題解決。
方法是對每種分類分開討論,將該分類視爲0,非該分類視爲1,這樣
就是二元分類問題了。每種情況都有不同的θ向量。
hθi(x)表示x屬於第i分類的可能性。
Regularization
The Problem of Overfitting
擬合效果不好有兩種情況:
欠擬合(Underfitting),指的是預測值和training set匹配程度較差。
過擬合(Overfitting),指的是擬合曲線過度追求吻合training set,可能被一些噪音干擾,偏離實際情況。當
數據的參數過多時容易發生這種情況。
解決過擬合有兩種方法:
1.減少參數數量,可以人爲選擇使用哪些參數,也可使用模型選擇算法(後面會講)。但是這可能會導致丟
失信息。
2.正則化(regularization),調整每個參數的權重。
Cost Function
θ參數越小,曲線將會越平滑,越不容易Overfitting。
因此構造新的Cost Function
這個函數的前半部分(原Cost Function),控制擬合曲線儘量接近training set,後半部分控制θ參數儘可能
小。正則參數λ控制正則化的程度,λ越大擬合曲線的匹配程度越小。
Regularized Linear Regression
正則化的梯度下降公式爲:
(0