CS229 1 .线性回归与特征归一化(feature scaling)
線性回歸是一種回歸分析技術(shù),回歸分析本質(zhì)上就是一個函數(shù)估計的問題(函數(shù)估計包括參數(shù)估計和非參數(shù)估計),就是找出因變量和自變量之間的因果關(guān)系。回歸分析的因變量是應(yīng)該是連續(xù)變量,若因變量為離散變量,則問題轉(zhuǎn)化為分類問題,回歸分析是一個有監(jiān)督學習問題。
線性其實就是一系列一次特征的線性組合,在二維空間中是一條直線,在三維空間中是一個平面,然后推廣到n維空間,可以理解維廣義線性吧。
例如對房屋的價格預(yù)測,首先提取特征,特征的選取會影響模型的精度,比如房屋的高度與房屋的面積,毫無疑問面積是影響房價的重要因素,二高度基本與房價不相關(guān)
下圖中挑選了 面積、我是數(shù)量、層數(shù)、建成時間四個特征,然后選取了一些train Set{x(i)?, y(i)}。
?有了這些數(shù)據(jù)之后就是進行訓(xùn)練,下面附一張有監(jiān)督學習的示意圖
Train Set 根據(jù) 學習算法得到模型h,對New Data x,直接用模型即可得到預(yù)測值y,本例中即可得到房屋大小,其實本質(zhì)上就是根據(jù)歷史數(shù)據(jù)來發(fā)現(xiàn)規(guī)律,事情總是偏向于向歷史發(fā)生過次數(shù)多的方向發(fā)展。
下面就是計算模型了,才去的措施是經(jīng)驗風險最小化,即我們訓(xùn)練模型的宗旨是,模型訓(xùn)練數(shù)據(jù)上產(chǎn)生結(jié)果,?要與實際的y(i)越接近越好(假定x0?=1),定義損失函數(shù)J(θ)如下,即我們需要損失函數(shù)越小越好,本方法定義的J(θ)在最優(yōu)化理論中稱為凸(Convex)函數(shù),即全局只有一個最優(yōu)解,然后通過梯度下降算法找到最優(yōu)解即可,梯度下降的形式已經(jīng)給出。
?
?
梯度下降的具體形式:關(guān)于梯度下降的細節(jié),請參閱?梯度下降詳解
局部加權(quán)回歸
有時候樣本的波動很明顯,可以采用局部加權(quán)回歸,如下圖,紅色的線為局部加權(quán)回歸的結(jié)果,藍色的線為普通的多項式回歸的結(jié)果。藍色的線有一些欠擬合了。
局部加權(quán)回歸的方法如下,首先看線性或多項式回歸的損失函數(shù)“
很明顯,局部加權(quán)回歸在每一次預(yù)測新樣本時都會重新確定參數(shù),以達到更好的預(yù)測效果。當數(shù)據(jù)規(guī)模比較大的時候計算量很大,學習效率很低。并且局部加權(quán)回歸也不是一定就是避免underfitting,因為那些波動的樣本可能是異常值或者數(shù)據(jù)噪聲。
?
在求解線性回歸的模型時,有兩個需要注意的問題
一就是特征組合問題,比如房子的長和寬作為兩個特征參與模型的構(gòu)造,不如把其相乘得到面積然后作為一個特征來進行求解,這樣在特征選擇上就做了減少維度的工作。
二就是特征歸一化(Feature Scaling),這也是許多機器學習模型都需要注意的問題。
有些模型在各個維度進行不均勻伸縮后,最優(yōu)解與原來不等價,例如SVM。對于這樣的模型,除非本來各維數(shù)據(jù)的分布范圍就比較接近,否則必須進行標準化,以免模型參數(shù)被分布范圍較大或較小的數(shù)據(jù)dominate。有些模型在各個維度進行不均勻伸縮后,最優(yōu)解與原來等價,例如logistic regression。對于這樣的模型,是否標準化理論上不會改變最優(yōu)解。但是,由于實際求解往往使用迭代算法,如果目標函數(shù)的形狀太“扁”,迭代算法可能收斂得很慢甚至不收斂。所以對于具有伸縮不變性的模型,最好也進行數(shù)據(jù)標準化。
歸一化后有兩個好處:
1. 提升模型的收斂速度
如下圖,x1的取值為0-2000,而x2的取值為1-5,假如只有這兩個特征,對其進行優(yōu)化時,會得到一個窄長的橢圓形,導(dǎo)致在梯度下降時,梯度的方向為垂直等高線的方向而走之字形路線,這樣會使迭代很慢,相比之下,右圖的迭代就會很快
?
2.提升模型的精度
歸一化的另一好處是提高精度,這在涉及到一些距離計算的算法時效果顯著,比如算法要計算歐氏距離,上圖中x2的取值范圍比較小,涉及到距離計算時其對結(jié)果的影響遠比x1帶來的小,所以這就會造成精度的損失。所以歸一化很有必要,他可以讓各個特征對結(jié)果做出的貢獻相同。
下邊是常用歸一化方法
1). 線性歸一化,線性歸一化會把輸入數(shù)據(jù)都轉(zhuǎn)換到[0 1]的范圍,公式如下
該方法實現(xiàn)對原始數(shù)據(jù)的等比例縮放,其中Xnorm為歸一化后的數(shù)據(jù),X為原始數(shù)據(jù),Xmax、Xmin分別為原始數(shù)據(jù)集的最大值和最小值。
2).?0均值標準化,0均值歸一化方法將原始數(shù)據(jù)集歸一化為均值為0、方差1的數(shù)據(jù)集,歸一化公式如下:
其中,μ、σ分別為原始數(shù)據(jù)集的均值和方法。該種歸一化方式要求原始數(shù)據(jù)的分布可以近似為高斯分布,否則歸一化的效果會變得很糟糕。
關(guān)于歸一化方法的選擇
1) 在分類、聚類算法中,需要使用距離來度量相似性的時候、或者使用PCA技術(shù)進行降維的時候,第二種方法(Z-score standardization)表現(xiàn)更好。
2) 在不涉及距離度量、協(xié)方差計算、數(shù)據(jù)不符合正太分布的時候,可以使用第一種方法或其他歸一化方法。比如圖像處理中,將RGB圖像轉(zhuǎn)換為灰度圖像后將其值限定在[0 255]的范圍。
選擇方法是參考自http://blog.csdn.net/zbc1090549839/article/details/44103801,至于為什么,我現(xiàn)在也還不清楚
線性回歸,我用java實現(xiàn)的,源碼地址?https://github.com/ooon/toylib
?
參考文獻:
http://www.cnblogs.com/LBSer/p/4440590.html
轉(zhuǎn)載于:https://www.cnblogs.com/alan-blog-TsingHua/p/10018864.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的CS229 1 .线性回归与特征归一化(feature scaling)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 四五六年级计算机教学计划,五六年级信息技
- 下一篇: java高并发编程讲解_有人看过 jav