導航:首頁 > 源碼編譯 > 線性回歸演算法的實現

線性回歸演算法的實現

發布時間:2023-12-29 23:09:10

『壹』 如何用js實現線性回歸演算法

可以用函數 regress( )來解決。
[b,bint,r,rint,stats] = regress(y,X)
b——擬合線性函數的系數
bint——系數b的置信區間
r——殘值向量
rint——殘值的置信區間
stats——檢驗統計量,第一值是回歸方程的置信度,第二值是F統計量,第三值是與F統計量相應的p值,當p值很小,說明回歸模型成立
X——自變數向量,X=[ones(3,1) x1 x2 x3]
y——應變數向量

『貳』 機器學習故事匯-線性回歸演算法

機器學習故事匯-線性回歸演算法
今天咱們要來嘮的是機器學習中最基本也是最重要的演算法之一線性回歸,正當此時迪哥正在前往銀行的路上,准備辦理貸款(低保),到了之後銀行問了我兩件事,年齡和工資都多少呀?(特徵)當得到了結果後告訴我我們只能貸給你100塊,別問為什麼!機器算的!(機器你拿毛線算的100快?)

這個圖就是機器如何進行預測的(回歸)它會根據一票子兄弟貸款的歷史數據(年齡和工資分別對應於X1與X2)找出來最好的擬合線(面)來進行預測,這樣你的數據來了之後直接帶入進去就可以得出來該給你多少錢了。

我們用兩個參數來分別對應於工資和年齡,控制它們對結果的影響大小,這里做了一個整合是把偏置項和權重參數項放到了一起(加了個X0讓其都等於1)
要想讓銀行能開的下去,那就得少遇到點麻煩,迪哥這么大碗就給我100塊(真實的指標應該為200塊)肯定是要砸場子的,所以我們的目標是要讓得到的預測值跟真實值越接近越好。

既然說到誤差了,咱們就來好好嘮一下,首先銀行的目標得讓誤差越小越好,這樣才能夠使得我們的結果是越准確的。那麼這個誤差有什麼規律可循嗎?

咱們先來說說這個誤差為啥會服從高斯分布呢,這個事就得從我們是怎麼認為一個事發生的概率來說了,正常情況下你去銀行貸款差不多都是一個符合你的數字吧,極小的情況下能出現類似迪哥的情況(100塊都不給我),還是極小的情況下能像對待馬雲似的給你幾個億吧,所以銀行給你貸款的誤差項理論上都是在較小范圍內浮動的,要麼多了一點,要麼少了一點。所以我們認為該誤差是可以服從高斯分布的(正太分布)。
那為啥會獨立呢?獨立的意思就是說迪哥來貸款了,恰好馬雲也來了,但是我倆不認識啊(其實他認識我,我不認識他),所以我倆在貸款的時候不會因為馬雲而對我產生什麼影響,也不會因為我對馬雲產生什麼影響,這就是獨立!
同分布又是啥呢?我和馬雲來的是一家銀行吧,這家銀行的系統只有一個,所以它在預測的時候是按照同樣的方式來的,這就是我們的數據是在同一個分布下去建模的。

既然誤差服從了高斯分布我們就把它進行展開,上式的意思就是我去貸款,在它這兩組參數的控制下得到的貸款金額恰好是等於真實情況下就該給我這么多錢的概率。(預測值和真實值對應的可能性大小)那麼我們當然希望這個概率越大越好呀,越大代表越准確呀。

(怎麼又來了一堆數學。。。沒人數學就不是機器學習啦)咱們繼續來看,咋又突然出來了個似然函數呀,咱們先來說一說它是個什麼東西。比如說你今天去賭場了,然後你不知道能不能贏錢,你就在門口蹲著,出來一個人你就問一下,哥們贏錢了嗎(然後挨了一頓揍),連續出來5個人都告訴你贏錢了,那麼你就會認為我去賭錢也肯定會贏錢。這個的意思就是要利用樣本數據去估計你的參數應該是什麼,使得估計出來的參數盡可能的滿足(擬合)你的樣本。
對數似然它的意思和目標很簡單,就是為了簡單求解,所以把比較復雜的乘法運算轉換成了比較簡單的加法運算。

一頓化簡,其實就是把原式給展開了,然後我們的目標是要求最大值吧(什麼樣的參數能夠使得跟我數據組合完之後是真實值的概率越大越好),對於化簡後的結果左邊是一個常數不用去管,右邊是一個恆正的(因為有平方項)但是前面還有一個負號呀,讓這樣的數什麼時候能取最大值呀?只有負號後面的取最小值才可以呀!
到這里我們終於推導出來了,銀行只需要做一件事就可以了,那就是最小化這個函數(目標函數),其實說白了就是要讓我們的預測值和真實值之間的差異越小越好,這就是最小二乘法!

接下來就是如何求解呢?通常我們去求偏導就可以了,因為極值點通常都是在偏導處取得,對我們的目標函數求偏導,並且讓其等於0,這樣我們就能找到最終參數的解應該是什麼了!到這里小夥伴們可能感覺到竟然真能求出這個解,那這個解不就是我們想要的參數嘛,得到了它銀行就有救啦!
至此我們通過了一系列的推導得出了線性回歸的最終解法,但是這個解可以說是數學上的一個巧合,並不是所有問題都可以直接求解的,下回咱們再談談如何間接的求最優解~

『叄』 機器學習的方法之回歸演算法

我們都知道,機器學習是一個十分實用的技術,而這一實用的技術中涉及到了很多的演算法。所以說,我們要了解機器學習的話就要對這些演算法掌握通透。在這篇文章中我們就給大家詳細介紹一下機器學習中的回歸演算法,希望這篇文章能夠幫助到大家。
一般來說,回歸演算法是機器學習中第一個要學習的演算法。具體的原因,第一就是回歸演算法比較簡單,可以讓人直接從統計學過渡到機器學習中。第二就是回歸演算法是後面若干強大演算法的基石,如果不理解回歸演算法,無法學習其他的演算法。而回歸演算法有兩個重要的子類:即線性回歸和邏輯回歸。
那麼什麼是線性回歸呢?其實線性回歸就是我們常見的直線函數。如何擬合出一條直線最佳匹配我所有的數據?這就需要最小二乘法來求解。那麼最小二乘法的思想是什麼呢?假設我們擬合出的直線代表數據的真實值,而觀測到的數據代表擁有誤差的值。為了盡可能減小誤差的影響,需要求解一條直線使所有誤差的平方和最小。最小二乘法將最優問題轉化為求函數極值問題。
那麼什麼是邏輯回歸呢?邏輯回歸是一種與線性回歸非常類似的演算法,但是,從本質上講,線型回歸處理的問題類型與邏輯回歸不一致。線性回歸處理的是數值問題,也就是最後預測出的結果是數字。而邏輯回歸屬於分類演算法,也就是說,邏輯回歸預測結果是離散的分類。而邏輯回歸演算法劃出的分類線基本都是線性的(也有劃出非線性分類線的邏輯回歸,不過那樣的模型在處理數據量較大的時候效率會很低),這意味著當兩類之間的界線不是線性時,邏輯回歸的表達能力就不足。下面的兩個演算法是機器學習界最強大且重要的演算法,都可以擬合出非線性的分類線。這就是有關邏輯回歸的相關事項。
在這篇文章中我們簡單給大家介紹了機器學習中的回歸演算法的相關知識,通過這篇文章我們不難發現回歸演算法是一個比較簡答的演算法,回歸演算法是線性回歸和邏輯回歸組成的演算法,而線性回歸和邏輯回歸都有自己實現功能的用處。這一點是需要大家理解的並掌握的,最後祝願大家能夠早日學會回歸演算法。

『肆』 線性回歸演算法原理(越詳細越好)

線性回歸是利用數理統計中的回歸分析,來確定兩種或兩種以上變數間相互依賴的定量關系的一種統計分析方法之一,運用十分廣泛。

分析按照自變數和因變數之間的關系類型,可分為線性回歸分析和非線性回歸分析。

如果在回歸分析中,只包括一個自變數和一個因變數,且二者的關系可用一條直線近似表示,這種回歸分析稱為一元線性回歸分析。如果回歸分析中包括兩個或兩個以上的自變數,且因變數和自變數之間是線性關系,則稱為多元線性回歸分析。

我們以一簡單數據組來說明什麼是線性回歸。假設有一組數據型態為y=y(x),其中

x={0,1,2,3,4,5},y={0,20,60,68,77,110}

如果我們要以一個最簡單的方程式來近似這組數據,則非一階的線性方程式莫屬。先將這組數據繪圖如下

圖中的斜線是我們隨意假設一階線性方程式y=20x,用以代表這些數據的一個方程式。以下將上述繪圖的MATLAB指令列出,並計算這個線性方程式的y值與原數據y值間誤差平方的總合。

>>x=[012345];

>>y=[020606877110];

>>y1=20*x;%一階線性方程式的y1值

>>sum_sq=sum(y-y1).^2);%誤差平方總合為573

>>axis([-1,6,-20,120])

>>plot(x,y1,x,y,'o'),title('Linearestimate'),grid

如此任意的假設一個線性方程式並無根據,如果換成其它人來設定就可能採用不同的線性方程式;所以我們須要有比較精確方式決定理想的線性方程式。我們可以要求誤差平方的總合為最小,做為決定理想的線性方程式的准則,這樣的方法就稱為最小平方誤差(leastsquareserror)或是線性回歸。MATLAB的polyfit函數提供了從一階到高階多項式的回歸法,其語法為polyfit(x,y,n),其中x,y為輸入數據組n為多項式的階數,n=1就是一階的線性回歸法。polyfit函數所建立的多項式可以寫成

從polyfit函數得到的輸出值就是上述的各項系數,以一階線性回歸為例n=1,所以只有二個輸出值。如果指令為coef=polyfit(x,y,n),則coef(1)=,coef(2)=,...,coef(n+1)=。注意上式對n階的多項式會有n+1項的系數。我們來看以下的線性回歸的示範:

>>x=[012345];

>>y=[020606877110];

>>coef=polyfit(x,y,1);%coef代表線性回歸的二個輸出值

>>a0=coef(1);a1=coef(2);

>>ybest=a0*x+a1;%由線性回歸產生的一階方程式

>>sum_sq=sum(y-ybest).^2);%誤差平方總合為356.82

>>axis([-1,6,-20,120])

>>plot(x,ybest,x,y,'o'),title('Linearregressionestimate'),grid

[編輯本段]線性回歸擬合方程

一般來說,線性回歸都可以通過最小二乘法求出其方程,可以計算出對於y=bx+a的直線,其經驗擬合方程如下:

閱讀全文

與線性回歸演算法的實現相關的資料

熱點內容
土豆app下載了怎麼注冊 瀏覽:841
雲伺服器一般租多大 瀏覽:467
屏幕錄制app怎麼樣 瀏覽:684
義烏市聯DNS伺服器地址 瀏覽:669
App二級頁面怎麼做 瀏覽:956
提高pdf清晰度 瀏覽:979
伺服器網卡mac地址怎麼查 瀏覽:114
裁決之地伺服器為什麼這么卡 瀏覽:597
民生app怎麼查保險 瀏覽:467
單片機藍牙驅動代碼 瀏覽:467
php實現多選後公開 瀏覽:645
map中的值為數組的怎麼編程 瀏覽:261
加密貨幣怎麼登錄 瀏覽:1002
如何看本機伺服器實例名 瀏覽:388
變頻器加密密碼 瀏覽:796
美國銀行加密市場 瀏覽:384
我的世界伺服器如何tp玩家 瀏覽:26
app下載統計怎麼找 瀏覽:264
荔枝app怎麼看適合自己的發型 瀏覽:371
魔獸世界client文件夾 瀏覽:541