機(jī)器學(xué)習(xí)筆記_01線性回歸和邏輯回歸
[TOC]
一刷后、什么是機(jī)器學(xué)習(xí)
利用大量的數(shù)據(jù)樣本燎潮,使得計(jì)算機(jī)通過(guò)不斷的學(xué)習(xí)獲得一個(gè)模型灰嫉,用來(lái)對(duì)新的未知數(shù)據(jù)做預(yù)測(cè)。
- 有監(jiān)督學(xué)習(xí)(分類遇绞、回歸)
同時(shí)將數(shù)據(jù)樣本和標(biāo)簽輸入給模型键袱,模型學(xué)習(xí)到數(shù)據(jù)和標(biāo)簽的映射關(guān)系,從而對(duì)新數(shù)據(jù)進(jìn)行預(yù)測(cè)摹闽。
-
無(wú)監(jiān)督學(xué)習(xí)(聚類)
只有數(shù)據(jù)蹄咖,沒(méi)有標(biāo)簽,模型通過(guò)總結(jié)規(guī)律付鹿,從數(shù)據(jù)中挖掘出信息澜汤。
image.png 強(qiáng)化學(xué)習(xí)
強(qiáng)化學(xué)習(xí)會(huì)在沒(méi)有任何標(biāo)簽的情況下,通過(guò)先嘗試做出一些行為得到一個(gè)結(jié)果舵匾,通過(guò)這個(gè)結(jié)果是對(duì)還是錯(cuò)的反饋俊抵,調(diào)整之前的行為,就這樣不斷的調(diào)整坐梯,算法能夠?qū)W習(xí)到在什么樣的情況下選擇什么樣的行為可以得到最好的結(jié)果徽诲。
就好比你有一只還沒(méi)有訓(xùn)練好的小狗,每當(dāng)它把屋子弄亂后吵血,就減少美味食物的數(shù)量(懲罰)馏段,每次表現(xiàn)不錯(cuò)時(shí),就加倍美味食物的數(shù)量(獎(jiǎng)勵(lì))践瓷,那么小狗最終會(huì)學(xué)到一個(gè)知識(shí)院喜,就是把客廳弄亂是不好的行為。
【David Silve強(qiáng)化學(xué)習(xí)課程】:
- 推薦David Silver的Reinforcement Learning Course
- 課件鏈接:https://github.com/enfangzhong/DavidSilverRLPPT
-
機(jī)器學(xué)習(xí)基本術(shù)語(yǔ)與概念
image.png
二晕翠、線性回歸
利用大量的樣本喷舀,通過(guò)有監(jiān)督的學(xué)習(xí)砍濒,學(xué)習(xí)到由x到y(tǒng)的映射f,利用該映射關(guān)系對(duì)未知的數(shù)據(jù)進(jìn)行預(yù)估硫麻,因?yàn)閥為連續(xù)值爸邢,所以是回歸問(wèn)題。
-
單變量情況
image.png 多變量情況
二維空間的直線拿愧,轉(zhuǎn)化為高維空間的平面
2.1 線性回歸的表達(dá)式
機(jī)器學(xué)習(xí)是數(shù)據(jù)驅(qū)動(dòng)的算法杠河,數(shù)據(jù)驅(qū)動(dòng)=數(shù)據(jù)+模型,模型就是輸入到輸出的映射關(guān)系浇辜。
模型=假設(shè)函數(shù)(不同的學(xué)習(xí)方式)+優(yōu)化
1. 假設(shè)函數(shù)
線性回歸的假設(shè)函數(shù)(表示截距項(xiàng)券敌,
,方便矩陣表達(dá)):
向量形式(θ,x都是列向量):
2. 優(yōu)化方法
監(jiān)督學(xué)習(xí)的優(yōu)化方法=損失函數(shù)+對(duì)損失函數(shù)的優(yōu)化
3. 損失函數(shù)
如何衡量已有的參數(shù)的好壞?
利用損失函數(shù)來(lái)衡量柳洋,損失函數(shù)度量預(yù)測(cè)值和標(biāo)準(zhǔn)答案的偏差待诅,不同的參數(shù)有不同的偏差,所以要通過(guò)最小化損失函數(shù)熊镣,也就是最小化偏差來(lái)得到最好的參數(shù)卑雁。
映射函數(shù):
損失函數(shù):
解釋:因?yàn)橛衜個(gè)樣本,所以要平均绪囱,分母的2是為了求導(dǎo)方便
最小化損失函數(shù)( loss function):凸函數(shù)
4. 損失函數(shù)的優(yōu)化
損失函數(shù)如右圖所示测蹲,是一個(gè)凸函數(shù),我們的目標(biāo)是達(dá)到最低點(diǎn)鬼吵,也就是使得損失函數(shù)最小扣甲。
多元情況下容易出現(xiàn)局部極值
求極值的數(shù)學(xué)思想,對(duì)公式求導(dǎo)=0即可得到極值而柑,但是工業(yè)上計(jì)算量很大文捶,公式很復(fù)雜,所以從計(jì)算機(jī)的角度來(lái)講媒咳,求極值是利用梯度下降法粹排。
① 初始位置選取很重要
② 復(fù)梯度方向更新,二維情況下涩澡,函數(shù)變換最快的方向是斜率方向顽耳,多維情況下就成為梯度,梯度表示函數(shù)值增大的最快的方向妙同,所以要在負(fù)梯度方向上進(jìn)行迭代射富。
③ θ的更新公式如上圖,每個(gè)參數(shù) 都是分別更新的
高維情況:梯度方向就是垂直于登高線的方向
參數(shù)更新示例:
對(duì)每個(gè)theta都進(jìn)行更新:
學(xué)習(xí)率:
① 學(xué)習(xí)率太大粥帚,會(huì)跳過(guò)最低點(diǎn)胰耗,可能不收斂
② 學(xué)習(xí)率太小收斂速度過(guò)慢
5. 過(guò)擬合和欠擬合(underfitting vs overfitting)
過(guò)擬合的原因:
① 如果我們有很多的特征或模型很復(fù)雜,則假設(shè)函數(shù)曲線可以對(duì)訓(xùn)練樣本擬合的非常好芒涡,學(xué)習(xí)能力太強(qiáng)了柴灯,但是喪失了一般性卖漫。從而導(dǎo)致對(duì)新給的待預(yù)測(cè)樣本,預(yù)測(cè)效果差.
② 眼見(jiàn)不一定為實(shí)赠群,訓(xùn)練樣本中肯定存在噪聲點(diǎn)羊始,如果全都學(xué)習(xí)的話肯定會(huì)將噪聲也學(xué)習(xí)進(jìn)去。
過(guò)擬合造成什么結(jié)果:
過(guò)擬合是給參數(shù)的自由空間太大了查描,可以通過(guò)簡(jiǎn)單的方式讓參數(shù)變化太快突委,并未學(xué)習(xí)到底層的規(guī)律,模型抖動(dòng)太大冬三,很不穩(wěn)定匀油,variance變大,對(duì)新數(shù)據(jù)沒(méi)有泛化能力长豁。
所有的模型都可能存在過(guò)擬合的風(fēng)險(xiǎn):
- 更多的參數(shù)钧唐,更復(fù)雜的模型忙灼,意味著有更強(qiáng)的能力匠襟, 但也更可能無(wú)法無(wú)天
- 眼見(jiàn)不一定為實(shí),你看到的內(nèi)容不一定是全部真實(shí)的數(shù)據(jù)分布该园,死記硬背不太好
6. 利用正則化解決過(guò)擬合問(wèn)題
正則化的作用:
① 控制參數(shù)變化幅度酸舍,對(duì)變化大的參數(shù)懲罰,不讓模型“無(wú)法無(wú)天”
② 限制參數(shù)搜索空間
添加正則化的損失函數(shù)
m:樣本有m個(gè)
n:n個(gè)參數(shù)里初,對(duì)n個(gè)參數(shù)進(jìn)行懲罰
λ:對(duì)誤差的懲罰程度啃勉,λ 越大對(duì)誤差的懲罰越大,容易出現(xiàn)過(guò)擬合双妨,λ越小淮阐,對(duì)誤差的懲罰越小,對(duì)誤差的容忍度越大刁品,泛化能力好泣特。
7. 線性回歸代碼實(shí)例
三、邏輯回歸
監(jiān)督學(xué)習(xí)挑随,解決二分類問(wèn)題状您。
分類的本質(zhì):在空間中找到一個(gè)決策邊界來(lái)完成分類的決策
邏輯回歸:線性回歸可以預(yù)測(cè)連續(xù)值,但是不能解決分類問(wèn)題兜挨,我們需要根據(jù)預(yù)測(cè)的結(jié)果判定其屬于正類還是負(fù)類膏孟。所以邏輯回歸就是將線性回歸的結(jié)果,通過(guò)sigmoid函數(shù)映射到(0,1) 之間拌汇。
線性回歸決策函數(shù):
sigmoid函數(shù):
① 可以對(duì)結(jié)果柒桑,映射到(0,1) 之間,作為概率噪舀。
② sigmoid(x)
sigmoid
魁淳,可以將
作為決策邊界丢氢。
③ 數(shù)學(xué)特性好,求導(dǎo)容易:
邏輯回歸的決策函數(shù)
將線性回歸決策函數(shù)通過(guò)sigmoid函數(shù)先改,獲得邏輯回歸的決策函數(shù):
3.1 邏輯回歸的損失函數(shù)
線性回歸的損失函數(shù)為平方損失函數(shù)疚察,如果將其用于邏輯回歸的損失函數(shù),則其數(shù)學(xué)特性不好仇奶,有很多局部極小值貌嫡,難以用梯度下降法求最優(yōu)。
邏輯回歸損失函數(shù):對(duì)數(shù)損失函數(shù)
解釋:如果一個(gè)樣本為正樣本该溯,那么我們希望將其預(yù)測(cè)為正樣本的概率p越大越好岛抄,也就是決策函數(shù)的值越大越好,則logp越大越好狈茉,邏輯回歸的決策函數(shù)值就是樣本為正的概率夫椭;
如果一個(gè)樣本為負(fù)樣本,那么我們希望將其預(yù)測(cè)為負(fù)樣本的概率越大越好氯庆,也就是(1-p)越大越好蹭秋,即log(1-p)越大越好。
為什么要用log:
樣本集中有很多樣本堤撵,要求其概率連乘仁讨,概率為(0,1)間的數(shù),連乘越來(lái)越小实昨,利用log變換將其變?yōu)檫B加洞豁,不會(huì)溢出,不會(huì)超出計(jì)算精度荒给。
邏輯回歸損失函數(shù):
3.2 邏輯回歸實(shí)現(xiàn)多分類
一對(duì)一(one vs one)
一對(duì)一分類丈挟,每?jī)蓚€(gè)類之間構(gòu)建一個(gè)分類器,共需要個(gè)分類器
一對(duì)多(one vs rest)
一對(duì)多分類器志电,每個(gè)分類器判斷是三角形還是不是三角形曙咽,共需要N個(gè)分類器。
3.3 邏輯回歸代碼實(shí)現(xiàn)
四溪北、LR的特點(diǎn)
可解釋性高桐绒,工業(yè)中可控度高。
五之拨、 為什么邏輯回歸比線性回歸好
雖然邏輯回歸能夠用于分類茉继,不過(guò)其本質(zhì)還是線性回歸。它僅在線性回歸的基礎(chǔ)上蚀乔,在特征到結(jié)果的映射中加入了一層sigmoid函數(shù)(非線性)映射烁竭,即先把特征線性求和,然后使用sigmoid函數(shù)來(lái)預(yù)測(cè)吉挣。
這主要是由于線性回歸在整個(gè)實(shí)數(shù)域內(nèi)敏感度一致派撕,而分類范圍婉弹,需要在[0,1]之內(nèi)。而邏輯回歸就是一種減小預(yù)測(cè)范圍终吼,將預(yù)測(cè)值限定為[0,1]間的一種回歸模型镀赌,其回歸方程與回歸曲線如下圖所示。邏輯曲線在z=0時(shí)际跪,十分敏感商佛,在z>>0或z<<0處,都不敏感姆打,將預(yù)測(cè)值限定為(0,1)良姆。
LR在線性回歸的實(shí)數(shù)范圍輸出值上施加sigmoid函數(shù)將值收斂到0~1范圍, 其目標(biāo)函數(shù)也因此從差平方和函數(shù)變?yōu)閷?duì)數(shù)損失函數(shù), 以提供最優(yōu)化所需導(dǎo)數(shù)(sigmoid函數(shù)是softmax函數(shù)的二元特例, 其導(dǎo)數(shù)均為函數(shù)值的f*(1-f)形式)。請(qǐng)注意, LR往往是解決二元0/1分類問(wèn)題的, 只是它和線性回歸耦合太緊, 不自覺(jué)也冠了個(gè)回歸的名字(馬甲無(wú)處不在). 若要求多元分類,就要把sigmoid換成大名鼎鼎的softmax了幔戏。
首先邏輯回歸和線性回歸首先都是廣義的線性回歸玛追,其次經(jīng)典線性模型的優(yōu)化目標(biāo)函數(shù)是最小二乘,而邏輯回歸則是似然函數(shù)闲延,另外線性回歸在整個(gè)實(shí)數(shù)域范圍內(nèi)進(jìn)行預(yù)測(cè)痊剖,敏感度一致,而分類范圍慨代,需要在[0,1]邢笙。邏輯回歸就是一種減小預(yù)測(cè)范圍啸如,將預(yù)測(cè)值限定為[0,1]間的一種回歸模型侍匙,因而對(duì)于這類問(wèn)題來(lái)說(shuō),邏輯回歸的魯棒性比線性回歸的要好叮雳。
邏輯回歸的模型本質(zhì)上是一個(gè)線性回歸模型想暗,邏輯回歸都是以線性回歸為理論支持的。但線性回歸模型無(wú)法做到sigmoid的非線性形式帘不,sigmoid可以輕松處理0/1分類問(wèn)題说莫。
六、 LR和SVM的關(guān)系
1寞焙、LR和SVM都可以處理分類問(wèn)題储狭,且一般都用于處理線性二分類問(wèn)題(在改進(jìn)的情況下可以處理多分類問(wèn)題)
2、兩個(gè)方法都可以增加不同的正則化項(xiàng)捣郊,如l1辽狈、l2等等。所以在很多實(shí)驗(yàn)中呛牲,兩種算法的結(jié)果是很接近的刮萌。
區(qū)別:
1、LR是參數(shù)模型娘扩,SVM是非參數(shù)模型着茸。
2壮锻、從目標(biāo)函數(shù)來(lái)看,區(qū)別在于邏輯回歸采用的是logistical loss涮阔,SVM采用的是hinge loss猜绣,這兩個(gè)損失函數(shù)的目的都是增加對(duì)分類影響較大的數(shù)據(jù)點(diǎn)的權(quán)重,減少與分類關(guān)系較小的數(shù)據(jù)點(diǎn)的權(quán)重敬特。
3途事、SVM的處理方法是只考慮support vectors,也就是和分類最相關(guān)的少數(shù)點(diǎn)擅羞,去學(xué)習(xí)分類器尸变。而邏輯回歸通過(guò)非線性映射,大大減小了離分類平面較遠(yuǎn)的點(diǎn)的權(quán)重减俏,相對(duì)提升了與分類最相關(guān)的數(shù)據(jù)點(diǎn)的權(quán)重召烂。
4、邏輯回歸相對(duì)來(lái)說(shuō)模型更簡(jiǎn)單娃承,好理解奏夫,特別是大規(guī)模線性分類時(shí)比較方便。而SVM的理解和優(yōu)化相對(duì)來(lái)說(shuō)復(fù)雜一些历筝,SVM轉(zhuǎn)化為對(duì)偶問(wèn)題后,分類只需要計(jì)算與少數(shù)幾個(gè)支持向量的距離,這個(gè)在進(jìn)行復(fù)雜核函數(shù)計(jì)算時(shí)優(yōu)勢(shì)很明顯,能夠大大簡(jiǎn)化模型和計(jì)算酗昼。
5、logic 能做的 svm能做梳猪,但可能在準(zhǔn)確率上有問(wèn)題麻削,svm能做的logic有的做不了。
博客中的PPT筆記地址:https://github.com/enfangzhong/ML_Material
(感謝七月在線機(jī)器學(xué)習(xí)課程春弥。僅供學(xué)習(xí)交流,嚴(yán)禁用于商業(yè)用途)