欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python機(jī)器學(xué)習(xí)MATLAB最小二乘法的兩種解讀

 更新時(shí)間:2022年02月09日 09:47:23   作者:slandarer  
這篇文章主要為大家介紹了python機(jī)器學(xué)習(xí)中MATLAB最小二乘法的兩種解讀方式,有需要的朋友可以借鑒參考下希望能夠有所幫助

最小二乘法

大部分的最小二乘法公式推導(dǎo),都是使用的 代價(jià)函數(shù)偏導(dǎo) 的方式來求得的,在這里首先展示如何通過代價(jià)函數(shù)求偏導(dǎo)的方式得到最小二乘公式,再展示李揚(yáng)老師講解的如何由向量到子空間的距離得來最小二乘法公式。

代價(jià)函數(shù)與最小二乘法

假設(shè)我們的擬合結(jié)果為:

則平方損失函數(shù)為:

平方損失函數(shù)的形式只有極小值,沒有極大值,我們要使代價(jià)函數(shù)最小,我們要找到其極值點(diǎn),即偏導(dǎo)均為0的點(diǎn),代價(jià)函數(shù)對(duì)于各參數(shù)偏導(dǎo)如下:

令偏導(dǎo)為0得:

實(shí)際上若是令:

則有:

向量到子空間的距離與最小二乘法

最小二乘法與多項(xiàng)式擬合

以下展示自己編寫最小二乘法擬合多項(xiàng)式與MATLAB自帶函數(shù) polyfit 擬合多項(xiàng)式的參數(shù)對(duì)比,注意,為了和MATLAB自帶函數(shù)保持一致,θ向量變?yōu)榈谝粋€(gè)參數(shù)為 θn  ,最后一個(gè)參數(shù)為 θo  , X 矩陣也做了相應(yīng)的調(diào)整:

% 最小二乘法多項(xiàng)式擬合
% 原三次函數(shù)+隨機(jī)噪聲
f=@(x)x.^3+6.*x.^2-2.*x+4+(rand(size(x))-.5).*20;
% 構(gòu)造原始數(shù)據(jù)
x=-5:.1:5;
y=f(x);
% 自己寫一個(gè)最小二乘
n=3;% 最高次數(shù)為三次
X=(x').^(n:-1:0);
theta1=((X'*X)\X'*y')';
% MATLAB自帶多項(xiàng)式擬合
theta2=polyfit(x,y,n);
% 輸出對(duì)比
disp(theta1)
disp(theta2)
% 一個(gè)小技巧,下面的寫法能夠快速將
% 參數(shù)向量變成有關(guān)x的多項(xiàng)式匿名函數(shù)
func=matlabFunction(poly2sym(theta1));

 theta1=
0.9686 6.0178 -1.8845 4.3362
theta2=
0.9686 6.0178 -1.8845 4.3362

多項(xiàng)式擬合結(jié)果繪圖:

% 繪圖部分
% 保持坐標(biāo)區(qū)域不刷新并添加網(wǎng)格
ax=gca;hold(ax,'on');grid(ax,'on');
% 繪制原數(shù)據(jù)點(diǎn)和擬合結(jié)果
plot(x,y,'o','MarkerFaceColor',[94,142,179]./255);
plot(x,func(x),'Color',[0,64,115]./255,'LineWidth',2);
% 修飾一下
ax.FontName='cambria';
ax.LineWidth=1.5;
ax.GridLineStyle='--';
ax.XColor=[1,1,1].*.3;
ax.YColor=[1,1,1].*.3;
ax.ZColor=[1,1,1].*.3;

最小二乘法與多元線性回歸

以下展示自己編寫最小二乘法進(jìn)行多元線性回歸與MATLAB自帶函數(shù) regress 進(jìn)行多元線性回歸的參數(shù)對(duì)比:

% 最小二乘法多元線性回歸
% 原二元函數(shù)+隨機(jī)噪聲
f=@(x1,x2) 3.*x1+4.*x2+5+(rand(size(x1))-.5).*10;
% 構(gòu)造原始數(shù)據(jù)
[x1,x2]=meshgrid(-5:.5:5,-5:.5:5);
y=f(x1,x2);
% 自己寫一個(gè)最小二乘
X=[x1(:),x2(:),ones(size(x1(:)))];
theta1=((X'*X)\X'*y(:));
% MATLAB多元線性回歸
theta2=regress(y(:),X);
% 輸出對(duì)比
disp(theta1)
disp(theta2)
% 構(gòu)造擬合結(jié)果的二元匿名函數(shù)
func=matlabFunction([sym('x1'),sym('x2'),1]*theta1);

theta1=
2.9285 4.0688 4.7520
theta2=
2.9285 4.0688 4.7520

多元線性回歸結(jié)果繪圖:

% 繪圖部分
% 保持坐標(biāo)區(qū)域不刷新并添加網(wǎng)格
ax=gca;hold(ax,'on');grid(ax,'on');
% 繪制原數(shù)據(jù)點(diǎn)和擬合結(jié)果
mesh(x1,x2,func(x1,x2),'FaceColor','flat','FaceAlpha',.8)
scatter3(x1(:),x2(:),y(:),20,'filled')
% 修飾一下
ax.FontName='cambria';
ax.LineWidth=1.5;
ax.GridLineStyle='--';
ax.XColor=[1,1,1].*.3;
ax.YColor=[1,1,1].*.3;
ax.ZColor=[1,1,1].*.3;
view(30,20)

以上就是python機(jī)器學(xué)習(xí)MATLAB最小二乘法的兩種解讀的詳細(xì)內(nèi)容,更多關(guān)于MATLAB最小二乘法解讀的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

  • Python實(shí)現(xiàn)簡單層次聚類算法以及可視化

    Python實(shí)現(xiàn)簡單層次聚類算法以及可視化

    這篇文章主要為大家詳細(xì)介紹了Python實(shí)現(xiàn)簡單層次聚類算法以及可視化,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • Python+OpenCV 實(shí)現(xiàn)簡單的高斯濾波(推薦)

    Python+OpenCV 實(shí)現(xiàn)簡單的高斯濾波(推薦)

    這篇文章主要介紹了Python+OpenCV 實(shí)現(xiàn)簡單的高斯濾波,在文中需要注意的是,這里我沒有特判當(dāng)sigma = 0的時(shí)候的情況,具體實(shí)現(xiàn)過程跟隨小編一起看看吧
    2021-09-09
  • python basemap 畫出經(jīng)緯度并標(biāo)定的實(shí)例

    python basemap 畫出經(jīng)緯度并標(biāo)定的實(shí)例

    今天小編就為大家分享一篇python basemap 畫出經(jīng)緯度并標(biāo)定的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • Python 反轉(zhuǎn)輸出正整數(shù)的操作

    Python 反轉(zhuǎn)輸出正整數(shù)的操作

    這篇文章主要介紹了Python 反轉(zhuǎn)輸出正整數(shù)的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • 用python生成(動(dòng)態(tài)彩色)二維碼的方法(使用myqr庫實(shí)現(xiàn))

    用python生成(動(dòng)態(tài)彩色)二維碼的方法(使用myqr庫實(shí)現(xiàn))

    今天小編就為大家分享一篇用python生成(動(dòng)態(tài)彩色)二維碼的方法(使用myqr庫實(shí)現(xiàn)),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • Python實(shí)現(xiàn)遍歷目錄的方法【測(cè)試可用】

    Python實(shí)現(xiàn)遍歷目錄的方法【測(cè)試可用】

    這篇文章主要介紹了Python實(shí)現(xiàn)遍歷目錄的方法,涉及Python針對(duì)目錄與文件的遍歷、判斷、讀取相關(guān)操作技巧,需要的朋友可以參考下
    2017-03-03
  • python中numpy數(shù)組與list相互轉(zhuǎn)換實(shí)例方法

    python中numpy數(shù)組與list相互轉(zhuǎn)換實(shí)例方法

    在本篇文章里小編給大家整理的是一篇關(guān)于python中numpy數(shù)組與list相互轉(zhuǎn)換實(shí)例方法,對(duì)此有興趣的朋友們可以學(xué)習(xí)下。
    2021-01-01
  • Python構(gòu)造函數(shù)及解構(gòu)函數(shù)介紹

    Python構(gòu)造函數(shù)及解構(gòu)函數(shù)介紹

    這篇文章主要介紹了Python構(gòu)造函數(shù)及解構(gòu)函數(shù)介紹,本文只是講解構(gòu)造及解構(gòu)函數(shù)的簡單知識(shí),需要的朋友可以參考下
    2015-02-02
  • 最新評(píng)論