




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
本文格式為Word版,下載可任意編輯——機(jī)器學(xué)習(xí)上機(jī)作業(yè)
GradientDescent
1.題目描述:
用梯度下降法對(duì)所給數(shù)據(jù)進(jìn)行一元線性回歸。
2.算法描述及步驟:
回歸在數(shù)學(xué)上來(lái)說(shuō)是給定一個(gè)點(diǎn)集,能夠用一條曲線去擬合之,假使這個(gè)曲線是一條直線,那就被稱為線性回歸,假使曲線是一條二次曲線,就被稱為二次回歸,回歸還有好多的變種,如locallyweighted回歸,logistic回歸,等等。
對(duì)于梯度下降法來(lái)說(shuō),可以先對(duì)數(shù)據(jù)作出一個(gè)估計(jì)函數(shù):
θ在這兒稱為參數(shù),表示每個(gè)特征的重要性。為了假使我們令X0=1,就可以用向量的方式來(lái)表示了:
然后需要一個(gè)機(jī)制去評(píng)估θ是否比較好,所以說(shuō)需要對(duì)我們做出的h函數(shù)進(jìn)行評(píng)估,一般這個(gè)函數(shù)稱為損失函數(shù)(lossfunction)或者錯(cuò)誤函數(shù)(errorfunction),描述h函數(shù)不好的程度,在下面,我們稱這個(gè)函數(shù)為J函數(shù)。在這兒我們可以做出下面的一個(gè)錯(cuò)誤函數(shù):
梯度下降法是按下面的流程進(jìn)行的:
(1)首先對(duì)θ賦值,這個(gè)值可以是隨機(jī)的,也可以讓?duì)仁且粋€(gè)全零的向量。(2)改變?chǔ)鹊闹?,使得J(θ)按梯度下降的方向進(jìn)行減少。對(duì)于函數(shù)J(θ)求偏導(dǎo):
下面是更新的過(guò)程,也就是θi會(huì)向著梯度最小的方向進(jìn)行減少。θi表示
更新之前的值,-后面的部分表示按梯度方向減少的量,α表示步長(zhǎng),也就是每次依照梯度減少的方向變化多少。
3.程序代碼及解釋:clearall;
loadshuju
sizeshuju=size(shuju);x=shuju(:,1)';y=shuju(:,2)';plot(x,y,'+');holdon;
symstheta0theta1theta00=1;%初始化?值theta11=1;
alpha=0.005;%設(shè)定迭代步長(zhǎng)n=0;J=0;while1n=n+1;J=0;
fori=1:sizeshuju(1)
J=J+(theta0+theta1.*x(i)-y(i)).^2;end
J=J/(2*sizeshuju(1));
gJ=[diff(J,theta0)diff(J,theta1)];gJ=subs(gJ,theta1,theta11);gJ=subs(gJ,theta0,theta00);ifnorm(gJ)根據(jù)上式,將預(yù)計(jì)得到的x(i)數(shù)據(jù)的分類h?(x(i)),標(biāo)準(zhǔn)分類y(i)帶入上式
并迭代,直至算法收斂,就可以得到最終的參數(shù)?。
3.編程實(shí)現(xiàn)步驟:
(1)初始化參數(shù)?,迭代步長(zhǎng)?;(2)導(dǎo)入數(shù)據(jù);(3)計(jì)算損失函數(shù);(4)梯度下降法求解;(5)參數(shù)更新;
(6)測(cè)試數(shù)據(jù),得到確鑿率。
4.程序代碼及解釋:
clearall;
%由于logistic只能進(jìn)行2分類,而YaleandORL數(shù)據(jù)中卻有好多類,從中選擇兩類的話難免數(shù)據(jù)兩太少,所以,本程序用到了weather數(shù)據(jù),同樣可以進(jìn)行正確的練習(xí)A=load('C:\\Users\\lisai\\Desktop\\weather.mat');data=A.Data;
label=A.Label;%原始數(shù)據(jù)有多類,但是由于logisticregression只能進(jìn)行兩分類的任務(wù),所以,把數(shù)據(jù)的其次、三類挑出來(lái),作為要處理數(shù)據(jù)的第0、1類。select=find(label>1);data=data(select,:);label=label(select,:);label(label==2)=0;label(label==3)=1;dsize=size(data);ran=randperm(dsize(1));data=data(ran,:);label=label(ran,:);onesColum=ones(dsize(1),1);data=[data,onesColum];
train_data=data(1:300,:);%隨機(jī)選擇測(cè)試樣本和訓(xùn)練樣本。test_data=data(301:dsize(1),:);test_label=label(301:dsize(1),:);train_label=label(1:300,:);thetasize=dsize(2)+1;
theta=zeros(thetasize,1);%初始化theta的值。esp=0.00001;%loss=inf;iter=0;
maxiter=10000;%定義最大迭代次數(shù),防止算法不收斂
alpha=0.1;%初始化J,alphaJ=0;flag=1;
whileflag%fori=1:300
hypothesis(i)=1/(1+exp(hypothesis(i)));end
loss=0;%更新theta值forj=1:thetasize
updata=(hypothesis-train_label)'*train_data(:,j)*alpha;theta(j)=theta(j)-updata;endJ_old=J;
fori=1:300%計(jì)算損失函數(shù)
J=J+(hypothesis(i)-train_label(i))^2;end
ifabs(J-J_old)=0.5
iftest_label(i)==1right=right+1;endelse
iftest_label(i)==0right=right+1;endendend
acc=right/60
5.運(yùn)行結(jié)果:
6.反思總結(jié):
老師給的數(shù)據(jù)有好多種類,不適合用logistic進(jìn)行分類,所以從中選擇了兩類數(shù)據(jù)進(jìn)行分類。在數(shù)據(jù)處理上不是很熟練,本道題需要隨機(jī)在原始數(shù)據(jù)中選擇訓(xùn)練樣本和測(cè)試樣本,才能得到較好的結(jié)果。算法原理很簡(jiǎn)單,就是不停的迭代,更新系數(shù),但logistic簡(jiǎn)單產(chǎn)生過(guò)擬合的現(xiàn)象,這對(duì)分類結(jié)果顯然是很不利的。
Perceptron
1.題目描述:
Trainthedesignednetworkusingthetrainingsamplesprovidedbelow,andtesttheeffectivenessofthenetworkusingthetestsamples.Thetrainingexamplesare:
P_train=[-1103221-1-2-1;
0121-10-2211];
T_train=[0000000111;
0000111000];
Thetestingexamplesare:P_test=[-2,0,3;
2,1,-1;];
T_test=[1,0,0;
0,0,1];
Aftertheaboveprocess,drawthelearnedclassificationlineandthecorrespondingsamplesinthe2Dspace.
2.算法描述:
(1)此題中感知器有兩個(gè)輸出,有三個(gè)類別,所以應(yīng)當(dāng)設(shè)計(jì)兩個(gè)感知器進(jìn)
行判別;
(2)初始化增廣權(quán)向量w和b,迭代次數(shù)time=100;(3)輸入訓(xùn)練數(shù)據(jù)p_train,計(jì)算判別函數(shù)值
(4)設(shè)數(shù)據(jù)正確輸出為t,令e?t?a,則下次迭代的
a?hardlim?w*p_train?b?w_new?w_old?e*p,b_new?b_old?e;
(5)重復(fù)上述步驟,直至達(dá)到最大迭代次數(shù)100。
3.程序代碼及解釋:
clearall;
p_train=[-1103221-1-2-1;0121-10-2211];t_train=[0000000111;0000111000];P_test=[-2,0,3;2,1,-1;]';T_test=zeros(2,3);p=p_train';
x=[p(:,1);P_test(:,1)]y=[p(:,2);P_test(:,2)]plot(x,y,'*');holdont=t_train';psize=size(p);
theta=[00;00];%初始化thetab(1)=0;fortime=1:100fori=1:psize(1)
e=t_train(1,i)-hardlim(theta(1,:)*p(i,:)'+b(1));%e=t-atheta(1,:)=theta(1,:)+e*p(i,:);%theta=theta+e*pb(1)=b(1)+e;%b=b+e,以下同上endendb(2)=0;fortime=1:100fori=1:psize(1)
e=t_train(2,i)-hardlim(theta(2,:)*p(i,:)'+b(2));theta(2,:)=theta(2,:)+e*p(i,:);b(2)=b(2)+e;end
endthetab
x2=-2:0.1:3;
y2=(-b(1)-theta(1,1).*x2)/theta(1,2);%畫(huà)兩條判別線,將數(shù)據(jù)分類plot(x2,y2,'r');holdonx3=-2:0.1:3;
y2=(-b(2)-theta(2,1).*x2)/theta(2,2);plot(x2,y2,'g')fori=1:2forj=1:3
T_test(i,j)=hardlim(theta(i,:)*P_test(j,:)'+b(i));endendT_test
4.運(yùn)行結(jié)果:
(1)數(shù)據(jù)點(diǎn)及分界限:
(2)theta、b、測(cè)試數(shù)據(jù)輸出結(jié)果:
與題目給出結(jié)果對(duì)比,完全一致!
5.反思總結(jié):
在課堂上學(xué)的感知器學(xué)習(xí)算法都是多個(gè)輸入,單個(gè)輸出,但是這道題卻是
多個(gè)輸入多個(gè)輸出的形式,剛開(kāi)始做的時(shí)候有點(diǎn)丈二和尚摸不著頭腦,后來(lái)思考了一會(huì)兒才想出來(lái)可以把每個(gè)輸出都進(jìn)行一次感知器學(xué)習(xí),每一端都輸出一個(gè)0,1,這樣最終再一組合,就可以把數(shù)據(jù)進(jìn)行多分類了。
Softmaxregression
1.問(wèn)題描述:
用Softmax分類器實(shí)現(xiàn)對(duì)IndianPines遙感數(shù)據(jù)的分類:
試驗(yàn)要求:
1.統(tǒng)計(jì)分類正確率(AA,OA即:每一類的正確率的平均,和整體正確率)2.訓(xùn)練時(shí)間。3.參數(shù)分析
2.算法原理:
在之前的softmax學(xué)習(xí)中,我們知道logisticregression很適合做一些非線性方面的分類問(wèn)題,不過(guò)它只適合處理二分類的問(wèn)題,且在給出分類結(jié)果時(shí)還會(huì)給出結(jié)果的概率。但是假使要進(jìn)行多分類的問(wèn)題,我們就需要用到另外一種算法,softmaxregression.
在Logisticregression中,所學(xué)習(xí)的系統(tǒng)的假設(shè)為:
其對(duì)應(yīng)的損失函數(shù)為:
可以看出,給定一個(gè)樣本,就輸出一個(gè)概率值,該概率值表示的含義是這個(gè)樣本屬于類別’1’的概率,由于總共才有2個(gè)類別,所以另一個(gè)類別的概率直接用1減掉剛剛的結(jié)果即可。假使現(xiàn)在的假設(shè)是多分類問(wèn)題,譬如說(shuō)總共有k個(gè)類別。在softmaxregression中這時(shí)候的系統(tǒng)的假設(shè)為:
其中的參數(shù)?不再是列向量,而是一個(gè)矩陣,矩陣的每一行可以看做是一個(gè)類別所對(duì)應(yīng)分類器的參數(shù),總共有k行。所以矩陣?可以寫成下面的形式:
此時(shí),系統(tǒng)損失函數(shù)的方程為:
其中的1{.}是一個(gè)指示性函數(shù),即當(dāng)大括號(hào)中的值為真時(shí),該函數(shù)的結(jié)果就為1,否則其結(jié)果就為0。
當(dāng)然了,假使要用梯度下降法,牛頓法,或者L-BFGS法求得系統(tǒng)的參數(shù)的話,就必需求出損失函數(shù)的偏導(dǎo)函數(shù),softmaxregression中損失函數(shù)的偏導(dǎo)函數(shù)如下所示:
注意公式中
?J(?)的是一個(gè)向量,表示的是針對(duì)第i個(gè)類別而求得的。??jl所以上面的公式還只是一個(gè)類別的偏導(dǎo)公式,我們需要求出所有類別的偏導(dǎo)公式。
??jJ(?)表示的是損失函數(shù)對(duì)第j個(gè)類別的第l個(gè)參數(shù)的偏導(dǎo)。
比較好玩兒的時(shí),softmaxregression中對(duì)參數(shù)的最優(yōu)化求解不只一個(gè),每當(dāng)求得一個(gè)優(yōu)化參數(shù)時(shí),假使將這個(gè)參數(shù)的每一項(xiàng)都減掉同一個(gè)數(shù),其得到的損失函數(shù)值也是一樣的。這說(shuō)明這個(gè)參數(shù)不是唯一解。為了解決這個(gè)問(wèn)題,可以加
入規(guī)則項(xiàng),參與規(guī)則項(xiàng)后的損失函數(shù)表達(dá)式如下:
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度時(shí)尚秀場(chǎng)特邀演員演出協(xié)議書(shū)
- 2025年度新能源汽車物流安全合作協(xié)議
- 二零二五年度抵押汽車小額貸款合同樣本
- 2025年度智能設(shè)備研發(fā)中心員工勞動(dòng)合同
- 二零二五年度商鋪?zhàn)赓U合同終止條件及賠償細(xì)則協(xié)議
- 2025年度超市員工聘用合同及崗位責(zé)任制規(guī)范合同
- 2025年度電商平臺(tái)春節(jié)促銷活動(dòng)合同
- 二零二五年度中式快餐店轉(zhuǎn)讓及品牌合作協(xié)議
- 二零二五年度食品加工技術(shù)研發(fā)與委托生產(chǎn)合同
- 發(fā)廊老板與員工二零二五年度職業(yè)技能培訓(xùn)合同
- CAD基礎(chǔ)教程課件
- 我的阿斯伯格綜合征
- 城市軌道交通服務(wù)禮儀和意識(shí)基本知識(shí)專題培訓(xùn)課件
- who實(shí)驗(yàn)室生物安全手冊(cè)
- 范本誡勉談話登記表
- 蘇教版科學(xué)2023三年級(jí)下冊(cè)全冊(cè)教案教學(xué)設(shè)計(jì)及反思
- 中國(guó)傳媒大學(xué)-主持人即興口語(yǔ)訓(xùn)練-課件-1
- 【武漢版】生命安全教育五年級(jí)第19課《別讓皮膚受傷害》教學(xué)設(shè)計(jì)
- 臺(tái)灣歷屆領(lǐng)導(dǎo)人和其大陸政策
- 新人教版小學(xué)數(shù)學(xué)五年級(jí)下冊(cè)教材解讀
- 2023年湖南高速鐵路職業(yè)技術(shù)學(xué)院?jiǎn)握泄P試職業(yè)技能考試題庫(kù)及答案解析
評(píng)論
0/150
提交評(píng)論