晚上不想看編譯原理了,就把吳恩達老師第一次的大作業看了一下。我是用matlab寫的(和c++比真的簡單多了)。
還挺成功的,一次暴力一次梯度下降算出來的幾乎相等
這個是for for暴力跑出來的
**太醜就不放了
這是用梯度下降跑出來的,剛開始學習率太大調了一會
下面是自己寫的**
%
% data =
load
('ex1data1.txt');
% read comma separated data
% x =
data(:
,1); y =
data(:
,2);
% m =
length
(y);
dataa =
load
('ex1data1.txt');
% read comma separated data
xxa =
dataa(:
,1); yya =
dataa(:
,2);
ma =
length
(yya)
;% x=0:
0.01:2
*pi;
alpha=
0.003
;ans0=
0;ans1=
0;ansco=0;
te0=
2;te1=-1
;co=
ccost
(te0,te1)
;while
abs(ansco-co)
>=
0.00001
ans0=te0;ans1=te1;ansco=co;
% te0=ans0;te1=ans1;
for i=1:
1:ma
te1=te1-alpha*
(ans0*
xxa(i,1)
+ans1-
yya(i,1)
)*1/ma;
endfor i=1:
1:ma
te0=te0-alpha*
(ans0*
xxa(i,1)
+ans1-
yya(i,1)
)*xxa(i,1)
/ma;
endco=
ccost
(te0,te1)
;fprintf
('%f %f %f\n'
,te1,te0,co)
;
endfprintf
('%f %f %f '
,ans0,ans1,ansco)
; axx=0:
0.01:24
;
ayy=ans0*axx+ans1;
plot
(axx,ayy)
;hold on;
plot
(xxa, yya,
'rx'
,'markersize',10
);% plot the data
ylabel
('profit in $10,000s');
% set the y?axis label
xlabel
('population of city in 10,000s'
);
大作業學習總結
資料增強 一般而言,神經網路需要大量的引數,許許多多的神經網路的引數都是數以百萬計,而使得這些引數可以正確工作則需要大量的資料進行訓練,而實際情況中資料並沒有我們想象中的那麼多 作用增加訓練的資料量,提高模型的泛化能力 增加雜訊資料,提公升模型的魯棒性 如何獲得大量的資料 一種方法是獲得新的資料,這...
《機電傳動控制》大作業 作業1
概要設計文件 1.系統硬體介面定義 1.電梯外部人機互動介面 在電機外部,兩部電機都要有按鍵,2 有向上與向下的按鍵,只有向上按鍵,只有向下的按鍵。需要兩個led數字顯示管來顯示電梯目前所在樓層,需要四個led顯示屏來顯示電梯目前的執行方向狀態。2.電梯內部人機互動介面 在電梯內部,需要有1 7層的...
SDU機器學習作業心得1
這本天書簡直就讓人摸不到頭腦,翻到二十多頁已然是看不懂了。在懶人床的指點下,好歹有了一些想法。所以寫下這個部落格,為了讓跟我一樣看天書的小夥伴們一點幫助。樣本w1 w2w3 x1x2 x3x1 x2x3 x1x2x31 5.01 8.12 3.68 0.91 0.18 0.05 5.35 2.26 ...