機器學習大作業1

2021-10-05 18:16:32 字數 1859 閱讀 4811

晚上不想看編譯原理了,就把吳恩達老師第一次的大作業看了一下。我是用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 ...