版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Coursera機(jī)器學(xué)習(xí)-筆記
?參考:
?博主自己總結(jié)歸納
/python27/tag/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/
?課程資源介紹及PPT匯總http:〃daniellaah.gilhub.io/2016/Machine-Learning-Andrew-Ng-My-
Notes.html
?縱觀大局
?機(jī)器學(xué)習(xí)
?監(jiān)督式學(xué)習(xí)-給定數(shù)據(jù)集,有期望的輸出值。
?回歸-預(yù)測(cè)連續(xù)輸出中的結(jié)果
?舉例
?分類-預(yù)測(cè)離散輸出中的結(jié)果
?邏輯回歸模型
?通過考試的概率(0/1)與學(xué)習(xí)時(shí)間的比較,圖中s曲線h(x)>=0.5/theta'*X>=0
預(yù)測(cè)為1;h(x)<0.5/theta'*X<=0,預(yù)測(cè)為0
Probabilityofpassingexamversushoursofstudying
Hoursstudying
邏揭回歸曲哪圖表顯示通過考試的概率與小時(shí)學(xué)習(xí)0
?神經(jīng)網(wǎng)絡(luò)-非線性分類問題
?舉例:圖像識(shí)別-輸入動(dòng)物圖像,正確輸出動(dòng)物的類型
概率最大的被當(dāng)做是預(yù)測(cè)結(jié)果
?代價(jià)函數(shù)-前向傳播
J(e)=
1-m.K、
—££以”9(心3⑴))去+(1-姬)/。9(1一&(?)))口
mi=ik=i
^\SL-S181gsi+l(eS))2
?計(jì)算梯度(求偏導(dǎo))-后向傳播
?非監(jiān)督式學(xué)習(xí)-給定數(shù)據(jù)集,沒有期望的輸出值
?聚類-根據(jù)集群中特定相似屬性分類
?舉例:
?K-means聚類-基于質(zhì)心的聚類
?輸入:訓(xùn)練數(shù)據(jù)集{x(l),x⑵,…,x(m)}和聚類數(shù)量K(將數(shù)據(jù)劃分為K類)
?輸出:K個(gè)聚類中心口1,口2,…,piK和每個(gè)數(shù)據(jù)點(diǎn)x(i)所在的分類。
?關(guān)聯(lián)
?舉例:聲音分離
?計(jì)算方法:
?假設(shè)預(yù)測(cè)函數(shù):h(x)=thetaO+thetalx-下面需要做的就是訓(xùn)練模型theta
?代價(jià)(損失)函數(shù)-表示真實(shí)值與預(yù)測(cè)值之間的差異,下面需要:1找到合適的代價(jià)函數(shù)能夠
評(píng)價(jià)模型的準(zhǔn)確性,對(duì)參數(shù)e可微。2不斷改變theta使代價(jià)函數(shù)最小,從而得到最優(yōu)的
theta.
c(theta)-單個(gè)樣本J(theta)-多個(gè)樣本,所有代價(jià)函數(shù)的取值求均值對(duì)于每種算法來(lái)說(shuō),代
價(jià)函數(shù)不是唯一的代價(jià)函數(shù)是參數(shù)6的函數(shù)J(e)是一個(gè)標(biāo)量參考:
http:〃www.cnblogs.eom/Belter/p/6653773.html
?線性回歸-均方誤差
qm-Im
J(%M)=說(shuō)E(y(i)-嚴(yán)嚴(yán)=百£>(/))-嚴(yán)產(chǎn)
1=1t=l
m:訓(xùn)|練樣本的個(gè)數(shù);h0(x):用參數(shù)G和x預(yù)測(cè)出來(lái)的y值;y:原訓(xùn)練樣本中的y值,
也就是標(biāo)準(zhǔn)答案上角標(biāo)(i):第i個(gè)樣本
?邏輯回歸(分類)-交叉燧
4。)=一五[£(/log也(別)+(1-*)1。虱1一版(工⑴))]
1=1
?簡(jiǎn)化
whichcanbesimplifiedto:
J(。)=---[依一的"—log(l+e—牝)]=—?—
i=l
-log(l+effx,)],(*)
i=l
?神經(jīng)網(wǎng)絡(luò)
,mK
J(。)=-曰££(婢)唳聞伯⑴)+(1-婢))bg(l-(帕3⑴))*)]
2=1k=l
K表示在多分類中的類型數(shù)
?如何找到最優(yōu)的theta
?梯度下降-梯度即對(duì)代價(jià)函數(shù)的偏導(dǎo)數(shù),決定了在學(xué)習(xí)過程中參數(shù)下降的方向,學(xué)習(xí)率
(通常用a表示)決定了每步變化的步長(zhǎng)。
?不同模型的梯度下降
?線性回歸模型
otfj______aO-neij-------
LG(?L0S-J']
J
2m、二-----口
gj=o:—j(e°M)=七%(心(4')-產(chǎn))
sj=i:-J(.&)=上堂(QW)弋*◎
?邏輯回歸(分類算法)模型
根據(jù)邏輯回歸模型的代價(jià)函數(shù)以及sigmoid函數(shù)
=g
h6(x)(嚴(yán)工)
g2(z)=-l+-e——-z
得到對(duì)每個(gè)參數(shù)的偏導(dǎo)數(shù)為
的J(8)=一城)藥
3i=l
詳細(xì)推導(dǎo)過程可以看議里-謖輯回歸代價(jià)函數(shù)的導(dǎo)數(shù)
?神經(jīng)網(wǎng)絡(luò)-后向傳播
?如何加快收斂速度
?特征縮放-不同特征X之間數(shù)量級(jí)差別太大時(shí),為了加快收斂速度,將特征規(guī)劃
到統(tǒng)量級(jí)[0,1]或【-1,1].xj=(xj-avergaej)/(maxj-minj)
?選擇合適的學(xué)習(xí)速率a
?太大無(wú)法收斂,太小收斂很慢
?從0.001,0,003,0.01,0.03,0.1,0.3,1選擇最優(yōu)
?正規(guī)方程法
e=(XTX)-1XTY
http:〃/elaron/archive/2013/05/20/3088894.himl
?使用高級(jí)優(yōu)化算法
optTheta=fminunc(@costFunction,initialTheta,options)
?防止過擬合問題
?減少榭正X數(shù)量:
?人工選擇重要特征,丟棄不必要的特征
?利用算法進(jìn)行選擇(PCA算法等)
?正規(guī)化Regularization-減少參數(shù)6j的數(shù)量級(jí)或者值,在代價(jià)函數(shù)后加上懲罰項(xiàng)
?線性回歸
?代價(jià)函數(shù):
-Imn
喇=丁£(e(?。┮?))2+入£弓
ZiTTl.r.r
Lz=lj=l
?梯度下降參數(shù)更新:
[77Z
詼=氏-a丁£(無(wú)6(/))-即謁;);,=0
1=1
1m
Oj=Gj-a—£(廄(/))-y⑻)*)+—Oj;j>1
t=lm
?邏輯回歸(分類)
?代價(jià)函數(shù):
J⑻=—:£[/)log(%(—)))+(1—/))池(1一版(.)))]
i=l
n
+」\_寸俠
27n々7
尸1
?梯度下降參數(shù)更新:
-Im
W,,
0o=do-a而E(加(一))-3/)4;>=0
i=l
Oj=0j-a—£(/ie(a:⑥)一/))斕H---%;j>1
?機(jī)器學(xué)習(xí)簡(jiǎn)介及一元線性回歸
?初步介紹
?監(jiān)督式學(xué)習(xí)supervisedlearning:給定數(shù)據(jù)集并且知道其正確的輸出應(yīng)該是怎么樣的,即有
反饋feedback
?回歸Regression:預(yù)測(cè)連續(xù)輸出中的結(jié)果
?分類Classificaion:預(yù)測(cè)離散輸出的結(jié)果
?非監(jiān)督式學(xué)習(xí)unsupervisedlearning:給定數(shù)據(jù)集,并不知道其正確的輸出是什么,沒有反
饋
?聚類Clustering:獲取1,000,000個(gè)不同基因的集合,并找到一種方法將這些基因自動(dòng)分
組成不同變量的相似或相關(guān)的組,例如壽命,位置,角色,GoogleNews,Computer
Clustering,MarkertSegmentation
?關(guān)聯(lián)Associative:"雞尾酒會(huì)算法",允許您在混亂的環(huán)境中查找結(jié)果。(即在雞尾酒
會(huì)上識(shí)別來(lái)自聲音網(wǎng)格的個(gè)人聲音和音樂)
?一元線性回歸
?假設(shè)Hypothesis:h0(x)=0O+01x
?參數(shù)Parameters:00,01
?代價(jià)函數(shù)CostFunction
771n
"。4i)=心£⑸的)-網(wǎng)
1=1
?代價(jià)函數(shù)是線性回歸中的一個(gè)應(yīng)用,在線性回歸中,要解決的一個(gè)問題就是最小化問題。
?假設(shè)在醫(yī)院線性回歸中,在一個(gè)訓(xùn)練集中,我們需要找到一條直線能和該訓(xùn)練集中的點(diǎn)最
接近。假設(shè)直線方程:
hff(x)=%+%立
?如何選擇00.ei,使得he(x)更接近于訓(xùn)練集(x,y)?
?上述問題可以轉(zhuǎn)化為求
771n
9。,01)=小£(加(4))-理)
?求最小值
minF(%,%)
?目標(biāo)函數(shù)Goal:mineo,eiJ(0O,ei)
?梯度下降GradientDescent
?初始化eofnei,90=o,ei=o
?不斷的改變eo和ei值,不斷減少F(eo,ei)直至達(dá)到最小值(或者局部最?。?。注
意00和01值要同時(shí)更新,切記不要求一次導(dǎo)更新一次!
repeatuntilconvergence:{
]m
%:=——a——防)
:=i
仇:=%一a—£((加(皿)-yi)xi)
i=l
}
?a被稱作為學(xué)習(xí)速率
?如果a被設(shè)置的很小,需要很多次循環(huán)才能到底最低點(diǎn),收斂速度過慢
?如果a被設(shè)置的很大,來(lái)來(lái)回回可能就會(huì)離最低點(diǎn)越來(lái)越遠(yuǎn),會(huì)導(dǎo)致無(wú)法收斂,甚至發(fā)散。
?當(dāng)快要到最低點(diǎn)的時(shí)候,梯度下降會(huì)越來(lái)越慢,因?yàn)閐/de越來(lái)越小。
?a的取值可以從0.001,0.003,0.01,0.03,0.1,0.3,1這幾個(gè)值去嘗試,選一個(gè)最優(yōu)
的
?矩陣
?矩陣乘法:只有在第一個(gè)矩陣的列數(shù)(column)和第二個(gè)矩陣的行數(shù)(row)相同時(shí)才有意義
?多元線性回歸
?多元線性回歸:一元線性回歸只有一個(gè)特征x,而多元線性回歸可以有多個(gè)特征xl,x2,…,xn
?假設(shè)Hypothesis:h0(x)=0Tx=0OxO+01xl+...+0nxn
?參數(shù)Parameters:00,01,...,0n
?代價(jià)函數(shù)Costfunction:
771°
」(。。,仇)=壺£(而砂)-/)
?=1
?目標(biāo)Goal:min0J(0)
?梯度下降GradientDescent
?迭代更新參數(shù)e
%=%_*玄(加3?)-泗同,
1=1
?向量化實(shí)現(xiàn)VectorizedImplementation:;
-吟(x/xe-y))
?特征縮放:如果不同特征X之間的數(shù)值量級(jí)差別太大,那么梯度下降的速度非常慢,為了加快
算法的收斂速度,將各個(gè)特征劃歸到統(tǒng)一數(shù)量級(jí),一般是[0,1]或者[-1,1]之間
?Trickl:xj=(xj-|jj)/sj,其中Mj表示第j個(gè)特征的均值,sj表示第j個(gè)特征的范圍(max-min)
或者標(biāo)準(zhǔn)差(standarddeviation)
?Trick2:學(xué)習(xí)速率的選擇
?如果a被設(shè)置的很大,來(lái)來(lái)回回可能就會(huì)離最低點(diǎn)越來(lái)越遠(yuǎn),會(huì)導(dǎo)致無(wú)法收斂,甚至
發(fā)散。
?a的取值可以從0.001,0.003,0.01,0.03,0.1,0.3,1這幾個(gè)值去嘗試,選一個(gè)最
優(yōu)的
?計(jì)算參數(shù)分析一正規(guī)方程法
?正規(guī)方程法相對(duì)梯度下降法,它可以一步找到最小值。而且它也不需要進(jìn)行特征值的縮放
?pinv:偽逆矩陣,即使不存在逆矩陣也可以解決問題
?梯度下降和正規(guī)方程法匕瞅
?超大數(shù)據(jù)集合
?梯度下降運(yùn)行良好
?正規(guī)方程時(shí)間復(fù)雜度高
?學(xué)習(xí)率a選擇
?梯度下降需要選擇,并且迭代多次
?正規(guī)方程不用選擇,也不需要多次跌打檢測(cè)是否收斂
?OctaveMatlab教程
?基本操作
?數(shù)學(xué)操作
?+
?A%幕指數(shù)
?log()%對(duì)數(shù)運(yùn)算
?exp()%指數(shù)運(yùn)算
?abs()%求絕對(duì)值
?邏輯運(yùn)算
?==
?~=%判斷是否不相等
?&&
?II
?xor(,)%異或運(yùn)算
?更換首行提示符
?PS1('>>')%單引號(hào)內(nèi)是帶替換的首行提示符
?變量賦值
?a=3%賦值數(shù)字
?a=3;%不想使其輸入加分號(hào)
?b='hello'%賦值字符串
?disp(a)
?disp(sprintf('2decimals:%0.2f',a))%sprintf打印格式化字符串
?formatlong%讓接下來(lái)字符串顯示默認(rèn)位數(shù)
?formatshort%讓接下來(lái)字符串下數(shù)點(diǎn)后打印少量位數(shù)
?向量和矩陣
?A=[l2;34;56;]%創(chuàng)建矩陣變量,分號(hào)的意思是換到下一行
?v=1:0,1:2%a:x:b表示[a,b]區(qū)間,x表示遞增步長(zhǎng)
?ones(2,3)%生成2*3的元素都為1的矩陣(2行3列)
?2*ones(2,3)%生成2*3的元素都為2的矩陣
?zeros億3)%生成2*3的元素都為0的矩陣
?rand(l,3)%生成1*3的隨機(jī)數(shù)矩陣
?eye(2,3)%生成2*3的單位矩陣
?eye(3)%生成3*3的單位矩陣
?幫助函數(shù)
?helpeye%help后面跟一個(gè)名字,就會(huì)顯示出這個(gè)命令的詳細(xì)用法
?MovingDataAround
?矩陣計(jì)算
?A=[l,2;3,4;5,6;];
?size(A)%計(jì)算矩陣的維度大小ans=32
?size(A,l)%顯示矩陣的行數(shù),1表示返回行數(shù)
?size(A,2)%顯示矩陣的列數(shù),2表示返回列數(shù)
?v=[1,2,3,4];
?length%計(jì)算向量最大維度的大小,length通常對(duì)向量使用,而不對(duì)矩陣使用
?讀取和存儲(chǔ)文件數(shù)據(jù)
?load
?load('xxx')%以字符串的形式加載
?v=xxx(l:10)%簡(jiǎn)歷向量v,元素分別為xxx文件內(nèi)1~10的數(shù)據(jù)
?loadxxx%xxx為當(dāng)前路徑下的文件名
?save
?savexxx.matv%將當(dāng)前數(shù)據(jù)存儲(chǔ)到文件中,冰倩變量名為v
?savexxx.txtv-ascii%將當(dāng)前的數(shù)據(jù)存儲(chǔ)到ascii編碼的文本文檔中
?顯本命令
?pwd%顯示當(dāng)前路徑
?Is%顯示當(dāng)前路徑的文件夾
?cd'path'%打開該路徑
?who%在當(dāng)前內(nèi)存中存儲(chǔ)的所有變量
?whos%更詳細(xì)地顯示變量的名稱,維度和占用多少內(nèi)存空間和數(shù)據(jù)類型
?clear%清楚所有變量
?addpath('path')%將路徑添加到當(dāng)前搜索處
?矩陣索引操作
?A=[l,2;3,4;5,6;];
?A(3,2)%索引矩陣第3行第2列的元素ans=6
?A(2,:)%索引矩陣第2行所有元素,冒號(hào)表示該行或該列的所有元素ans=3
4
?A(:,2)%索引矩陣第2列所有元素ans=2;4;6
?A([l,3],:)%索引矩陣第1行和第3行所有元素
?A(:,2)=[10,ll,12]%將A的第2列用右邊向量代替
?A=[A,[100;101;102]]%加入新的1列向量
?A(:)%將矩陣A的元素變成列向量
?A=[l,2;3,4];B=[4,5;6,7];
?C=[A,B]%等價(jià)于C=[AB]合并矩陣A在左邊,B在右邊
?C=[A;B]%合并矩陣A在上邊,B在下邊
?ComputingonData
?矩陣計(jì)算
?A*B%矩陣相乘
?A.*B%矩陣對(duì)應(yīng)元素相乘
?A「2%矩陣每個(gè)元素平方
?1./A%矩陣每個(gè)元素求倒數(shù)
?log(A)%矩陣每個(gè)元素求對(duì)數(shù)
?exp(A)%矩陣每個(gè)元素求指數(shù)
?abs(A)%矩陣每個(gè)元素絕對(duì)值
?A+ones(length(A),l)%A中每個(gè)元素加1
?A+l%A中每個(gè)元素加1
?A'%A的轉(zhuǎn)置矩陣
?A<3%A中每個(gè)元素和3比較,0為假,1為真
?find(A<3)%查找A中所有小于3的元素,返回其索引
?[r,c]=find(A>=7)%r,c分別表示A矩陣中元素大于7的行和列
?A=magic(3)%生成每一行每一列相加起來(lái)都是相等的矩陣,即矩陣幻方
?sum(A)%A中所有元素的和
?prod(A)%A中所有元素的積
?floor(A)%人中元素向下取整
?ceil(A)%A中元素向上取整
?rand(A)%生成3*3隨機(jī)矩陣
?max(A,[],l)%A中每列的最大值,1表示從A的列去取值
?max(A,[],2)%A中每行的最大值,2表示從A的行取值
?max(A)%默認(rèn)是A每列的最大值
?max(max(A))%A中所有元素的最大值
?max(A(:))%A中所有元素的最大值
?sum(A,l)%人每列的和
?sum(A,2)%人每行的和
?eye(9)%構(gòu)造9*9的單位矩陣
?flipud(A)%矩陣垂直翻轉(zhuǎn)
?pinv(A)%A的偽逆矩陣
?畫圖PlotingData
?t=[0:0.1:0.98];yl=sin(2*pi*4*t);y2=cos(2*pi*4*t);
?plot(t,yl);
?holdon;%在原來(lái)的圖像中畫圖
?plot(t,y2,'r');
?xlabel('time');%x軸單位
?ylabel('value');%y¥由單位
?legendCsin'/cos');%將兩條曲線表示出來(lái)
?title('myplot');%加入標(biāo)題
?print-dpng'myplot.png'%輸出圖片為png格式
?close%關(guān)閉
?figure⑴;plot(t,yl);%分開畫圖
?figure(2);plot(t.y2);
?subplot(L2,l);%將圖像分為1*2的格子,使用第1個(gè)
?plot(t,yl);
?subplot(122);%將圖像分為1*2的格子,使用第2個(gè)
?plot(tzy2);
?axis([0.51-11]);%改變軸的刻度,x軸變?yōu)閇051],y軸變?yōu)閇-1,1]
?elf;%清除一幅圖像
?A=magic(5);
?imagesc(A)%生成矩陣的彩色格圖,不同顏色對(duì)應(yīng)不同的值
?imagesc(A),colorbar,colorm叩gray;%增加灰度分布圖和顏色條
?循環(huán)語(yǔ)句ControlStatements:',while,ifstatement
?v=zeros(5,l);fori=l:5,v(i)=2Ai;end;%for語(yǔ)句,以end為結(jié)尾標(biāo)志
?i=l;whilei<=3;v(i)=100;i=i+l;end;%while語(yǔ)句
?i=l;whiletrue,v(i)=999;i=i+l;ifi==6,break;end;
end;%ifzbreak;end;
?ifv(l)==l,disp('Thevalueisone');elseifv(l)==2zdisp('Thevalueisone');
elseifv(l)==2zdisp('Thevalueistwo');elsedisp('Thevalueisnotoneor
two');end;%if-else語(yǔ)句
?邏輯回歸LogisticRegression:一種分類算法
?Logistic回歸
?假設(shè)Hypothesis:
he(x)=g(*a)
1
g(z)=
1+e-z
?對(duì)于輸出的解釋
?h0(x)=estimatedprobabilitythaty=loninputx
P(y=1|力;0)+P(y=O|a?;0)=1
?決策邊界DecisionBoundary:如何做出決策,不需要具體的帶入sigmoid函數(shù),只需要求解
6Tx>0即可以得到對(duì)應(yīng)的分類邊界
?predict"y=l"ifh9(x)>=0.5等價(jià)于predict"y=l"if0Tx>=O
?predict"y=0"ifh6(x)<0.5等價(jià)于predict"y=l"if6Tx<0
?代價(jià)函數(shù)CostFunction
?如果用平方函數(shù)(線性回歸)定義,則是非凹函數(shù)
CostFunction=F(%%)=-—(A(x⑴)—y⑴產(chǎn)
g⑺=~
1+e~^x
?ify=l:h0(x)=l/Cost=0;h0(x)=O,Cost=oo
f-log(he(x))-y=1
cost&(N),g)=
\-log(l-he(x));y-0
?簡(jiǎn)化代價(jià)函數(shù)
?邏輯回歸代價(jià)函數(shù)
cost⑸(c),y)=-ylog&(0))-(l-y)log(l-he(x))
1Tn
J(')=一A£沙㈤log(加(?)))+(1-y(i))log(l-加(一)))
t=l
?Tofitparameters0:minJ(0)
?Tomakeapredictiongivennewx:
ho(x)=ggx)
/、1
g(z)=.,
1+ez
?梯度下降
m
J(0)=-慧fy⑴log/M(r⑴)+(1-yW)log(l-
i=l
Wantmin。J(。):
Repeat{_______
%:=%一at帆①可—/)婢)]k&A%
-----------二;:S一,1-J
(simult5neeuUyjj£dateall
\十。
?高級(jí)優(yōu)化
Example:幟入
function[jVal,gradient]
A_[011°入《=costFunction(theta)
jVal=(theta(f)-5)人2+.二-
(%一祠Rheta(2)-5)人王
gradient=zeros(2,1);
就J⑻=2⑼-5).gradient(1)=2*(theta(1)-5);
廉J伊)=2(出一5"gradient(2)=2*(theta(2)-5);
options=optimset('GradObjz,'on','Maxlterr,'100');
initialTheta=zeros(2,1);
(optTheta,functionVal,exitFlag]...
=fminunc(@costFunctionrinitialTheta,options);
?右上角:函數(shù)
?下方:matlab命令
?exitFlag=l:收斂
?Logistic回歸用于多元分類one-vs-all:y=l,y=2,y=3,y=4....
?正規(guī)化
?過擬合問題overfitting解決
?減少特征數(shù)量:
?人工選擇重要特征,丟棄不必要的特征
?利用算法進(jìn)行選擇(PCA算法等)
?正規(guī)化Regularization
?保持特征的數(shù)量不變,但是減少參數(shù)0j的數(shù)量級(jí)或者值
?這種方法對(duì)于有許多特征,并且每種特征對(duì)于結(jié)果的貢獻(xiàn)都比較小時(shí),非常有效
?線性回歸的正規(guī)化:"Simpler"hypothesis在原來(lái)的代價(jià)函數(shù)中加入?yún)?shù)懲罰項(xiàng)如下式所示,
注意懲罰項(xiàng)從j=l開始,第0個(gè)特征是全1向量,不需要懲罰。
?正則化參數(shù):lambda
?代價(jià)函數(shù):
mn
J⑻=2比⑸例))-*)2+入"4
J=1j=l
?梯度下降參數(shù)更新:
1m/?
=。0-Q—一=0
t=i
%=%-a^^⑸砂))一/))吟)+嬴%;j>1
t=l
?Logistic回歸的Regularization
J=(l/m)*((-y)'*(log(sigmoid(X*theta)))-(l-y)'*(log(l-
sigmoid(X*theta))))+(lambda/(2*m))*(sum(theta.A2)-theta(l)A2);
grad=(l/m)*(X**(sigmoid(X*theta)-y));theta(l)=O;grad=grad+(lambda/m)*theta;
?代價(jià)函數(shù):
J⑻=一)七W)log的(—)))+(1-yw)log(l-加(/)))]
i=l
n
+\寧俠
2m4-(3
J=I
?梯度下降參數(shù)更新:
-1m
%=%-a—£&(/"))=0
1=1
1""A
Oj=0j-a—一聲)斕——%;j>1
mr—/Jm
.a=i_
?gradient(n+1)=[codetocompute5J(0)/50n]
?神經(jīng)網(wǎng)絡(luò)--表示
?動(dòng)機(jī):對(duì)于非線性分類問題,如果用多元線性回歸進(jìn)行分類,需要構(gòu)造許多高次項(xiàng),導(dǎo)致特征特多
學(xué)習(xí)參數(shù)過多,從而復(fù)雜度太高。
?神經(jīng)網(wǎng)絡(luò)NeuralNetwork
Layer1Layer2Layer3
InputLayerHiddenLayerOutputLayer
?ai(j)表示第j層網(wǎng)絡(luò)的第i個(gè)神經(jīng)元,a-activation激活值
?e(j)表示從第j層到第j+i層的權(quán)重矩陣
?euv(j)表示從第j層的第V個(gè)神經(jīng)元到第j+l層的第U個(gè)神經(jīng)的權(quán)重,需要注意到的是下標(biāo)UV
是指V->U的權(quán)重而不是u->v
?一般地,如果第j層有sj個(gè)神經(jīng)元(不包括bias神經(jīng)元),第j+l層有s(j+l)個(gè)神經(jīng)元(也不
包括bias神經(jīng)元),那么權(quán)重矩陣0j的維度是s(j+l)行x(sj+l)列
?前向傳播ForwardPropagration,FP
?后一層的神經(jīng)元的值根據(jù)前一層神經(jīng)元的值的改變而改變,以上圖為例,第二層的神經(jīng)元的更
新方式為
a?=+叫叫++暇均
譚=g(碌)g+*g+朗%2+碳%3)
a.)=g(碌'o+O^xi+―①2+姆勺3)
謂=g(%g+婢6+明立2+騁①3)
其中g(shù)(z)為sigmoid函數(shù),即g(z)=下三
?向量化實(shí)現(xiàn)VectorizedImplementation
力0z?
Q⑴=x=X1Z⑵=£)
X21
J2)
13」L4J
「有⑴姆n(l)/)1
%0%2%3
。⑴—n(l)n(l)有⑴n(l)
°一%0%1%2%3
/)⑴A⑴0⑴n(l)
-030°31°32°33-
?簡(jiǎn)化更新公式:前向傳播
z⑵=J⑴a⑴
。⑵=g(z⑵)
■=0⑵a⑵
。⑶=g(z⑶)=九標(biāo))
?與Logistic回歸的聯(lián)系:Logistic是回歸是不含隱藏層的特殊神經(jīng)網(wǎng)絡(luò),神經(jīng)網(wǎng)絡(luò)從某種程度
上來(lái)說(shuō)是對(duì)logistic回歸的推廣
?神經(jīng)網(wǎng)絡(luò)示例:對(duì)于如下圖所示的線性不可分的分類問題,(O,O)(L1)為一類(0,D(L0)為另一類,
神經(jīng)網(wǎng)絡(luò)可以解決
00g(-10)=0
01g(10)=1
10g(10)=1
?NAND=((notxl)and(notx2))
X】心(X)
00g(io)=i
01g(-10)=0
10g(-10)=0
11g(-30)=0
?NXOR=NOT(xlXORx2):xl,x2中有且僅有f為真取反,即xl,x2同時(shí)為真或者同時(shí)
為假。該神經(jīng)網(wǎng)絡(luò)用到了之前的AND操作(用紅色表示)、NAND操作(用青色表示)
和OR操作(用橙色表示),從真值表可以看出,該神經(jīng)網(wǎng)絡(luò)成功地將(0,0)(LD分為一類,
(1,0)(0,1)分為一類,很好解決了線性不可分的問題。
?神經(jīng)網(wǎng)絡(luò)的代價(jià)函數(shù)(含正則項(xiàng))
1mK'
-一££婕%+(i--啾1-&(N㈤))*)
m[?=1"1.
\L-lsis/i
+衣££(+吩
/=li=lj=\
?m:訓(xùn)練example的數(shù)量
?K:最后一層(輸出層)的神經(jīng)元的個(gè)數(shù),也等于分類數(shù)(分K類,K>3K>3)
?yk(i):第i個(gè)訓(xùn)練exmaple的輸出(長(zhǎng)度為K個(gè)向量)的第k個(gè)分量值
?(h9(x(i)))k:對(duì)第i個(gè)example用神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)的輸出(長(zhǎng)度為K的向量)的第k個(gè)分量值
?L:神經(jīng)網(wǎng)絡(luò)總共的層數(shù)(包括輸入層和輸出層)
?0(1):第I層到第1+1層的權(quán)重矩陣
?si:第I層神經(jīng)元的個(gè)數(shù),注意i從1開始計(jì)數(shù),bias神經(jīng)元的權(quán)重不算在正則項(xiàng)內(nèi)
?sl+1:第1+1層神經(jīng)元的個(gè)數(shù)
?神經(jīng)網(wǎng)絡(luò)一學(xué)習(xí)
?后向傳播(Backpropagration,BP)算法-解決如何計(jì)算梯度
?代價(jià)函數(shù):考慮正則項(xiàng),其中K為K個(gè)輸出單元,關(guān)注正則化都是從1開始:
l=l,i=l,j=l,thetaO是+1
T隹£一的(陽(yáng)/)))*+(i-4”叩(1-(加(工町。
LnJ
、L-l81S/+1/八
+言£E£(e?)2
/=1j=l
?后向傳播-求偏導(dǎo)
?初始化:設(shè)置僅1川=0(理解為對(duì)第II層的權(quán)重矩陣的偏導(dǎo)累加值)
?Fori=1:m
?設(shè)置a(l)=X
?通過前向傳播算法(FP)計(jì)算對(duì)各層(不包括第一層,第一層是真實(shí)已知的)的預(yù)測(cè)
值a(l),其中1=2,3,4,…,L
?計(jì)算最后一層的誤差向量6(L)=a(L)-y(8-deta(costfunc對(duì)中間項(xiàng)z=theta*X的偏
導(dǎo)數(shù)):該層的激活值的誤差=激活值(=h(x)=g(z))-真實(shí)值),利用后向傳播算法
(BP)從后至前逐層計(jì)算誤差向量8(L-1),8(L-1),…,8(2),(沒有5(2)因?yàn)槲覀儾恍?/p>
要對(duì)輸入層考慮誤差項(xiàng))計(jì)算公式為(關(guān)注是點(diǎn)乘哦!)
型=(a)T/i).*d(z(。)
?更新
△。):=△(/)+6。+1)(丁)尸
?end//for
?計(jì)算梯度
。—明了。
9W)
89。)=
?BP實(shí)際運(yùn)用中的技巧
?將參數(shù)(矩陣)展開成向量
thetaVec=[ThetalQ;Theta2(:);Theta3(:)];DVec=[Dl(:);D2(:);D3(:)]%使用如下代碼可
以得至!I原來(lái)的矩陣Thetal=reshape(thetaVec(l:110),10,11);Theta2=
reshape(thetaVec(lll:220),10,11);Theta3=reshape(thetaVec(221:231),1,11);
?梯度檢查(bug)
實(shí)數(shù):NG:gardApprox=(J(theta+EPSILON)-J(theta-EPSILON))/(2*EPSILON)向量:
fori=1:n(n維參數(shù)的維度)thetaPlus=theta;thetaPlus(i)=thetaPlus(i)+
EPS;thetaMinus=theta;thetaMinus(i)=thetaMinus(i)-EPS;gradApprox(i)=
(J(thetaPlus)-J(thetaMinus))/(2*EPS);end;checkthatgradapprox=DVec(DVec是從
反向傳播中得到的導(dǎo)數(shù))
?因?yàn)榻频奶荻扔?jì)算代價(jià)很大,在梯度檢杳后記得關(guān)閉梯度檢查的代碼。
?隨機(jī)初始化
?初始權(quán)重矩陣的初始化應(yīng)該打破對(duì)稱性(symmetrybreaking),避免使用全零矩陣進(jìn)行初
始化??梢圆捎秒S機(jī)數(shù)進(jìn)行初始化,即
0(l)ije[-€,+e]
Thetal=rand(10,11)*(2*INIT_EPSILON)-INIT_EPSILON生成一個(gè)10*11的矩陣,矩
陣的元素值介于(0,1)之間,把它*2EPSILON-EPSILON,則生成(-EPSILON,EPSILON)
之間的矩陣,EPSILON很小,接近于0.(此處EPSILON和梯度檢查時(shí)的EPSILON無(wú)關(guān))
?如何訓(xùn)練一個(gè)神經(jīng)網(wǎng)絡(luò)(得到的是局部最優(yōu),但是非常接近全局最優(yōu))
?隨機(jī)初始化權(quán)重矩陣(theta)
?利用前向傳播算法(FP)計(jì)算模型預(yù)測(cè)值h0(x)
?計(jì)算代價(jià)函數(shù)J(e)
?利用后向傳播算法(BP)計(jì)算代價(jià)函數(shù)的梯度dJ(0)/50(l)
?利用數(shù)值算法進(jìn)行梯度檢查(gradientchecking),確保正確后關(guān)閉梯度檢查
?利用梯度下降(或者其他優(yōu)化算法)求得最優(yōu)參數(shù)0
?應(yīng)用機(jī)器學(xué)習(xí)的建議
?評(píng)估學(xué)習(xí)算法
?為了能有效地評(píng)估我們的模型,先要將數(shù)據(jù)集分成兩個(gè)部分,第一部分為訓(xùn)練集(trainingset),
第二部分為測(cè)試集(testset).注意,在數(shù)據(jù)集分割的時(shí)候,最好先打亂數(shù)據(jù)的順序,以免數(shù)據(jù)集本
身的順序?qū)ξ覀兊脑u(píng)估造成影響.通常,我們將元數(shù)據(jù)的70%作為訓(xùn)練集,30%作為測(cè)試集.
?對(duì)于線性回歸問題:
16test
^Aest(。)=5丁£(砧叫-小)
2mtest[仁
?對(duì)于0-1分類問題:
-1TTltest
兒就(。)=——嚴(yán))
mtestM
?其中
1Ifhg[x)>0.5andy=0
1Ifho[x)<0.5andy=1
{0otherwise
?模型選擇(modelselect),訓(xùn)練/測(cè)試/驗(yàn)證集
?將數(shù)據(jù)分成訓(xùn)練集(Trainingset),交叉驗(yàn)證集(CrossValidationset)和測(cè)試集(Testset)三
部分,Traningerror,CrossValidationerror和Testerror
Train/validation/testerror
Trainingerror:
m
JtrainW=肅£&(/))一再產(chǎn)
t=l
CrossValidationerror:
mcu
》心(。)=康E&Q給—點(diǎn)))2
i=l
Testerror:
-5>JtesdO)=2^777£儂(斕1)-剌1t)2
i=l
?偏差-方差權(quán)衡Bias(underfit)andVariance(overfit)
?regularization和bias/variance
Bias(underfit)?/加⑻值較大
()'IJcv⑻XJtrain^)
Vzf辦加⑻值較小
Vanance(overfit):|^w)〉2)
?學(xué)習(xí)曲線
?總結(jié)
措施解決的問題
增加訓(xùn)練實(shí)例過擬合
嘗試更少的特征過擬合
增加更多的特征欠擬合
增加多項(xiàng)式特征欠擬合
增加lambda過擬合
減小lambda欠擬合
?機(jī)器學(xué)習(xí)系統(tǒng)設(shè)計(jì)
?構(gòu)建垃圾郵件分類器(spamclassfier)
?采用監(jiān)督式學(xué)習(xí),構(gòu)建一個(gè)單詞表,對(duì)于每一封郵件,判斷郵件中是否出現(xiàn)單詞表中的單
詞,如果出現(xiàn)對(duì)應(yīng)位置標(biāo)記為1,反之標(biāo)記為0,這樣將一封郵件映射為一個(gè)高維的0;向
量,然后對(duì)于垃圾郵件標(biāo)記為I反之標(biāo)記為0,從而轉(zhuǎn)化為一個(gè)常規(guī)的分類問題。
?處理偏斜數(shù)據(jù)(skeweddata)
?對(duì)于癌癥/非癌癥的分類問題,假設(shè)y=l表示癌癥,y=0表示非癌癥,因?yàn)榘┌Y的人數(shù)必
然是少數(shù)(不妨假設(shè)為1%),那么一個(gè)非常naive的算法可以在任何情況下直接返回0,這
樣表面上該算法的正確率高達(dá)99%(因?yàn)楸緛?lái)99%的人都是非癌癥),然而實(shí)際上容易看
出,對(duì)于癌癥患
溫馨提示
- 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度程海保護(hù)區(qū)域生物多樣性保護(hù)合同
- 2024上海市環(huán)保工程項(xiàng)目合同
- 2024年數(shù)據(jù)中心機(jī)柜分租合同
- 2024年建筑聯(lián)盟:合作伙伴合同書
- 2024年影視制作拍攝合同
- 2024年房屋買賣合同延期規(guī)定
- 2024年搬家貨運(yùn)服務(wù)協(xié)議
- 2024年新型基礎(chǔ)設(shè)施建設(shè)合同
- DB4117T 219-2019 鳊魚養(yǎng)殖技術(shù)規(guī)程
- DB4106T 103-2023 麥套辣椒生產(chǎn)技術(shù)規(guī)程
- 某集團(tuán)公司戰(zhàn)略地圖
- 《線性代數(shù)》教案完整版教案整本書全書電子教案
- 旅游管理信息系統(tǒng)教材課件匯總完整版ppt全套課件最全教學(xué)教程整本書電子教案全書教案合集最新課件匯編
- 三年級(jí)下冊(cè)美術(shù)課件-第4課 瓜果飄香丨贛美版
- 綠電制綠氫及其綜合利用技術(shù)PPT
- JJG646-2006移液器檢定規(guī)程-(高清現(xiàn)行)
- 【課題研究】-《普通高中英語(yǔ)閱讀課文教學(xué)研究》結(jié)題報(bào)告
- 嚴(yán)重精神障礙管理工作規(guī)范課件(PPT 39頁(yè))
- 羊常見普通病類型和防治
- 梁板柱同時(shí)澆筑及方案
- 溝槽開挖支護(hù)專項(xiàng)施工方案(46頁(yè))
評(píng)論
0/150
提交評(píng)論