資源簡介
使用多項(xiàng)式擬合一個(gè)周期內(nèi)、加入噪聲的正弦曲線。 語言:MATLAB 求解方式:由于自己寫的梯度下降函數(shù)收斂太慢,因此調(diào)用MATLAB梯度下降優(yōu)化函數(shù);后期用共軛梯度方法求解,收斂較快。代碼都在里面,但是比較亂。
代碼片段和文件信息
function?w?=?descent(X?y?lam)
INIT?=?100;
LIMIT?=?1e-3;
delta?=?1;
learn_rate?=?1e-12;
SIZE?=?size(X);
N?=?SIZE(1);
M?=?SIZE(2);
w?=?INIT?*?ones(M?1);
loss?=?1/N*(X*w-y)‘*(X*w-y)?+?lam*sqrt(w‘*w);
count?=?0;
%subplot(414)
while?delta?>=?LIMIT
????count?=?count+1;
????dw?=?2/N*X‘*X*w?-?2/N*X‘*y?+?lam*(w‘*w)^(-0.5)*w;
????w?=?w?-?learn_rate?*?dw;
????t?=?1/N*(X*w-y)‘*(X*w-y)?+?lam*sqrt(w‘*w);
????delta?=?loss?-?t
????loss?=?t;
????%scatter(countdelta);hold?on;
end
count
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件?????????224??2015-10-17?19:53??data.txt
?????文件?????????300??2015-11-11?22:56??descent.asv
?????文件?????????499??2015-11-12?18:33??descent.m
?????文件?????????994??2015-11-12?16:18??goodlambda.asv
?????文件????????1003??2015-11-12?17:23??goodlambda.m
?????文件???????27715??2015-10-17?11:33??poly_fit_sin.jpg
?????文件?????????780??2015-10-17?20:17??poly_sin.asv
?????文件?????????781??2015-11-08?17:29??poly_sin.m
?????文件?????????206??2015-10-17?19:57??produceData.m
?????文件???????20165??2015-10-17?19:38??regularization.jpg
?????文件???????24953??2015-10-17?20:27??regularization2.jpg
?????文件????????1003??2015-11-12?18:27??test_descent.m
?????文件?????????105??2015-10-17?19:31??tmp.m
?????文件?????????993??2015-11-17?20:21??x.mat
評(píng)論
共有 條評(píng)論