我們將上堂課最后的內(nèi)容回顧下靠胜,我們利用線性模型z=wx+b帶入sigmoid函數(shù)后就得到了概率
如果x是個維的特征向量尝江,就有如圖所示的輸出控硼,z少寫了個+b
我們比較邏輯回歸和線性回歸
第一處區(qū)別是遂赠,邏輯回歸的輸出經(jīng)過sigmoid函數(shù)宁否,其輸出是介于0,1之間的,而線性回歸是正負無窮間的任何值
假設我們有N個樣本铸磅,2分類每個樣本的實際分類分別為C1,C2赡矢,根據(jù)訓練集生成的概率模型,給定w,b取N組數(shù)據(jù)生成訓練集數(shù)據(jù)的概率是圖中的式子阅仔,使L(w,b)取最大的w,b我們記為
我們可以目標值是C1定義為1,C2定義為0吹散,當然圖中錯了,應該是1,1,0而不是1,0,1,我們對上圖l(w,b)求最大值就變成了-lnL(w,b)的最小值八酒,因為L(w,b)是乘積空民,就可以左下展開,我們帶入后就可以得出每項是右下的式子
由于目標值已知,帶入0,1可以消去一些無用項
我們求-lnL(w,b)就有了如圖中的通項和界轩,其內(nèi)涵實際是伯努利分布(二分類)的交叉熵
第二處區(qū)別:
所以邏輯回歸的損失函數(shù)就是交叉熵求和画饥,當0,1分布(目標值)和概率模型接近時,使得損失函數(shù)最小浊猾,
而線性回歸的損失函數(shù)是誤差平方和
有人就會想問了抖甘,我們把邏輯回歸能不能也按誤差平方和來算損失函數(shù)呢
我們?nèi)绾螢榱饲?lnL(w,b)的最小,可以使用梯度下降來求解葫慎,這里先求出對w的偏微分衔彻,圖中的圖是即sigmoid(z)的微分和本身的示意圖,
求導就是
偷办,算式右側(cè)加號左邊的偏微分可以求出即
同理艰额,將右側(cè)求偏微分帶入后,可得出圖中結(jié)果椒涯,因此我們更新wi就收到3個影響柄沮,1是學習率,2是樣本第i個參數(shù)逐工,第三個是樣本目標值和概率結(jié)果的差值,我們也能看出差別越大漂辐,我們的更新就越大
我們比較第三個區(qū)別
其實線性回歸和邏輯回歸他們的權重更新的式子是一樣的泪喊,但是區(qū)別就在于,目標值邏輯回歸就是0,1髓涯,而線性回歸是任意值袒啼,而邏輯回歸f(w,b)是0,1之間的值,線性回歸也是任意值
我們之前問過能不能用方差做邏輯回歸的損失函數(shù)纬纪,我們這里就驗證下蚓再,經(jīng)過一番推導,我們得出式子包各,樣本是1摘仅,如果函數(shù)生成1,此時函數(shù)的微分是0问畅,看起來好像很不錯娃属,可是當f是0時(離目標較遠),也會微分是0
我們把損失函數(shù)用交叉熵和誤差平方和可以得到如下立體圖形护姆,可以看到平方和在目標值處和離目標值較遠的點都比較小矾端,而且平方和梯度比較小,步進很慢卵皂。也有人說我們可以把梯度小的時候設計得學習率大啊秩铆,可是當梯度小的時候也可能離目標點比較近,我們采用大的學習率是不行的灯变。
所以使用交叉熵作為邏輯回歸的損失函數(shù)會好很多
Discriminative and Generative? ?可判別的和可生成的
我們用邏輯回歸生成概率模型的方式叫做可判別的殴玛,我們再之前使用某種幾率模型(如高斯分布)叫做可生成的
兩個模型都是使用的相同的概率公式捅膘,前者是用梯度下降求得w,b,后者使用公式求出w,b族阅。我們會有疑問篓跛,兩個方法得出的w,b會是一樣的么,因為前者并沒有使用任何假設坦刀,而后者假設其是正態(tài)(也可以考慮伯努利分布等其他概率分布模型)分布的
我們采用2種模型分別進行了水系和一般系寶可夢的分類愧沟,從圖上大致看不太出來區(qū)別,但是當我們考慮了7個特征后鲤遥,generative的概率73%沐寺,discrimitive的概率79%,后者看著似乎更好一點
為了更好地理解上述盖奈,我們舉個例子混坞,一共13個數(shù)據(jù),1個1類钢坦,12個2類究孕,每個樣本有2個特征,每個特征取值分別可能為0,1爹凹,那問題來了厨诸,如果有一個樣本2個特征都是1,你會判斷他是哪個類別呢禾酱?會是常識判斷過去的1嗎微酬?
我們用樸素貝葉斯計算下
第一個分類的概率為1/13,第二個為12/13,第一類前提下第一個特征為1的概率為1,第一類前提下第二個特征為1的概率也為1颤陶,第二類前提下第一個特征為1的概率為1/3颗管,第二類前提下第二個特征為1的概率為1/3(圖中C2寫成C1了)
我們根據(jù)公式帶入可求出2個特征都是1的情況下,是第一類的概率結(jié)果比0.5小滓走,這就是意味著2個特征都是1的是C2的概率比C1大垦江,我們以概率分布generative來考慮,就是我們有可能有這樣的樣本搅方,不過是樣本量不夠大疫粥,沒出現(xiàn)這樣的樣本而已。
大多數(shù)情況下腰懂,discriminative model是比generatvie model好的梗逮,但也不是絕對,下面我們分析下generative model的優(yōu)點:
1假設分布模型的時候绣溜,我們可以使用很少的樣本數(shù)據(jù)量
2我們受噪聲影響的比較小
3可以從不同的源評估優(yōu)先可能性(這里感覺老師沒有講的很清楚)
多分類
多分類和2分類很類似慷彤,我們也是找到w,b,對于每個分類,分別求得z1,z2,z3將其e指數(shù)化,以圖中為例底哗,在除以所有的加和岁诉,就得到介于0,1的新概率,而且他們之間的加和是為1的跋选,這種方法叫做softmax涕癣,為什么叫做softmax,這是因為我們會對不同的值做強化(大小值之間分的更開前标,有利于分類)坠韩,使其成e的指數(shù)級變化。
以3分類為例炼列,我們的目標值向量可能分別是1,0,0? ? ? 0,1,0? ? ? ? ? 0,0,1三種只搁,我們還是采用交叉熵來做損失函數(shù),因為交叉熵最小的過程就是使概率逼近目標值的過程俭尖。
邏輯回顧的限制
以一個2分類為例氢惋,輸入權重w1,w2我們有如下樣本(0,1)(1,0)為1類,(0,0)稽犁,(1,1)為2類焰望,而根據(jù)邏輯回歸我們要找到一條直線,無法用一條直線有效的實現(xiàn)分類
我們可以嘗試對特征進行處理已亥,比如生成新的特征向量熊赖,x1'為到0,0的距離,x2'為到1,1的距離陷猫,我們處理后秫舌,之前0的妖,1和1,0就變成了1,1點重合到一起绣檬,而之前的0,0變成了0,嫂粟, 原來1,1變成了
娇未,0,我們就可以找到一條直線作為邊界了,當然圖中左下一個(0,1)應該為(1,0),但是麻煩的問題是我們不知道怎么這么變換星虹,我們希望程序自動化實現(xiàn)零抬,如果有一個邏輯回歸可能實現(xiàn)不了分割,但是有多個邏輯回歸就可能實現(xiàn)宽涌。
我們的一個邏輯回歸平夜,他的輸入可以是其他邏輯回歸的輸出,他的輸出也可以是其他邏輯回歸的輸入卸亮,這樣的一個邏輯回歸單元忽妒,我們叫做Neuron(神經(jīng)元),所有神經(jīng)元組成的叫做Neuron Network(神經(jīng)網(wǎng)絡,簡寫NN)
哇段直,好高大上啊吃溅,我們就要進入深度學習的范疇啦