日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

正则化最小二乘法——神经网络与机器学习笔记2

發(fā)布時(shí)間:2023/12/14 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 正则化最小二乘法——神经网络与机器学习笔记2 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

參考Andrew Ng 公開課的推導(dǎo)

一些公式

trA=ni=1Aii
trAB=trBA
trABC=trCBA=trBCA
trA=trAT
if aR, tra=a
?AtrAB=BT
?AtrABATC=CAB+CTABT
?θJ=??????????J?θ0?J?θ1??J?θn?????????
?Af(A)=???????f?A11??A?An1????A?A1n??A?Ann??????

正則化最小二乘法推導(dǎo)

對于花費(fèi)函數(shù)J=i(d(i)?wTx)+λwTw ,為使它取最小值,則應(yīng)取?wJ=0.

J=i(d(i)?wTx)+λwTw=(D?XTw)2+λwTw=(DT?wTX)(D?XTw)+λwTw=DTD?wTXD?DTXTw+wTXXTw+λwTw=trDTD?trwTXD?trDTXTw+trwTXXTw+trλwTw=trDTD?2trDTXTw+trwTXXTw+trλwTw
?wJ=?2?wtrwTXD+?wtrwTXXTw+?wtrλwTw
?wtrDTXTw=?wtrwDTXT?(trAB=trBA=XD?(?AtrAB=BT
?wtrwTXXTw=?wtrwwTXXT?(trABC=trCBA=trBCA)=?wtrwIwTXXT=XXTwI+XXTwI?(?AtrABATC=CAB+CTABT)=2XXTw
?wtrλwTw=?wtrλwwT=λ?wtrwIwTI=2λw
所以,
XXTw+λw(XXT+λI)ww=XD=XD=(XXT+λI)?1XD
綜上得出正則化最小二乘法公式: w=(XXT+λI)?1XD
當(dāng) λ=0時(shí)即為常規(guī)的最小二乘法公式: w=(XXT)?1XD

利用正則化最小二乘法進(jìn)行訓(xùn)練

function [w errRate cost] = RegularizedLeastSquares(x,d,lambda) if nargin==2lambda=0; end [n,m]=size(x); w=(x*x'+lambda*eye(n,n))\x*d; y=sign(x'*w); %錯誤率 errRate=sum(d~=y)/m; %花費(fèi)函數(shù) cost=sum((d-y).^2)+lambda*w'*w; end

測試,隨機(jī)數(shù)的產(chǎn)生參考http://blog.csdn.net/jinjgkfadfaf/article/details/53200819

close all; %產(chǎn)生隨機(jī)數(shù) n1=1000;n2=1000;n=n1+n2; [x1,y1,x2,y2]=GenRandomData(8,-5,3,n1,n2); samps=[ones(n1,1),x1, y1;ones(n2,1),x2,y2]; d=[ones(n1,1);-ones(n2,1)]; %打亂順序 % randI=randperm(n); % samps(randI,:)=samps(1:n,:); % d(randI)=d(1:n); %利用感知機(jī)進(jìn)行訓(xùn)練 w0 = [-10;-10;-10];etaLim = 5e-6;x = samps';epochN =5000; %[w, err] = Rosenblatt(x,d,w0,etaLim,epochN) %[w, err] = RosenblattStpDes(x,d,w0,etaLim,epochN) lambda=0.1; [w errRate cost] = RegularizedLeastSquares(x,d,lambda) %畫圖 figure; plot(x1,y1,'Marker','x','Color','r','LineStyle','none'); hold on; plot(x2,y2,'Marker','o','Color','b','LineStyle','none'); xx=[-10:0.1:10]; yy=-w(2,1)*xx/w(3,1)-w(1,1)/w(3,1); plot(xx,yy,'k');

測試結(jié)果,距離為1

距離為-5

總結(jié)

以上是生活随笔為你收集整理的正则化最小二乘法——神经网络与机器学习笔记2的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。