回顧分類問題
Logistic Regression
可分為3個部分,1.定義Function set,2.定義Loss function,3.做Gradient Descent。
Function Set
這邊我們先以二元分類來說明。
- 定義假設函數
與Gradient Descent一樣,我們需要定義一個hypothesis set,hypothesis set是可能產生我們手上資料的函數集合。
在之前分類問題中有講到,分類問題的機率可以用機率分佈推得,然而這樣的概念可以延伸到Logistic Regression。
注意:表示第筆資料的第個特徵。
邏輯回歸與線性回歸hypothesis set之差異
Loss Function
- 定義L(loss function)
:樣本數。
:特徵x確定時,的機率。
:特徵x確定時,的機率。
假設資料由這個機率分佈所產生的,資料。
就是由這些數據點產生的機率,因為每個數據點獨立所以等於由每個數據點產生()機率的乘積。
我們要找到某個使這個機率最大,就是求斜率等於零(函數的最高點或最低點),找到的這個就是的。
注意:因為是,所以產生的機率為,是產生的機率。
-
求最大值轉換為求最小值
左右同乘(),越大,就越小,所以需要求最小值。
-
二項分佈與hypothesis set之關係
二項分佈
二項分佈當時,就是白努力分佈。所以永遠等於1,這邊圖一的就是。
等於白努力分佈成功X次(),,
所以出現次成功的機率為:
-
-
由圖三可證明:
所以可以推得:
(為所有數值的乘積)
結論:
-
Cross entropy(交叉熵)概念
Cross entropy相關文章。 -
Cross-Entropy(交叉熵)形式
實際的機率分佈
()與我們找到的機率分佈
()的Cross-Entropy的公式為:
☆,這是實際上產生的function,它與有不同的。
☆
★,這是我們找到的產生的Function,它與有不同的。
★
代入cross entropy後得
注意:為機率分佈,為機率
結論:
就是在求兩個,實際的機率分佈
()與我們找到的機率分佈
()的Cross entropy,Cross entropy 越小表示找到的function與實際越接近。
所以我們可以直接定義Loss function為。
邏輯回歸與線性回歸loss function之差異
最佳的hypothesis
- 對Loss function()做Gradient Descent找最小值。
- cross entropy與square error差異
square error再距離目標很遠時,比較平坦,更新速度慢,cross entropy再距離目標很遠時很陡峭,更新速度快。
Discriminative v.s. Generative
- Discriminative 比較 Generative
假設有一個分佈為去定義Loss Function這方法稱為Discriminative ,而分類問題那篇我們使用假設高斯分佈去推測機率的方法稱為Generative。
然而他們找出來的答案不會是一樣的,Generative我們假設資料是高斯分佈,而Discriminative 我們假設資料為任何機率分佈,通常Discriminative model會比Generative
model表現得更好 。
當資料少的時候,有時候加一些假設或許會有比較好的結果。
多類別分類(Multi-class Classification)
我們有3個類的時候,我們想像成求3個二元分類問題。
個樣本、個特徵、個類別,,將多一個全為的特徵,換成。
-
Softmax
Softmax函數:將值映射成之間的值,所有值之和等於。
。
-
Softmax的Hypothesis and Loss function and gradient
,如果成立,則,否則。
- 實作trick
为什么sigmoid和softmax需要和cross entropy一起计算
softmax函数计算时候为什么要减去一个最大值?
有效防止softmax計算時上溢出(overflow)和下溢出(underflow)的方法
Logistic Regression的限制
Logistic Regression無法做非線性分類,需要使用Neural Network,或手動作特徵轉換。
网友评论