李宏毅机器学习笔记第5周_逻辑回归
文章目錄
- 一、Logistic Regression
- 二、Step 1: Function Set
- 三、Step 2: Goodness of a Function
- 四、Step 3: Find the best function
- 五、Logistic Regression + Square Error
- 六、Discriminative 比較 Generative
- 七、Multi-class Classification
- 八、Limitation of Logistic Regression
一、Logistic Regression
這里的Logistic Regression是采用機(jī)器學(xué)習(xí)的三個步驟進(jìn)行的,步驟如下所示。
二、Step 1: Function Set
1)Function中有兩組參數(shù),一組是w,稱為權(quán)重weight,然后有常數(shù)b,稱為bias。現(xiàn)在我們有一組輸入xi,分別乘上wi,然后再加上b,就可以得到Z,Z通過Sigmoid Function,得到output值是概率probability。
2)在Logistic Regression和Linear Regression中,Logistic Regression的輸出值只能是0到1之間 ,而Linear Regression的輸出值是任何值。
三、Step 2: Goodness of a Function
1) 給我們一組w和b,我們就可以計算某一組w和b的x比TrainingData的概率。下圖所示的L(w,x)就可以計算出x1,x2,x3,……xN的概率,而最有可能的兩個參數(shù)w和b就稱為w*,b*。
2)我們可以找到w*,b*=argmax(w,b)L(w,b)等價于w*,b*=argmin(w,b)-ln?〖L(w,b)〗,這樣可以讓計算變得更加容易。我們再進(jìn)行一次變換,如果x屬于Class1,?就為1,反之x屬于Class2,?就為0。這樣就可以得到?lnL(w,b)的展開式。
3)下圖中當(dāng)x屬于C1時,y^ 就為1,因此1-y^ =0。
4)通過上述步驟,就可以得到如下圖所示。
5) 現(xiàn)在給兩個Distribution p和Distribution q,計算這兩個cross entropy交叉熵,也就是計算這兩個Distribution接近的程度。如果這兩個Distribution分布的一樣,那么交叉熵為0。因此我們的目標(biāo)是讓這兩個Distribution的分布越接近越好,這樣可以使它們的交叉熵越小。交叉熵的公式如下圖所示。
6)Logistic Regression與Linear Regression不同,如果x屬于Class1,y^ 就為1,反之x屬于Class2,y^ 就為0。而它的L(f)是cross entropy交叉熵的和。
四、Step 3: Find the best function
1)公式如下圖所示
2)手推公式
3)整個過程受到三個因素影響,第一個是Learing rate,第二個是xi,第三個是?-fw,b(x hat n),?只能取值0或1,fw,b(x^n)是函數(shù)的輸出值,兩者差異越大,需要更新的量也越大。
4)Logistic Regression和Linear Regression一模一樣,唯一不一樣的是 Logistic Regression的target只能是0或1,f一定是介于0到1之間,而Linear Regression的target可以是任何數(shù),f可以是任何數(shù)。
五、Logistic Regression + Square Error
1)我們采用Class 1的例子,得到它對應(yīng)的兩種函數(shù)的計算偏導(dǎo)的結(jié)果都是0,這顯然是合理的。
2)我們采用Class 2的例子,得到它對應(yīng)的兩種函數(shù)的計算偏導(dǎo)的結(jié)果都是0,這顯然是不合理的。
3)Cross Entropy 比較 Square Error
如下圖所示,黑色的是Cross Entropy,紅色的是Square Error。Cross Entropy在距離中心點(diǎn)(最低點(diǎn))很近的位置,微分值很小,在距離中心點(diǎn)(最低點(diǎn))很遠(yuǎn)的位置,微分值很大,這意味著參數(shù)的更新很快。Square Error在距離中心點(diǎn)(最低點(diǎn))很近的位置,微分值很小,在距離中心點(diǎn)(最低點(diǎn))很遠(yuǎn)的位置,微分值也很小,這意味著參數(shù)的更新很慢。
六、Discriminative 比較 Generative
1)Discriminative和Generative它們二者的Function set一模一樣,但是由于我們的假設(shè)不一樣,所以在相同的Function set中,我們求出來的w和b不相同。在Generative model中,假設(shè)數(shù)據(jù)來自高斯分布或者伯努利分布。
2)只考慮2種因素,兩者的結(jié)果比較接近,但考慮7種因素后,Discriminative比Generative的結(jié)果更好一些。
3)如下圖所示,每一筆data有兩個feature,我們給兩個label為1是Class 1,其余都為Class 2。現(xiàn)在我們給一組Testing Data,我們?nèi)藶榕袛嗨鼮镃lass 1。
4)通過計算得到Testing Data屬于Class 2。因為Na?ve Bayes不考慮不同的dimension之間的correlation,對于Na?ve Bayes來說,這兩個dimension是independent所產(chǎn)生的。在Class 2里面之所以沒有觀察到Training Data,是因為sample得不夠多。
Generative模型對data做了某些假設(shè),它進(jìn)行了腦補(bǔ),假設(shè)data來自某個分布。通常腦補(bǔ)不是一件好的事情,因為data沒有告訴我們,但是在data很少的情況,是可以腦補(bǔ)的。
5)Generative會遵循自己的假設(shè),有時會去無視這個假設(shè),而去遵從自己,因此在data量很小的時候很有優(yōu)勢,而Discriminative依靠data,隨著data量增大,Discriminative Model的error會越來越小。
當(dāng)data所含的noise比較多時,Generative會比Discriminative更好,因為data的label本身就有問題,所以Generative自己做了腦補(bǔ)去把data里面的noise給忽略掉。
七、Multi-class Classification
1)假設(shè)我有3個class,參數(shù)如下圖所示。
2)max是求最大值,softmax函數(shù)會對最大值做強(qiáng)化,而強(qiáng)化的意思是會使每一個Zi的值之間的差距拉的更大。假設(shè)data來自高斯分布,而每一個Class所屬的分布都使用協(xié)方差矩陣,通過推導(dǎo)就可以得到softmax函數(shù)。
3)通過上述操作,整理得到下圖所示。
4)如下圖所示,這樣設(shè)置會隱性地給分類增加限制,Class1和Class2會比較近,Class1和Class3會比較遠(yuǎn)。
八、Limitation of Logistic Regression
1)提出問題:無論我們怎么選擇w和b,怎么畫一條線,都不能將紅色點(diǎn)和藍(lán)色點(diǎn)劃分開。
2)我們可以做Feature Transformation,自己定轉(zhuǎn)換的原則,我們把x1,x2轉(zhuǎn)換到另外的位置上。但不是每一次都能找到好的transformation,這個需要人為來做,失去了機(jī)器學(xué)習(xí)的意義。
3)我們需要靠機(jī)器自己產(chǎn)生transformation,因此我們需要Cascading logistic regression models。
4)如下圖所示,右上角的藍(lán)色是通過調(diào)整w和b得到的輸出,可以發(fā)現(xiàn)左上角的數(shù)字比右下角的數(shù)字大。右下角的綠色也是通過調(diào)整w和b得到的輸出,可以發(fā)現(xiàn)左上角的數(shù)字比右下角的數(shù)字小,這些操作都是做到的。
5)如下圖所示,通過transformation,紅色的兩個點(diǎn)變成了(0.73,0.05)和(0.05,0.73),藍(lán)色的點(diǎn)變成了(0.27,0.27),因此現(xiàn)在我們可以找到一個線把紅色的點(diǎn)和藍(lán)色的點(diǎn)區(qū)分開來。
總結(jié)
以上是生活随笔為你收集整理的李宏毅机器学习笔记第5周_逻辑回归的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Xshell免费版安装 常用连接linu
- 下一篇: 普中V2 7人多数表决器 51单片机 仿