機器學習 線性回歸

2022-09-01 03:39:10 字數 1715 閱讀 8620

看完前三節課程啦,感覺概念還是分開理還可以,但是所有的拼湊在一起又覺得並不是很明朗,有種中學時代只聽課不做練習的感覺。

今天主要是記錄一下malab的理解**。

回歸問題,依舊是用房屋問題作為典型的代表,理論部分就不再這裡記錄了,因為手寫版的理解筆記有了就好了。下面就是簡要概述下流程:

prediction=theta*x

目標是調整theta,使得對於每乙個x對應的prediction盡可能的接近對應的y.

sqrerror=(prediction-y).^2;

[m,n]=size(x);

cost: j=1/(2*m)*sum(sqrerror)

ok,思路都清楚了,下面就是matlab的實現。

%損失函式的定義。存放在專案目錄下,命名為costfunctionj。m

function j=costfunctionj(x,y,theta)

[m,n]=size(x);

prediction=x*theta;

sqrerror=(prediction-y).^2;

j=1/(2*m)*sum(sqrerror);

%功能:對於任意的theta,給出損失的大小,也就是誤差大小。

%載入資料集

house=load('house.txt');

x=(:,1,2);%所有行,1,2,列(都是我自己的理解,沒學過matlab)

y=(:,3);

hold on %顯示乙個2維座標軸。有不覆蓋原圖的功能

%標上x,y軸

xlabel x

ylabel y

%將(x,y)顯示在座標中

plot(x(:,2),y(:,1),'*');

%theta是自己隨便取的,

theta=[3.575;1.62];

j=costfunctionj(x,y,theta) %就會自動給出誤差啦

%之後就把你這個prediction表示在座標上

x=(0:1);

y=theta(1,:)+theta(2,:)*x;

plot(x,y,'r');%用紅色描繪

下面是用標準方程的方法,參考【

%標準方程解回歸問題

%standregres.m

function [theta] = standregres(x,y)

[m,n] = size(x);

xtx=x'*x;

if det(xtx) == 0

disp('this matrix is singular,can not do inverse');

endtheta =pinv(xtx)*x'*y;

end%下面是對函式的呼叫:

house=load('house.txt');

x=(:,1,2);%所有行,1,2,列(都是我自己的理解,沒學過matlab)

y=(:,3);

hold on %顯示乙個2維座標軸。有不覆蓋原圖的功能

%標上x,y軸

xlabel x

ylabel y

%將(x,y)顯示在座標中

plot(x(:,2),y(:,1),'*');

theta = standregres(x,y);

x=(0:1);

y=theta(1,:)+theta(2,:)*x;

plot(x,y,'g');%用綠色描繪

機器學習 線性回歸

可以說基本上是機器學習中最簡單的模型了,但是實際上其地位很重要 計算簡單 效果不錯,在很多其他演算法中也可以看到用lr作為一部分 先來看乙個小例子,給乙個 線性回歸是什麼 的概念。圖來自 2 假設有乙個房屋銷售的資料如下 面積 m 2 銷售價錢 萬元 123 250 150 320 87 160 1...

機器學習(線性回歸)

在機器學習中,回歸 分類和標註共同構成了監督學習技術。監督學習 supervised learning 是機器學習在工業界應用最廣的乙個領域分支。在學術界中也是研究最多的領域之一。大家都知道的資料探勘十大經典演算法中,監督學習技術佔據6席。方法 自變數 特徵 因變數 結果 關係 回歸演算法是試圖採用...

機器學習 線性回歸

line fitter linearregression 建立模型 line fitter.fit temperature,sales 傳入引數 sales predict line fitter.predict temperature 模型 直線 直線上會有loss 計算loss時 要使用平方距離...