-
大小: 1001B文件類(lèi)型: .m金幣: 1下載: 0 次發(fā)布日期: 2021-06-14
- 語(yǔ)言: Matlab
- 標(biāo)簽: 機(jī)器學(xué)習(xí)??機(jī)器智能??邏輯回歸??監(jiān)督學(xué)習(xí)??
資源簡(jiǎn)介
這是一個(gè)matlab對(duì)梯度下降的實(shí)現(xiàn),模擬的是x^2+y^2最小值的取得
代碼片段和文件信息
function?[]?=?gradient(step?threadhold)
%在這里主要是演示對(duì)z=x^2+y^2的用梯度下降算法
%設(shè)置x和y的初始值%
x?=?100;
y?=?100;
%先計(jì)算前兩個(gè)步驟的值
last_step_result?=?x*x?+?y*y;
x?=?x?-?step*2*x;
y?=?y?-?step*2*y;
this_step_result?=?x^2?+?y^2;
%設(shè)置最大迭代次數(shù)%
max_count?=?1000000000;
index?=?0;
while?(abs(this_step_result?-last_step_result)?>threadhold)?&&?(index???%計(jì)算此時(shí)的結(jié)果%
??current_dx?=?2*x;
??current_dy?=?2*y;
??%計(jì)算新的x和y
??x?=?x?-?step*curre
評(píng)論
共有 條評(píng)論