监督学习—最小二乘法
原文作者:馬同學
原文地址:最小二乘法的本質(zhì)是什么?
?最小平方法是十九世紀統(tǒng)計學的主題曲。從許多方面來看,它之于統(tǒng)計學就相當于十八世紀的微積分之于數(shù)學。
---史蒂芬-史蒂格勒《The History of Statics》
目錄
一、日用而不知
二、最小二乘法
三、推廣
四、最小二乘法與正太分布
五、skleran的LR模型使用
一、日用而不知
來看一個生活中的例子,比如有5把尺子,如下圖所示:
用他們分別測量一線段的長度,得到的數(shù)值分別為(顏色指不同的尺子):
| 紅 | 10.2 |
| 藍 | 10.3 |
| 橙 | 9.8 |
| 黃 | 9.9 |
| 綠 | 9.8 |
之所以出現(xiàn)的不同的值,可能因為:
- 不同廠家生產(chǎn)的尺子,精度不同
- 材質(zhì)不同,熱脹冷縮不一樣
- 測量的時候心情起伏不定
- 。。。。
總之就是有誤差,這種情況下,一般取平均值來作為線段的長度:
日常中就是這么使用的,可是作為很事er的數(shù)學愛好者,自然要想下:
- 這樣做有道理么?
- 用調(diào)和平均數(shù)行不行?
- 用中位數(shù)行不行?
- 用幾何平均數(shù)行不行?
二、最小二乘法
換一種思路來思考剛才的問題,首先把測試得到的值畫在笛卡爾坐標系中,分別記做yi:
首先,要把猜測的線段長度的真實值用平行于橫軸的直線來表示,因為是猜測的,所以用虛線畫,記做y:
每個點都向y做垂線,垂線的長度就是|y-yi|,也可以理解為測量值和真實值之間的誤差:
因為誤差是長度還要取絕對值,計算起來麻煩,就干脆用平方來代表誤差:
?誤差的平方和就是:
因為y是猜測的,可以不斷變化:
自然誤差的平方和是不斷變化的,
法國數(shù)學家,阿德里安-馬里·勒讓德提出讓總的誤差的平方最小的y值就是真值,這是基于,如果誤差是隨機的,應該圍繞真值上下波動,(關(guān)于這點可以看下如何理解無偏估計)。勒讓德的想法變成代數(shù)式就是:
這個猜想也蠻符合直覺的,來算一下。這是一個二次函數(shù),對其求導,導數(shù)為0的時候取得最小值:
正好是算數(shù)平均數(shù)。原來算數(shù)平均數(shù)可以讓誤差最小啊,這樣看來選用它顯得講道理了。以下這種方法就是最小二乘法,所謂二乘就是平方的意思,臺灣直接翻譯為最小平方法
三、推廣
算數(shù)平均數(shù)只是最小二乘法的特例,適用范圍比較狹窄,而最小二乘法用途就比較廣泛。比如溫度與冰淇淋的銷量:
看上去像某種線性關(guān)系:
可以假設(shè)這種線性關(guān)系為:
通過最小二乘法的思想:
上圖的i、y、x分別為:
總的誤差平方為:
不同的a、b會導致不同的誤差平方,根據(jù)多元微積分的知識,當:
這個時候誤差平方取最小值。對于a、b而言,上述方程組為線性方程組,用之前的數(shù)據(jù)解出來,
也就是這跟直線:
其實還可以假設(shè):
在這個假設(shè)下,可以根據(jù)最小二乘法,算出a、b、c,得到下面這個紅色的曲線:
同一組數(shù)據(jù),選擇不同的f(x),通過最小二乘法可以得到不一樣的擬合曲線:
不同的數(shù)據(jù),更可以選擇不同的f(x),通過最小二乘法可以得到不一樣的擬合曲線:
?f(x)也不能選擇任意的函數(shù),還是有一些講究的,這里就不介紹了。
四、最小二乘法與正太分布
我們對勒讓德的猜測,即最小二乘法,仍然抱有懷疑,萬一這個猜測是錯誤的怎么辦?
?數(shù)學王子高斯也想我們一樣持有懷疑,高斯換了一個思考框架,通過統(tǒng)計論那一套來思考
五、skleran的LR模型使用
LinearRegression?擬合一個帶有系數(shù)??的線性模型,使得數(shù)據(jù)集實際觀測數(shù)據(jù)和預測數(shù)據(jù)(估計值)之間的誤差平方和最小。其數(shù)學表達式為:
?
LinearRegression?會調(diào)用?fit?方法來擬合數(shù)組(x,y),并且將線性模型的系數(shù)??存儲在其成員變量?coef_?中:
>>> from sklearn import linear_model >>> reg = linear_model.LinearRegression() >>> reg.fit ([[0, 0], [1, 1], [2, 2]], [0, 1, 2]) LinearRegression(copy_X=True, fit_intercept=True, n_jobs=1, normalize=False) >>> reg.coef_ array([ 0.5, 0.5])然而,對于最小二乘的系數(shù)估計問題,其依賴于模型各項的相互獨立性。當各項是相關(guān)的,且設(shè)計矩陣??的各列近似線性相關(guān),那么,設(shè)計矩陣會趨向于奇異矩陣,這會導致最小二乘估計對于隨機誤差非常敏感,產(chǎn)生很大的方差。例如,在沒有實驗設(shè)計的情況下收集到的數(shù)據(jù),這種多重共線性(multicollinearity)的情況可能真的會出現(xiàn)。
總結(jié)
以上是生活随笔為你收集整理的监督学习—最小二乘法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 算法测试—机器学习算法评价指标
- 下一篇: sklearn应用—高斯混合