吴恩达机器学习笔记(二) —— Logistic回归
?
主要內容:
一.回歸與分類
二.Logistic模型即sigmoid function
三.decision boundary 決策邊界
四.cost function 代價函數
五.梯度下降
六.自帶求解函數
七.多分類問題
?
?
一.回歸與分類
回歸:用于預測,輸出值是連續型的。例如根據房子的大小預測房子的價格,其價格就是一個連續型的數。
分類:用于判別類型,輸出值是離散型的(或者可以理解為枚舉型,其所有的輸出值是有限的且已知的),例如根據腫瘤的大小判斷其是惡行腫瘤還是良性腫瘤,其輸出值就是0或1。
?
二.Logistic模型即sigmoid function
1.logistic模型可很好地應用于分類問題上,它可以解決二分類以及多分類問題。其基礎是利用sigmoid function進行二分類。
sigmoid function:
其圖像如下:
可以看得出,g(z)的至于為(0,1),且當z<-2.5時,g(z)非常接近0;當z>2.5時,g(z)非常接近1。因此該函數非常適用于做二分類。
2.為了將其應用到二分類問題上,需要對其做一下變形:
即:
(從講義中直接截圖的,把hΘ(x)改成hΘ(z)就對了)
其中,hΘ(z)的值就是y=1(y表示輸出值是哪一類)的概率,1-hΘ(z)就是y=0的概率。
當hΘ(z)>=0.5時,可斷定y=1;當hΘ(z)<0.5時,可斷定y=0。
?
三.decision boundary 決策邊界
1.我們知道了當hΘ(z)>=0.5時,y=1;當hΘ(z)<0.5時,y=0。那怎么判斷hΘ(z)的值是大于還是小于0.5呢?
可知,當hΘ(z)>=0.5時,z>=0;?hΘ(z)<0.5時, z<0。
由于z =?Θ'x,所以:當hΘ(z)>=0.5時,Θ'x>=0;?hΘ(z)<0.5時, Θ'x<0。
所以我們最主要的工作就是判斷Θ'x是大于0還是小于0,而由于Θ'x的值決定著不同的類別,因此,函數 f(x) =?Θ'x 也就成為了劃分兩個不同類別的分界線(或者叫超平面,因為可以是多維的)。
2.看以下例子:
這里的z即f(x) = x1+x2-3,當f(x)>=0時,即 位于直線上面的那一部分屬于類別1,位于直線下面的那一部分為類別0。
此例子的決策邊際是線性的,但還可以是非線性的,如下:
決策邊界為 f(x) = x1^2 + x2^2 - 1,即一個單位圓。當f(x)>=0時,即在圓以外的部分屬于類別1;當f(x)<0,在圓以內的部分為類別0。
上面介紹的兩個例子都是只有兩個屬性,即x1和x2,當屬性為三個或者更多時,決策邊界就為一個平面或者是超平面,總之能把空間一分為二就行了。
3.綜上:z = 0即為決策邊界,位于z>0一邊的為類別1,位于z<0一邊的為類別0。
?
?
四.cost function 代價函數
明白了決策邊界是怎么工作,之后就是最重要的就是找出決策邊界,也就是通過學習,得出參數Θ(其中特征x需要預先對數據進行判斷,然后再選擇合適的類型,就如上面圓的那個例子,或者說把所有參數的組合都列出來)。
整理一下接下來的工作:
1.選擇的模型為:
?
2.通過數據集,訓練出Θ。
所以,就要確定一下這個模型的代價函數了:
其圖像為:
? ? ? ? ? ??
可知,當hΘ(x)-->0,但實際值y=1時,代價接近無窮大;當hΘ(x)-->1時,實際值y=1時,代價接近0。即判斷錯誤的代價很高,而判斷正確的代價幾乎為0,所以作為代價函數是很合適的。
其中,我們可以把y=0和y=1的兩種情況合并到一條公式當中:
所以,整體的代價函數為:
將其向量化:
?
?
五.梯度下降
有了代價函數J(Θ)之后,就可以用梯度下降來求出Θ了。
迭代的偽代碼:
,即:
?向量化后:
這里有個高數的問題,對J(Θ)求導貌似不太直觀,那就動手試一試:
?
?
六.自帶求解函數
用法如下:
需要自己實現costFunction函數,其中(t)的意思是:costFunction中參數t是initial_theta,即把initial_theta帶入到t中。
其返回值為求出的解,即最優解theta和在此條件下的損失值。
(這個函數沒用過,不太清楚,日后再嘗試一下)
?
七.多分類問題
當類別多于兩個時,仍然可以使用logistic回歸對其進行分類,這種方法就是:One-vs-all,俗稱“一對多”。
思路:枚舉每一種類別,找出其與剩下類別的決策邊界,即通過數據集,訓練出每一類別與其他類別的hΘ(x)函數。假如用n+1個類別,就用n+1個hΘ(x)函數。當輸入一個x時,就將其帶入帶每一個hΘ(x)函數中,取最大值的那個函數,就是x所對應的分類。
如下:
(訓練出n+1個hΘ(x)函數)
(概率最大的那個,便是它所在的分類)
?
轉載于:https://www.cnblogs.com/DOLFAMINGO/p/9304992.html
總結
以上是生活随笔為你收集整理的吴恩达机器学习笔记(二) —— Logistic回归的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: WPF MVVM 架构 Step By
- 下一篇: 字符编码和文件处理