深度學(xué)習(xí)理論與實(shí)踐 課件 第3-5章 機(jī)器學(xué)習(xí)基礎(chǔ)、Logistic回歸、神經(jīng)網(wǎng)絡(luò)基礎(chǔ)_第1頁
深度學(xué)習(xí)理論與實(shí)踐 課件 第3-5章 機(jī)器學(xué)習(xí)基礎(chǔ)、Logistic回歸、神經(jīng)網(wǎng)絡(luò)基礎(chǔ)_第2頁
深度學(xué)習(xí)理論與實(shí)踐 課件 第3-5章 機(jī)器學(xué)習(xí)基礎(chǔ)、Logistic回歸、神經(jīng)網(wǎng)絡(luò)基礎(chǔ)_第3頁
深度學(xué)習(xí)理論與實(shí)踐 課件 第3-5章 機(jī)器學(xué)習(xí)基礎(chǔ)、Logistic回歸、神經(jīng)網(wǎng)絡(luò)基礎(chǔ)_第4頁
深度學(xué)習(xí)理論與實(shí)踐 課件 第3-5章 機(jī)器學(xué)習(xí)基礎(chǔ)、Logistic回歸、神經(jīng)網(wǎng)絡(luò)基礎(chǔ)_第5頁
已閱讀5頁,還剩177頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第3章機(jī)器學(xué)習(xí)基礎(chǔ)機(jī)器學(xué)習(xí)概述舉例:剛?cè)胄械亩周囋u(píng)估師,經(jīng)過大量長期的工作經(jīng)驗(yàn),對(duì)過往大量的二手車的性能狀態(tài)和售賣定價(jià)進(jìn)行了歸納和總結(jié),形成了一定的理論方法?!皺C(jī)器學(xué)習(xí)”是一門致力于使用計(jì)算手段,利用過往積累的關(guān)于描述事物的數(shù)據(jù)而形成的數(shù)學(xué)模型,在新的信息數(shù)據(jù)到來時(shí),通過上述模型得到目標(biāo)信息的一門學(xué)科。關(guān)鍵術(shù)語維度屬性品牌車型車款行駛里程上牌時(shí)間/年上牌時(shí)間/月折算價(jià)格/萬1奧迪A42.2LMT10000201393.22奧迪Q31.8T30000201744.73大眾高爾夫15款1.4TS9......1000北京吉普250005款75000201561.2下表展示了二手車評(píng)估師在過往經(jīng)手的一千臺(tái)二手車的六個(gè)維度屬性和其定價(jià)結(jié)果的數(shù)據(jù)。關(guān)鍵術(shù)語1)屬性維度/特征(feature):就是指能夠描述出目標(biāo)事物樣貌的一些屬性。在這里,就是二手車各個(gè)維度指標(biāo)就是最終幫助評(píng)定二手車價(jià)格的特征,例如:品牌、車型、車款、行駛里程、上牌時(shí)間......;2)預(yù)測目標(biāo)(target/label):想要基于已有的維度屬性的數(shù)據(jù)值,預(yù)測出的事物的結(jié)果,可以是類別判斷和數(shù)值型數(shù)字的預(yù)測。在這里,二手車的價(jià)格就是預(yù)測的目標(biāo),它預(yù)測目標(biāo)是數(shù)據(jù)型,屬于回歸;3)訓(xùn)練集(trainset):上表中的一千條數(shù)據(jù),包括維度屬性和預(yù)測目標(biāo),用來訓(xùn)練模型,找到事物維度屬性和預(yù)測目標(biāo)之間的關(guān)系;4)模型(model):它定義了事物的屬性維度和預(yù)測目標(biāo)之間的關(guān)系,它是通過學(xué)習(xí)訓(xùn)練集中事物的特征和結(jié)果之間的關(guān)系得到的。機(jī)器學(xué)習(xí)的分類監(jiān)督學(xué)習(xí):在現(xiàn)有數(shù)據(jù)集中,既有指定維度屬性,又指定預(yù)測的目標(biāo)結(jié)果。通過計(jì)算機(jī),學(xué)習(xí)出能夠正確預(yù)測維度屬性和目標(biāo)結(jié)果之間的關(guān)系的模型。對(duì)于后續(xù)的只有維度屬性的新的樣本,利用已經(jīng)訓(xùn)練好的模型,進(jìn)行目標(biāo)結(jié)果的正確的預(yù)判。常見的監(jiān)督學(xué)習(xí)有回歸和分類:回歸是指通過現(xiàn)有數(shù)據(jù),預(yù)測出數(shù)值型數(shù)據(jù)的目標(biāo)值,通常目標(biāo)值是連續(xù)型數(shù)據(jù);分類是指通過現(xiàn)有數(shù)據(jù),預(yù)測出目標(biāo)樣本的類別。無監(jiān)督學(xué)習(xí):其是指是,現(xiàn)有的樣本集沒有做好標(biāo)記,即沒有給出目標(biāo)結(jié)果,需要對(duì)已有維度的數(shù)據(jù)直接進(jìn)行建模。無監(jiān)督學(xué)習(xí)中最常見的使用就是聚類使用,把具有高度相似度的樣本歸納為一類。機(jī)器學(xué)習(xí)的分類半監(jiān)督學(xué)習(xí)和強(qiáng)化學(xué)習(xí):半監(jiān)督一般是指數(shù)據(jù)集中的數(shù)據(jù)有一部分是有標(biāo)簽的,另一部分是沒標(biāo)簽的,在這種情況下想要獲得和監(jiān)督學(xué)習(xí)同樣的結(jié)果而產(chǎn)生的算法。強(qiáng)化學(xué)習(xí),有一種說法把它稱為半監(jiān)督學(xué)習(xí)的一種。它是模擬了生物體和環(huán)境互動(dòng)的本質(zhì),當(dāng)行為為正向時(shí)獲得“獎(jiǎng)勵(lì)”,行為為負(fù)向時(shí)獲得“懲罰”,基于此構(gòu)造出的具有反饋機(jī)制的模型。神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí):神經(jīng)網(wǎng)絡(luò),正如它的名字所示,該模型的靈感來自于中樞神經(jīng)系統(tǒng)的神經(jīng)元,它通過對(duì)輸入值施加特定的激活函數(shù),得到合理的輸出結(jié)果。神經(jīng)網(wǎng)格是一種機(jī)器學(xué)習(xí)模型,可以說是目前最火的一種。深度神經(jīng)網(wǎng)絡(luò)就是搭建層數(shù)比較多的神經(jīng)網(wǎng)絡(luò),深度學(xué)習(xí)就是使用了深度神經(jīng)網(wǎng)絡(luò)的機(jī)器學(xué)習(xí)。人工智能、機(jī)器學(xué)習(xí)、以及神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)它們之間的具體關(guān)系機(jī)器學(xué)習(xí)的模型構(gòu)造過程(1)找到合適的假設(shè)函數(shù),它目的為通過輸入數(shù)據(jù)來預(yù)測判斷結(jié)果;其中為假設(shè)函數(shù)里面待求解的參數(shù)。(2)構(gòu)造損失函數(shù),該函數(shù)表示預(yù)測的輸出值即模型的預(yù)測結(jié)果(h)與訓(xùn)練數(shù)據(jù)類別y之間的偏差??梢允瞧罱^對(duì)值和的形式或其它合理的形式,將此記為J(),表示所有訓(xùn)練數(shù)據(jù)的預(yù)測值和實(shí)際類別之間的偏差。(3)顯然,J()的值越小,預(yù)測函數(shù)越準(zhǔn)確,最后以此為依據(jù)求解出假設(shè)函數(shù)里面的參數(shù)。監(jiān)督學(xué)習(xí)監(jiān)督學(xué)習(xí),它是機(jī)器學(xué)習(xí)算法中的重要組成部分。其主要又分為分類和回歸。目前,分類算法的應(yīng)用非常廣泛,銀行中風(fēng)險(xiǎn)評(píng)估、客戶類別分類、文本檢索和搜索引擎分類、安全領(lǐng)域中的入侵檢測以及軟件項(xiàng)目中的應(yīng)用等等。線性回歸這里有樣本點(diǎn);假設(shè)X,Y滿足一元線性回歸關(guān)系,則有:;這里y為真實(shí)值,為根據(jù)一元線性關(guān)鍵計(jì)算出的預(yù)測值。a,b分別為公式中的參數(shù)。為了計(jì)算出上述參數(shù),這里構(gòu)造損失函數(shù)為殘差平方和,即最小。把已知x、y數(shù)據(jù)代入,求解損失函數(shù)最小即可得參數(shù)。案例分析例如在煉鋼過程中,鋼水的含碳量x與冶煉時(shí)間y如下表6.2所示,x和y具有線性相關(guān)性。表6.2鋼水含碳量與冶煉時(shí)間數(shù)據(jù)表Logistic回歸Sigmoid函數(shù)公式:對(duì)于線性邊界的情況,邊界的形式:構(gòu)造的預(yù)測函數(shù)為:可以表示當(dāng)分類結(jié)果為類別“1”時(shí)候的概率Logistic回歸當(dāng)輸入為x時(shí)通過模型公式判斷出的最后結(jié)果的類別分別為“1”和“0”的概率:聯(lián)合寫成下式:Logistic回歸通過最大似然估計(jì)構(gòu)造Cost函數(shù)如式:Logistic回歸通過梯度下降法求不斷迭代,直至最后,求解得到參數(shù),得到預(yù)測函數(shù)。進(jìn)行新的樣本的預(yù)測。案例分析這里采用最經(jīng)典的鳶尾花數(shù)據(jù)集,理解上述模型。鳶尾花數(shù)據(jù)集記錄了如下圖6.4所示的三類鳶尾花的萼片長度(cm)、萼片寬度(cm)、花瓣長度(cm)、花瓣寬度(cm)。案例分析鳶尾花數(shù)據(jù)集詳細(xì)數(shù)據(jù)如下表6.3展示所示,其采集的是鳶尾花的測量數(shù)據(jù)以及其所屬的類別,這里為方便解釋,我們僅采用Iris-setosa和Iris-virginica這兩類。則一共有100個(gè)觀察值,4個(gè)輸入變量和1個(gè)輸出變量。測量數(shù)據(jù)包括:萼片長度(cm)、萼片寬度(cm)、花瓣長度(cm)、花瓣寬度(cm)。進(jìn)而用其建立二分類問題。最小近鄰法最小近鄰算法(K-nearestNeighbors,KNN)是一種基于實(shí)例學(xué)(instance-basedlearning)。KNN算法的基本思想是,如果一個(gè)樣本在特征空間中的k個(gè)最相似(即特征空間中最鄰近)的樣本中大多數(shù)屬于某一個(gè)類別,則該樣本也屬于這個(gè)類別。通常K的取值比較小,不會(huì)超過20,左圖展示了Knn算法的分類邏輯示意圖。最小近鄰法最小近鄰算法(K-nearestNeighbors,KNN)是一種基于實(shí)例學(xué)(instance-basedlearning)。KNN算法的基本思想是,如果一個(gè)樣本在特征空間中的k個(gè)最相似(即特征空間中最鄰近)的樣本中大多數(shù)屬于某一個(gè)類別,則該樣本也屬于這個(gè)類別。通常K的取值比較小,不會(huì)超過20,左圖展示了Knn算法的分類邏輯示意圖。最小近鄰法a、距離的選擇1)計(jì)算測試數(shù)據(jù)與各個(gè)訓(xùn)練數(shù)據(jù)之間的距離;2)按照下面距離的公式將對(duì)應(yīng)數(shù)據(jù)之間的距離計(jì)算出來后,將結(jié)果進(jìn)行從小到大的排序;3)選取計(jì)算結(jié)果中最小的前K個(gè)點(diǎn)(K值的確定后文會(huì)具體介紹);4)把這K個(gè)點(diǎn)中現(xiàn)頻率次數(shù)最多的類別,作為最終待判斷數(shù)據(jù)的預(yù)測分類. 通過這一流程可以發(fā)現(xiàn),KNN算法在計(jì)算實(shí)現(xiàn)其分類的效果的過程中有三個(gè)重要的因素:衡量測試數(shù)據(jù)和訓(xùn)練數(shù)據(jù)之間的距離計(jì)算準(zhǔn)則、K值的大小的選取、分類的規(guī)則。最小近鄰法-距離的選擇K近鄰法的特征空間一般是n維實(shí)數(shù)向量空間Rn。使用的距離是歐氏距離,但也可以是其它距離,如更一般的Lp距離或Minkowski距離?,F(xiàn)設(shè)特征空間X是n維實(shí)數(shù)向量空間的Lp距離定義為:最小近鄰法-距離的選擇當(dāng)p=1時(shí),曼哈頓(Manhattan)距離如式所示:當(dāng)p=2時(shí),歐氏(Euclidean)距離如式所示:當(dāng)p->∞,時(shí),切比雪夫距離如式(6.16)所示:最小近鄰法-K值的確定通常情況,K值從1開始迭代,每次分類結(jié)果使用測試集來估計(jì)分類器的誤差率或其它評(píng)價(jià)指標(biāo)。K值每次增加1,即允許增加一個(gè)近鄰(一般k的取值不超過20,上限是n的開方,隨著數(shù)據(jù)集的增大,K的值也要增大)。最后,在實(shí)驗(yàn)結(jié)果中選取分類器表現(xiàn)最好的K的值。案例分析:現(xiàn)有某特征向量x=(0.1,0.1),另外4個(gè)數(shù)據(jù)數(shù)值和類別如下表6.4所示:

特征向量類別X1(0.1,0.2)w1X2(0.2,0.5)w1X3(0.4,0.5)w2X4(0.5,0.7)w2表6.4

數(shù)據(jù)和類別線性判別分析法線性判別分析(LineardiscriminantAnalysis,LDA)是機(jī)器學(xué)習(xí)中的經(jīng)典算法,它既可以用來做分類,又可以進(jìn)行數(shù)據(jù)的降維。線性判別分析的思想可以用一句話概括,就是“投影后類內(nèi)方差最小,類間方差最大”。也就是說,要將數(shù)據(jù)在低維度上進(jìn)行投影,投影后希望每一種類別數(shù)據(jù)的投影點(diǎn)盡可能的接近,而不同類別的數(shù)據(jù)的類別中心之間的距離盡可能的大,線性判別分析的原理圖如圖展示:線性判別分析法-線性判別分析算法原理和公式求解目的:找到最佳投影方向,則樣例x在方向向量上的投影可以表示為:ωω線性判別分析法-線性判別分析算法原理和公式求解現(xiàn)有,直線投影向量,有兩個(gè)類別的中心點(diǎn)ω則直線的投影為ω,能夠使投影后的兩類樣本中心點(diǎn)盡量分離的直線是好的直線,定量表示就是如下所示,其越大越好:此外,引入新度量值,稱作散列值(scatter),對(duì)投影后的列求散列值,從集合意義的角度來看,散列值代表著樣本點(diǎn)的密度。散列值越大,樣本點(diǎn)的密度越分散,密度越小;散列值越小,則樣本點(diǎn)越密集,密度越大。線性判別分析法-線性判別分析算法原理和公式求解基于上文闡明的原則:不同類別的樣本點(diǎn)越分開越好,同類的越聚集越好,也就是均值差越大越好,散列值越小越好。因此,同時(shí)考慮使用J(θ)和S來度量,則可得到欲最大化的目標(biāo)如下式之后化簡求解參數(shù),即得分類模型參數(shù):案例分析已知有兩類數(shù)據(jù),分別為:請(qǐng)按照上述線性判別的方法找到最優(yōu)的投影方向。樸素貝葉斯分類器樸素貝葉斯模型(Na?veBayesClassifier,NB)是一組非常簡單快速的分類算法,通常適用于維度非常高的數(shù)據(jù)集。運(yùn)行速度快,而且可調(diào)參數(shù)少,因此非常適合為分類問題提供快速粗糙的基本方案.樸素貝葉斯分類器-樸素貝葉斯算法原理和公式推導(dǎo):具體來說,若決策的目標(biāo)是最小化分類錯(cuò)誤率,貝葉斯最優(yōu)分類器要對(duì)每個(gè)樣本x,選擇能使后驗(yàn)概率P(c|x)最大的類別c標(biāo)記。在現(xiàn)實(shí)任務(wù)中后驗(yàn)概率通常難以直接獲得。從這個(gè)角度來說,機(jī)器學(xué)習(xí)所要實(shí)現(xiàn)的是基于有限的訓(xùn)練樣本集盡可能準(zhǔn)確地估計(jì)出后驗(yàn)概率P(c|x)。為實(shí)現(xiàn)這一目標(biāo),綜合看來,一共有兩種方式:第一種,即有已知數(shù)據(jù)各維度屬性值x,及其對(duì)應(yīng)的類別c,可通過直接建模P(c|x)來預(yù)測c,這樣得到的是“判別式模型”,例如,決策樹、BP神經(jīng)網(wǎng)絡(luò)、支持向量機(jī)等等第二種方法,也可先對(duì)聯(lián)合概率分布P(x,c)建模,然后在由此獲得P(c|x),這樣得到的是“生成式模型”。對(duì)于生成式模型來說,必然考慮式:樸素貝葉斯分類器-樸素貝葉斯算法原理和公式推導(dǎo):基于貝葉斯定理,P(c|x)可以寫成式這就將求后驗(yàn)概率P(c|x)的問題轉(zhuǎn)變?yōu)榍箢愊闰?yàn)概率P(

c

)和條件概率P(

x|c

)。先驗(yàn)概率P(

c

)表達(dá)了各類樣本在總體的樣本空間所占的比例。由大數(shù)定律定理可知,當(dāng)用于訓(xùn)練模型的數(shù)據(jù)集擁有足夠的樣本時(shí),且這些樣本滿足獨(dú)立同分布樣本,每個(gè)類比的先驗(yàn)概率P(c)可通過各個(gè)類別的樣本出現(xiàn)的頻率來進(jìn)行估計(jì)。樸素貝葉斯分類器-樸素貝葉斯算法原理和公式推導(dǎo):樸素貝葉斯分類器采用了“屬性條件獨(dú)立性假設(shè)”:對(duì)已知類別,假設(shè)所有屬性相互獨(dú)立。假設(shè)輸入數(shù)據(jù)x的各個(gè)維度都獨(dú)立的互不干擾的作用著最終的分類結(jié)果,則有:由于對(duì)所有類別來說P(x)相同,因此有下式:樸素貝葉斯分類器-樸素貝葉斯算法原理和公式推導(dǎo):若DC表示訓(xùn)練數(shù)據(jù)集D中類比為c的樣本組成的集合,在數(shù)據(jù)充足,且輸入維度獨(dú)立同分布的情況下,則能夠估計(jì)出類別為c的樣本的類先驗(yàn)概率,如式若輸入維度數(shù)據(jù)為離散值的話,令樸素貝葉斯分類器-樸素貝葉斯算法原理和公式推導(dǎo):若某個(gè)屬性值在訓(xùn)練集中沒有與某個(gè)類同時(shí)出現(xiàn)過,引入拉普拉斯修正如:補(bǔ)充說明,當(dāng)用于訓(xùn)練的數(shù)據(jù)集不夠充足的時(shí)候,存在某類樣本在某

就個(gè)維度下的概率的估計(jì)值為0的情況,所以這里分母加上了樣本量,分子加了一。這樣的修改對(duì)模型最后的結(jié)果不會(huì)有太大的干擾,因?yàn)楫?dāng)用于訓(xùn)練的數(shù)據(jù)集變大的時(shí)候,這種影響會(huì)越來越小,可以忽略不計(jì),這樣,是的估計(jì)值會(huì)逐漸趨向于實(shí)際的概率值。案例分析現(xiàn)有未知樣本X=(age=“<=30”,income=“medium”,student=“yes”,credit_rating=“fair”),判斷其類別:決策樹分類算法決策樹模型(Decisiontree)即可以用于解決分類問題又可以用于解決回歸問題。決策樹算法采用樹形結(jié)構(gòu),使用層層推理最終實(shí)現(xiàn)模型目標(biāo)。決策樹由下面幾種元素構(gòu)成:1)根節(jié)點(diǎn):包含樣本的全集;2)內(nèi)部節(jié)點(diǎn):對(duì)應(yīng)特征屬性的測試;3)葉節(jié)點(diǎn):代表決策結(jié)果。決策樹得生成邏輯流程如圖所示,從圖中可以觀察發(fā)現(xiàn),決策樹的生包含3個(gè)關(guān)鍵環(huán)節(jié):特征選擇、決策樹的生成、決策樹得剪枝。決策樹分類算法特征選擇:決定使用哪些特征來做樹的分裂節(jié)點(diǎn)。在訓(xùn)練數(shù)據(jù)集中,每個(gè)樣本的屬性可能有很多個(gè),不同屬性的作用有大有小。因而特征選擇的作用就是篩選出跟分類結(jié)果相關(guān)性較高的特征,也就是分類能力較強(qiáng)的特征。在特征選擇中通常使用的準(zhǔn)則是:信息增益。

決策樹生成:選擇好特征后,就從根節(jié)點(diǎn)觸發(fā),對(duì)節(jié)點(diǎn)計(jì)算所有特征的信息增益,具有最大信息增益的屬性被作為決策樹的節(jié)點(diǎn),根據(jù)該特征的不同取值建立子節(jié)點(diǎn);對(duì)接下來的子節(jié)點(diǎn)使用相同的方式生成新的子節(jié)點(diǎn),直到信息增益很小或者沒有特征可以選擇為止。決策樹剪枝:剪枝的主要目的是防止模型的過擬合,通過主動(dòng)去掉部分分支來降低過擬合的風(fēng)險(xiǎn)。決策樹分類算法決策樹算法的原理:

決策樹算法有三種非常典型的算法原理:ID3、C4.5、CART。其中,ID3是最早提出的決策樹算法,它是利用信息增益來選擇特征的。C4.5算法:它是ID3的改進(jìn)版,他不是直接使用信息增益,而是引入“信息增益比”指標(biāo)作為特征的選擇依據(jù)。CART(ClassificationandRegressionTree)這種算法即可以用于分類,也可以用于回歸問題。CART算法使用了基尼系數(shù)取代了信息熵模型。模型生成流程:

1)從根節(jié)點(diǎn)開始,依據(jù)決策樹的各種算法的計(jì)算方式,計(jì)算各個(gè)特征的做為新的分裂節(jié)點(diǎn)的衡量指標(biāo)的值,選擇計(jì)算結(jié)果最優(yōu)的特征作為節(jié)點(diǎn)的劃分特征(其中,ID3算法選用信息增益值最大的特征,C4.5使用信息增益率,CART選用基尼指數(shù)最小的特征);

2)由該特征的不同取值建立子節(jié)點(diǎn);

3)再對(duì)子節(jié)點(diǎn)遞歸地調(diào)用以上方法,構(gòu)建決策樹;

4)直到結(jié)果收斂(不同算法評(píng)價(jià)指標(biāo)規(guī)則不同);

5)剪枝,以防止過擬合(ID3不需要)。案例分析支持向量機(jī)分類算法支持向量機(jī)(SupportVectorMachines,SVM)是一種二分類模型。其學(xué)習(xí)的基本想法是求解能夠正確劃分訓(xùn)練數(shù)據(jù)集并且?guī)缀伍g隔最大的分離超平面。如圖所示,即為分離超平面,對(duì)于線性可分的數(shù)據(jù)集來說,這樣的超平面有無窮多個(gè)(即感知機(jī)),但是幾何間隔最大的分離超平面卻是唯一的。

支持向量機(jī)分類算法-支持向量機(jī)算法原理和公式推導(dǎo)假設(shè)訓(xùn)練集合為:

D={(xi,yi)|xi其中xi為第i個(gè)特征向量,yi為xi的類標(biāo)記,當(dāng)它等于+1時(shí)為正例;當(dāng)為-1時(shí)為負(fù)例。再假設(shè)訓(xùn)練數(shù)據(jù)集是線性可分的。幾何間隔:對(duì)于給定的數(shù)據(jù)集T和超平面關(guān)于樣本(xi,yi)點(diǎn)的幾何間隔為下式所示:,定義超平面超平面關(guān)于所有樣本點(diǎn)的幾何間距的最小值為下式:支持向量機(jī)分類算法-支持向量機(jī)算法原理和公式推導(dǎo)實(shí)際上,這個(gè)距離就是我們所謂的支持向量到超平面的距離。根據(jù)以上定義,SVM模型的求解最大分割超平面問題可以表示為以下約束最優(yōu)化問題:經(jīng)過一系列化簡,求解最大分割超平面問題又可以表示為以下約束最優(yōu)化問題,如下所示:支持向量機(jī)分類算法-支持向量機(jī)算法原理和公式推導(dǎo)這是一個(gè)含有不等式約束的凸二次規(guī)劃問題,可以對(duì)其使用拉格朗日乘子法得到:當(dāng)數(shù)據(jù)線性可分時(shí),對(duì)求導(dǎo),得到如下:支持向量機(jī)分類算法-支持向量機(jī)算法原理和公式推導(dǎo)最終演化為下式最后,求解得到函數(shù)的參數(shù),即可以得到分類函數(shù)。案例分析有訓(xùn)練數(shù)據(jù)如下圖6.10展示所示,其中正例點(diǎn)是x1=(3,3)T,x2=(4,3)T,負(fù)例點(diǎn)是x3=(1,1)T,試求最大間隔分離超平面。

圖6.10

樣本數(shù)據(jù)非監(jiān)督學(xué)習(xí)聚類分析是機(jī)器學(xué)習(xí)中非監(jiān)督學(xué)習(xí)的重要的部分,其旨在發(fā)現(xiàn)數(shù)據(jù)中各元素之間的關(guān)系,組內(nèi)相似性越大,組間差距越大,聚類效果越好。在目前實(shí)際的互聯(lián)網(wǎng)業(yè)務(wù)場景中,把針對(duì)特定運(yùn)營目的和商業(yè)目的所挑選出的指標(biāo)變量進(jìn)行聚類分析,把目標(biāo)群體劃分成幾個(gè)具有明顯特征區(qū)別的細(xì)分群體,從而可以在運(yùn)營活動(dòng)中為這些細(xì)分群體采取精細(xì)化,個(gè)性化的運(yùn)營和服務(wù),最終提升運(yùn)營的效率和商業(yè)效果。非監(jiān)督學(xué)習(xí)此外,聚類分析還可以應(yīng)用于異常數(shù)據(jù)點(diǎn)的篩選檢測,例如:在反欺詐場景、異常交易場景、違規(guī)刷好評(píng)場景......聚類算法都有著非常重要的應(yīng)用,聚類算法樣式如圖所示。聚類分析大致分為5大類:基于劃分方法的聚類分析、基于層次方法的聚類分析、基于密度方法的聚類分析、基于網(wǎng)格方法的聚類分析、基于模型方法的聚類分析,本小節(jié)將挑選部分內(nèi)容來做介紹。劃分式聚類方法給定一個(gè)有N個(gè)元素的數(shù)據(jù)集,將構(gòu)造K個(gè)分組,每一個(gè)分組就代表一個(gè)聚類,K<N。這K個(gè)分組需要滿足下列幾個(gè)條件:(1)每一個(gè)分組至少包含一個(gè)數(shù)據(jù)紀(jì)錄;(2)每一個(gè)數(shù)據(jù)紀(jì)錄屬于且僅屬于一個(gè)分組(注意:這個(gè)要求在某些模糊聚類算法中可以放寬);對(duì)于給定的K,算法首先給出一個(gè)初始的分組方法,以后通過反復(fù)迭代的方法改變分組,使得每一次改進(jìn)之后的分組方案都較前一次好,而所謂好的標(biāo)準(zhǔn)就是:同一分組中的記錄越近越好,而不同分組中的紀(jì)錄越遠(yuǎn)越好。使用這個(gè)基本思想的算法有:K-means算法、K-Medoids算法、Clarants算法。這里以最為基礎(chǔ)簡單的K-means算法為例詳細(xì)展開闡述。K-meansK-means

備注:這里收斂原則具體是指簇中心收斂,即其保持在一定的范圍內(nèi)不再變動(dòng)時(shí),停止算法。

通過上述算法流程的描述,可以看到k-means算法的一些缺陷,比如:簇的個(gè)數(shù)k值的選取和簇中心的具體位置的選取是人為設(shè)定,這樣不是很準(zhǔn)確。當(dāng)然,目前有一些解決方案,例如肘方法輔助k值的選取。另外,由于簇內(nèi)中心的方法是簇內(nèi)樣本均值,所以其受異常點(diǎn)的影響非常大。最后,由于k-means采用歐式距離來衡量樣本之間的相似度,所以得到的聚簇都是凸如圖所示,不能解決其他類型的數(shù)據(jù)分布的聚類,有很大的局限性?;谏鲜鰡栴},k-means算法衍生出了例如K-Meidans、K-Medoids、K-Means++等方法。案例分析層次化聚類方法層次聚類方法將數(shù)據(jù)對(duì)象組成一顆聚類樹,如圖所示。

圖6.13聚類樹層次化聚類方法根據(jù)層次的分解是自底向上(合并)還是自頂向下(分裂),層次聚類法可以進(jìn)一步分為凝聚的(agglomerrative)和分裂的(divisive)。即可以說有兩種類型的層次聚類方法: 1.凝聚層次聚類 2.分裂層次聚類層次化聚類方法-凝聚層次聚類采用自底向上的策略,首先將每個(gè)對(duì)象作為單獨(dú)的一個(gè)簇,然后按一定規(guī)則合并這些小的簇形成一個(gè)更大的簇,直到最終所有的對(duì)象都在層次的最上層一個(gè)簇中,或者達(dá)到某個(gè)終止條件。Agnes是其代表算法,如下圖所示。層次化聚類方法-分裂層次聚類:采用自頂向下的策略,首先將所有對(duì)象置于一個(gè)簇中,然后逐漸細(xì)分為越來越小的簇,直到每個(gè)對(duì)象自成一個(gè)簇,或者達(dá)到終止條件。Diana是其代表算法,如下圖所示。層次化聚類方法-Agnes凝聚層次聚類輸入:n個(gè)對(duì)象,終止條件簇的數(shù)目k。輸出:k個(gè)簇,達(dá)到終止條件規(guī)定的簇的數(shù)目。算法流程:1、將每一個(gè)元素當(dāng)成一個(gè)初始簇;2、循環(huán)跌倒,直到達(dá)到定義的簇的數(shù)目;{ a)根據(jù)兩個(gè)簇中最近的數(shù)據(jù)點(diǎn)找到最近的兩個(gè)簇; b)合并兩個(gè)簇,生成新的簇}案例分析案例分析基于密度的聚類方法基于密度的聚類算法是根據(jù)樣本的密度分布來進(jìn)行聚類。通常情況下,密度聚類從樣本密度的角度出來,來考查樣本之間的可連接性,并基于可連接樣本不斷擴(kuò)展聚類簇,以獲得最終的聚類結(jié)果,聚類后的分布形式如圖所示。其中最有代表性的的基于密度的算法是DBSCAN算法.

圖6.15基于密度的聚類分布結(jié)果DBSCAN-基本術(shù)語DBSCAN-基本術(shù)語DBSCAN-基本術(shù)語DBSCAN案例分析強(qiáng)化學(xué)習(xí)在人工智能的發(fā)展過程中,強(qiáng)化學(xué)習(xí)已經(jīng)變得越來越重要,它的理論在很多應(yīng)用中都取得了非常重要的突破。尤其是在2017年的1月4日晚,DeepMind公司研發(fā)的AlphaGo升級(jí)版master在戰(zhàn)勝人類棋手時(shí),突然發(fā)聲自認(rèn):“我是AlphaGo的黃博士”。自此,Master已經(jīng)取得了59場的不敗紀(jì)錄,將對(duì)戰(zhàn)人類棋手的紀(jì)錄變?yōu)?9:0。而Master程序背后所應(yīng)用的強(qiáng)化學(xué)習(xí)思想也收到了廣泛的關(guān)注,那么本小節(jié)就來簡單的介紹下機(jī)器學(xué)習(xí)領(lǐng)域中非常重要的一個(gè)分枝——強(qiáng)化學(xué)習(xí)。強(qiáng)化學(xué)習(xí)vs監(jiān)督學(xué)習(xí)和非監(jiān)督學(xué)習(xí)強(qiáng)化學(xué)習(xí)從以下幾個(gè)方面明顯區(qū)別于傳統(tǒng)的監(jiān)督學(xué)習(xí)和非監(jiān)督學(xué)習(xí):1)強(qiáng)化學(xué)習(xí)中沒有像監(jiān)督學(xué)習(xí)中明顯的“l(fā)abel”,它有的只是每次行為過后的反饋;2)當(dāng)前的策略,會(huì)直接影響后續(xù)接收到的整個(gè)反饋序列;3)收到反饋或者是獎(jiǎng)勵(lì)的信號(hào)不一定是實(shí)時(shí)的,有時(shí)甚至有很多的延遲;4)時(shí)間序列是一個(gè)非常重要的因素。強(qiáng)化學(xué)習(xí)問題描述強(qiáng)化學(xué)習(xí)的組成強(qiáng)化學(xué)習(xí)問題描述強(qiáng)化學(xué)習(xí)問題描述基于上述描述,因此強(qiáng)化學(xué)習(xí)系統(tǒng)中的個(gè)體(agent)可以由一下三個(gè)組成部分中的一個(gè)或是多個(gè)組成:-策略(Policy)-價(jià)值函數(shù)(ValueFunction)-環(huán)境的模型(modeloftheenvironment)強(qiáng)化學(xué)習(xí)問題描述-策略(Policy)強(qiáng)化學(xué)習(xí)問題描述-價(jià)值函數(shù)(ValueFunction)強(qiáng)化學(xué)習(xí)問題描述-環(huán)境的模型強(qiáng)化學(xué)習(xí)問題分類1、僅基于價(jià)值函數(shù)(valuebased)的解決思路:在這樣的解決問題的思路中,有對(duì)狀態(tài)的價(jià)值估計(jì)函數(shù),但是沒有直接的策略函數(shù),策略函數(shù)由價(jià)值函數(shù)間接得到。2、僅直接基于策略的(PolicyBased)的解決思路:這樣的個(gè)體中行為直接由策略函數(shù)產(chǎn)生,個(gè)體并不維護(hù)一個(gè)對(duì)各狀態(tài)價(jià)值的估計(jì)函數(shù)。3、演員-評(píng)判家形式(Actor-Critic)的解決思路:個(gè)體既有價(jià)值函數(shù)、也有策略函數(shù)。兩者相互結(jié)合解決問題。案例分析一字棋為例,三個(gè)人輪流下,直到有一個(gè)人的棋子滿足一橫或者一豎則為贏得比賽,或者這個(gè)棋盤填滿也沒有人贏,則為和棋。一字棋案例分析環(huán)境的狀態(tài)S,這是一個(gè)九宮格,每個(gè)格子有三種狀態(tài),即沒有棋子(取值0),有第一個(gè)選手的棋子(取值1),有第二個(gè)選手的棋子(取值-1)。那么這個(gè)模型的狀態(tài)一共有3^9=1968339=19683個(gè)。動(dòng)作A,這里只有9個(gè)格子,每次也只能下一步,所以最多只有9個(gè)動(dòng)作選項(xiàng)。實(shí)際上由于已經(jīng)有棋子的格子是不能再下的,所以動(dòng)作選項(xiàng)會(huì)更少。實(shí)際可以選擇動(dòng)作的就是那些取值為0的格子。環(huán)境的獎(jiǎng)勵(lì)R,這個(gè)一般是自己設(shè)計(jì)。由于實(shí)驗(yàn)的目的是贏棋,所以如果某個(gè)動(dòng)作導(dǎo)致的改變到的狀態(tài)可以使我們贏棋,結(jié)束游戲,那么獎(jiǎng)勵(lì)最高,反之則獎(jiǎng)勵(lì)最低。其余的雙方下棋動(dòng)作都有獎(jiǎng)勵(lì),但獎(jiǎng)勵(lì)較少。特別的,對(duì)于先下的棋手,不會(huì)導(dǎo)致結(jié)束的動(dòng)作獎(jiǎng)勵(lì)要比后下的棋手少。個(gè)體的策略(policy),這個(gè)一般是學(xué)習(xí)得到的,會(huì)在每輪以較大的概率選擇當(dāng)前價(jià)值最高的動(dòng)作,同時(shí)以較小的概率去探索新動(dòng)作。案例分析整個(gè)過程的邏輯思路如下所示:REPEAT{if分出勝負(fù)或平局:

返回結(jié)果,break;Else

依據(jù)?概率選擇explore或1-?概率選擇exploit:if選擇explore模式:

隨機(jī)的選擇落點(diǎn)下棋;else選擇exploit模型:

從value_table中查找對(duì)應(yīng)最大value狀態(tài)的落點(diǎn)下棋;

根據(jù)新狀態(tài)的value在value_table中更新原狀態(tài)的value;}神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)

深度學(xué)習(xí)(DeepLearning)是近些年來在計(jì)算機(jī)領(lǐng)域中,無論是學(xué)術(shù)界還是工業(yè)界都備受關(guān)注、發(fā)展迅猛的研究領(lǐng)域。它在許多人工智能的應(yīng)用場景中,都取得了較為重大的成功和突破,例如:圖像識(shí)別、指紋識(shí)別、聲音識(shí)別、自然語言處理......但正如前面所講,從本質(zhì)上說,深度學(xué)習(xí)是機(jī)器學(xué)習(xí)的一個(gè)分支,它代表了一類問題以及它們的解決方法。而人工神經(jīng)網(wǎng)絡(luò)(ArtificialNeuralNetwork,ANN),又簡稱神經(jīng)網(wǎng)絡(luò),由于其可以很好地解決深度學(xué)習(xí)中的貢獻(xiàn)度分配問題,所以神經(jīng)網(wǎng)絡(luò)模型被大量的引入用來解決深度學(xué)習(xí)的問題。感知器模型

深度學(xué)習(xí)(DeepLearning)是近些年來在計(jì)算機(jī)領(lǐng)域中,無論是學(xué)術(shù)界還是工業(yè)界都備受關(guān)注、發(fā)展迅猛的研究領(lǐng)域。它在許多人工智能的應(yīng)用場景中,都取得了較為重大的成功和突破,例如:圖像識(shí)別、指紋識(shí)別、聲音識(shí)別、自然語言處理......但正如前面所講,從本質(zhì)上說,深度學(xué)習(xí)是機(jī)器學(xué)習(xí)的一個(gè)分支,它代表了一類問題以及它們的解決方法。而人工神經(jīng)網(wǎng)絡(luò)(ArtificialNeuralNetwork,ANN),又簡稱神經(jīng)網(wǎng)絡(luò),由于其可以很好地解決深度學(xué)習(xí)中的貢獻(xiàn)度分配問題,所以神經(jīng)網(wǎng)絡(luò)模型被大量的引入用來解決深度學(xué)習(xí)的問題。感知器模型圖

感知器原理示意圖感知器模型感知器模型前饋神經(jīng)網(wǎng)絡(luò)一個(gè)感知器處理的問題還是比較簡單,但當(dāng)通過一定的連接方式將多個(gè)不同的神經(jīng)元模型組合起來的時(shí)候,就變有了神經(jīng)網(wǎng)絡(luò)。其處理問題的能力也大大的提高。這里,有一種連接方式,叫做“前饋網(wǎng)絡(luò)”。它是整個(gè)神經(jīng)元模型組成的網(wǎng)絡(luò)中,信息朝著一個(gè)方向傳播,沒有反向的回溯。按照接受信息的順序不同被分為不同的層,當(dāng)前層的神經(jīng)元接受前一層神經(jīng)元的輸出,并將處理過的信息輸出傳遞給下一層。前饋神經(jīng)網(wǎng)絡(luò)第一層神經(jīng)元被稱為輸入層,它所包含的神經(jīng)元個(gè)數(shù)不確定,大于1就好,此處為三個(gè)。最后一層,被稱為輸出層,它所涵蓋的神經(jīng)的個(gè)數(shù)也是可以根據(jù)具體情況具體確定的,圖例中輸出層兩個(gè)個(gè)神經(jīng)元,其可以根據(jù)實(shí)際情況有多個(gè)輸出的神經(jīng)元。中間層被統(tǒng)一稱為隱層,隱層的層數(shù)不確定,每一層的神經(jīng)元的個(gè)數(shù)也可以根據(jù)實(shí)際情況進(jìn)行調(diào)整。前饋神經(jīng)網(wǎng)絡(luò)卷積神經(jīng)網(wǎng)絡(luò)

卷積神經(jīng)網(wǎng)絡(luò)(ConvolutionalNeturalNetwork,CNN)是前饋神經(jīng)網(wǎng)絡(luò)中的一種,但當(dāng)使用全連接前饋神經(jīng)網(wǎng)絡(luò)進(jìn)行圖像信息的處理時(shí),全連接前饋神經(jīng)網(wǎng)絡(luò)存在由于參數(shù)過多,進(jìn)而導(dǎo)致計(jì)算量過大和圖像中物體的局部不變的特征不能順利提取出的問題。卷積神經(jīng)網(wǎng)絡(luò)通常由以下三層交叉堆疊而組成:卷積層、匯聚層(PoolingLayer)、全連接層。卷積神經(jīng)網(wǎng)絡(luò)-手寫數(shù)字識(shí)別卷積神經(jīng)網(wǎng)絡(luò)-具體工作流程1、把手寫字體圖片轉(zhuǎn)換成像素矩陣(32,32)作為輸入數(shù)據(jù);2、對(duì)像素矩陣進(jìn)行第一層卷積運(yùn)算,生成六個(gè)featuremap為上圖C1(28,28);3、對(duì)每個(gè)featuremap進(jìn)行池化操作,其在在保留featuremap特征的同時(shí)縮小數(shù)據(jù)量。生成六個(gè)小圖S2(14,14),這六個(gè)小圖和上一層各自的featuremap長得很像,但尺寸縮小了。卷積神經(jīng)網(wǎng)絡(luò)-具體工作流程4、對(duì)六個(gè)小圖進(jìn)行第二層卷積運(yùn)算,生成更多featuremap,為C3(10,10);5、對(duì)第二次卷積生成的featuremap進(jìn)行池化操作,生成16張S4(5,5);6、進(jìn)行第一層全連接層操作;7、進(jìn)行第二層全連接層操作;8、高斯連接層,輸出結(jié)果;卷積神經(jīng)網(wǎng)絡(luò)它的作用是在原圖中把符合卷積核特征的特征提取出來,進(jìn)而得到特征圖(featuremap)。所以卷積核的本質(zhì)就是將原圖中符合卷積核特征的特征提取出啦,展示到特征圖當(dāng)中。卷積層池化池化又叫做下采樣(subsampling),它的目的是在保留特征的同時(shí)壓縮數(shù)據(jù)量。用一個(gè)像素代替原圖上鄰近的若干像素,在保留featuremap特征的同時(shí)壓縮其大小。因此它的作用:防止數(shù)據(jù)爆炸,節(jié)省運(yùn)算量和運(yùn)算時(shí)間,同時(shí)又能防止過擬合、過學(xué)習(xí)。其它類型結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)其又可以被稱為反饋網(wǎng)絡(luò)。相比于前饋神經(jīng)網(wǎng)絡(luò)僅接受上一層神經(jīng)元傳遞的信息,在記憶網(wǎng)絡(luò)中的神經(jīng)元不但可以接受其它神經(jīng)元的信息,它還可以記憶自己在歷史狀態(tài)中的各種狀態(tài)來獲取信息。在記憶神經(jīng)網(wǎng)絡(luò)中,信息傳播可以是單向的或者是雙向的,其結(jié)構(gòu)示意圖如圖所示。包括:循環(huán)神經(jīng)網(wǎng)絡(luò)、HopField神經(jīng)網(wǎng)絡(luò)、玻爾茲曼機(jī)、受限玻爾茲曼機(jī)等。記憶網(wǎng)絡(luò)其它類型結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)圖網(wǎng)絡(luò)結(jié)構(gòu)類型的神經(jīng)網(wǎng)絡(luò)是前饋神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)和記憶網(wǎng)絡(luò)結(jié)構(gòu)的泛化,它是定義在圖結(jié)構(gòu)數(shù)據(jù)上的神經(jīng)網(wǎng)絡(luò)。圖中的每個(gè)節(jié)點(diǎn)都是由一個(gè)或是一組神經(jīng)元構(gòu)成,節(jié)點(diǎn)之間的連接可以是有向的,也可以是無向的。圖網(wǎng)絡(luò)圖網(wǎng)絡(luò)結(jié)構(gòu)案例分析案例分析案例分析案例:銀行貸款用戶篩選借貸業(yè)務(wù)是銀行資產(chǎn)業(yè)務(wù)的重要基礎(chǔ)。銀行擁有大量的擁有不同資產(chǎn)規(guī)模的儲(chǔ)戶,如何精準(zhǔn)有效的將存款用戶轉(zhuǎn)化成為貸款用戶,進(jìn)而提高銀行的收入,同時(shí)又能規(guī)避不合規(guī)用戶帶來的壞賬風(fēng)險(xiǎn),一直是銀行業(yè)務(wù)部門需要研究的重要問題。即通過銀行后臺(tái)現(xiàn)有收集到的用戶的數(shù)據(jù),明確現(xiàn)有儲(chǔ)戶的潛在需求。這里,我們采用邏輯斯特回歸分類模型來解決銀行可放貸用戶的篩選問題。案例:銀行貸款用戶篩選確定特征屬性及劃分訓(xùn)練集,其中用于訓(xùn)練數(shù)據(jù)的數(shù)據(jù)集如圖所示。在實(shí)際應(yīng)用中,特征屬性的數(shù)量很多,劃分的比較細(xì)致,這里我們?yōu)榱朔奖闫鹨姡x用最終計(jì)算好的復(fù)合指標(biāo),分別是商業(yè)信用指數(shù)和競爭等級(jí)作為模型訓(xùn)練的屬性維度。Label表示最終對(duì)用戶貸款的結(jié)果,1表示貸款成功,0表示貸款失敗。另外,由于實(shí)際的樣本量比較大,這里只截取部分?jǐn)?shù)據(jù)如上表6.10所示供大家參考。案例:銀行貸款用戶篩選-模型構(gòu)造案例:銀行貸款用戶篩選-預(yù)測函數(shù)的參數(shù)求解案例:銀行貸款用戶篩選-用戶篩選分類預(yù)測第4章Logistic回歸

導(dǎo)入導(dǎo)入103

目錄104線性回歸Logistic回歸用PyTorch實(shí)現(xiàn)logisticregressionlogisticregression的算法優(yōu)化logisticregression的模型可視化第一節(jié)第二節(jié)第三節(jié)第四節(jié)第五節(jié)1線性回歸線性回歸106

線性回歸107

線性回歸108

線性回歸109

線性回歸110

線性回歸111

線性回歸112

線性回歸113

2Logistic回歸Logistic回歸115

Logistic回歸116

Logistic函數(shù)圖像Logistic回歸117

Logistic回歸118

3用PyTorch實(shí)現(xiàn)logisticregression用PyTorch實(shí)現(xiàn)logisticregression120用PyTorch實(shí)現(xiàn)logisticregression的代碼主要依賴于三個(gè)模塊用PyTorch實(shí)現(xiàn)logisticregression121

用PyTorch實(shí)現(xiàn)logisticregression122數(shù)據(jù)準(zhǔn)備17-18行設(shè)置樣本對(duì)應(yīng)的標(biāo)簽y,分別用0和1表示不同高斯分布的數(shù)據(jù),也就是正樣本和負(fù)樣本。第21行使用cat函數(shù)將x1和x2組合在一起,第22-24行打亂樣本和標(biāo)簽的順序,將數(shù)據(jù)重新隨機(jī)排列是十分重要的步驟,否則算法的每次迭代只會(huì)學(xué)習(xí)到同一個(gè)類別的信息,容易造成模型過擬合。用PyTorch實(shí)現(xiàn)logisticregression123數(shù)據(jù)準(zhǔn)備17-18行設(shè)置樣本對(duì)應(yīng)的標(biāo)簽y,分別用0和1表示不同高斯分布的數(shù)據(jù),也就是正樣本和負(fù)樣本。第21行使用cat函數(shù)將x1和x2組合在一起,第22-24行打亂樣本和標(biāo)簽的順序,將數(shù)據(jù)重新隨機(jī)排列是十分重要的步驟,否則算法的每次迭代只會(huì)學(xué)習(xí)到同一個(gè)類別的信息,容易造成模型過擬合。用PyTorch實(shí)現(xiàn)logisticregression124

用PyTorch實(shí)現(xiàn)logisticregression125線性方程上面代碼的第一行定義了線性模型的輸入維度D_in和輸出維度D_out,第2-3行實(shí)例化了nn.Linear,將線性模型應(yīng)用到數(shù)據(jù)x上,得到計(jì)算結(jié)果output。Linear的初始參數(shù)是隨機(jī)設(shè)置的,可以調(diào)用Linear.weight和Linear.bias獲取線性模型的參數(shù),第5行打印了輸入變量x,模型參數(shù)weight和bias,計(jì)算結(jié)果output的維度。第7-8行定義了我們自己實(shí)現(xiàn)的線性模型my_linear,第10行將my_linear的計(jì)算結(jié)果和PyTorch的計(jì)算結(jié)果output做比較,可以發(fā)現(xiàn)其結(jié)果一致。用PyTorch實(shí)現(xiàn)logisticregression126激活函數(shù)前文介紹了torch.nn.Linear可用于實(shí)現(xiàn)線性模型,除此之外,它還提供了機(jī)器學(xué)習(xí)當(dāng)中常用的激活函數(shù),logistcregression用于二分類問題時(shí),使用sigmoid函數(shù)將線性模型的計(jì)算結(jié)果映射到0和1之間,得到的計(jì)算結(jié)果作為樣本為正類的置信概率。torch.nn.Sigmoid()提供了這一函數(shù)的計(jì)算,在使用時(shí),將Sigmoid類實(shí)例化,再將需要計(jì)算的變量作為參數(shù)傳遞給實(shí)例化的對(duì)象。用PyTorch實(shí)現(xiàn)logisticregression127激活函數(shù)作為練習(xí),第4-6行手動(dòng)實(shí)現(xiàn)sigmoid函數(shù),第8行通過PyTorch驗(yàn)證我們的實(shí)現(xiàn)結(jié)果,其結(jié)果一致。用PyTorch實(shí)現(xiàn)logisticregression128損失函數(shù)logisticregression使用交叉熵作為損失函數(shù)。PyTorch的torch.nn提供了許多標(biāo)準(zhǔn)的損失函數(shù),我們可以直接使用torch.nn.BCELoss計(jì)算二值交叉熵?fù)p失。第1-2行調(diào)用了BCELoss來計(jì)算我們實(shí)現(xiàn)的logisticregression模型的輸出結(jié)果sigmoid(output)和數(shù)據(jù)的標(biāo)簽y,同樣地,在4-6行我們自定義了二值交叉熵函數(shù),在第8行將my_loss和PyTorch的BCELoss做比較,發(fā)現(xiàn)結(jié)果無差。用PyTorch實(shí)現(xiàn)logisticregression129損失函數(shù)在前面的代碼中,我們使用了torch.nn包中的線性模型nn.Linear,激活函數(shù)nn.Softmax(),損失函數(shù)nn.BCELoss,它們都繼承于nn.Module類,在PyTorch中,我們通過繼承nn.Module來構(gòu)建我們自己的模型。接下來我們用nn.Module來實(shí)現(xiàn)logisticRegression。用PyTorch實(shí)現(xiàn)logisticregression130損失函數(shù)通過繼承nn.Module實(shí)現(xiàn)自己的模型時(shí),forward()方法是必須被子類覆寫的,在forward內(nèi)部應(yīng)當(dāng)定義每次調(diào)用模型時(shí)執(zhí)行的計(jì)算。從前面的應(yīng)用我們可以看出,nn.Module類的主要作用就是接收Tensor然后計(jì)算并返回結(jié)果。在一個(gè)Module中,還可以嵌套其他的Module,被嵌套的Module的屬性就可以被自動(dòng)獲取,比如可以調(diào)用nn.Module.parameters()方法獲取Module所有保留的參數(shù),調(diào)用nn.Module.to()方法將模型的參數(shù)放置到GPU上等等。logisticregression的算法優(yōu)化第四節(jié)4logisticregression的算法優(yōu)化logisticregression的算法優(yōu)化133優(yōu)化算法logisticregression通常采用梯度下降法優(yōu)化目標(biāo)函數(shù)。PyTorch的torch.optim包實(shí)現(xiàn)了大多數(shù)常用的優(yōu)化算法,使用起來非常簡單。首先構(gòu)建一個(gè)優(yōu)化器,在構(gòu)建時(shí),首先需要將待學(xué)習(xí)的參數(shù)傳入,然后傳入優(yōu)化器需要的參數(shù),比如學(xué)習(xí)率。logisticregression的算法優(yōu)化134優(yōu)化算法構(gòu)建完優(yōu)化器,就可以迭代的對(duì)模型進(jìn)行訓(xùn)練,有兩個(gè)步驟,其一是調(diào)用損失函數(shù)的backward()方法計(jì)算模型的梯度,然后再調(diào)用優(yōu)化器的step()方法,更新模型的參數(shù)。需要注意的是,首先應(yīng)當(dāng)調(diào)用優(yōu)化器的zero_grad()方法清空參數(shù)的梯度。5logisticregression的模型可視化logisticregression的模型可視化136

logisticregression的模型可視化137模型可視化結(jié)果圖小結(jié)138Logistic回歸是深度學(xué)習(xí)中最基礎(chǔ)的非線性模型之一。作為鋪墊,在介紹Logistic回歸以前,本章首先介紹了線性回歸。線性回歸的預(yù)測目標(biāo)是連續(xù)變量,而Logistic回歸的預(yù)測目標(biāo)是二元變量。為了應(yīng)對(duì)這一差異,Logistic回歸在線性回歸的基礎(chǔ)上加入了Sigmoid激活函數(shù)。本章最后使用PyTorch實(shí)現(xiàn)了Logistic回歸模型,讀者可以通過這個(gè)例子進(jìn)一步體會(huì)深度學(xué)習(xí)模型構(gòu)建的整體流程以及框架編程的簡便性。THANKYOU第5章神經(jīng)網(wǎng)絡(luò)基礎(chǔ)多層感知器141人工智能的研究者為了模擬人類的認(rèn)知,提出了不同的模型。人工神經(jīng)網(wǎng)絡(luò)是人工智能中非常重要的一個(gè)學(xué)派——連接主義最為廣泛使用的模型。在傳統(tǒng)上,基于規(guī)則的符號(hào)主義學(xué)派認(rèn)為,人類的認(rèn)知是基于信息中的模式;而這些模式可以被表示成為符號(hào),并可以通過操作這些符號(hào),顯式地使用邏輯規(guī)則進(jìn)行計(jì)算與推理。事務(wù)認(rèn)知實(shí)踐積累信息處理理解決策01擁有處理信號(hào)的基礎(chǔ)單元而基于統(tǒng)計(jì)的連接主義的模型將認(rèn)知所需的功能屬性結(jié)合到模型中來,通過模擬生物神經(jīng)網(wǎng)絡(luò)的信息處理方式來構(gòu)建具有認(rèn)知功能的模型。類似于生物神經(jīng)元與神經(jīng)網(wǎng)絡(luò),這類模型具有三個(gè)特點(diǎn):多層感知器02處理單元之間以并行方式連接03處理單元之間的連接是有權(quán)重的

這一類模型被稱為人工神經(jīng)網(wǎng)絡(luò),多層感知器是最為簡單的一種。目錄143多層感知器的相關(guān)基礎(chǔ)概念單層感知器和多層感知器BP神經(jīng)網(wǎng)絡(luò)Dropout正則化批標(biāo)準(zhǔn)化第一節(jié)第二節(jié)第三節(jié)第四節(jié)第五節(jié)第一節(jié)基礎(chǔ)概念神經(jīng)元145神經(jīng)元是基本的信息操作和處理單位。它接受一組輸入,將這組輸入加權(quán)求和后,由激活函數(shù)來計(jì)算該神經(jīng)元的輸出。輸入146

輸出147

連接權(quán)值

148偏置

149激活函數(shù)

150激活函數(shù)SoftMax

151Sigmoid

152Tanh

153ReLU

154神經(jīng)網(wǎng)絡(luò)155神經(jīng)網(wǎng)絡(luò)是一個(gè)有向圖,以神經(jīng)元為頂點(diǎn),神經(jīng)元的輸入為頂點(diǎn)的入邊,神經(jīng)元的輸出為頂點(diǎn)的出邊。因此神經(jīng)網(wǎng)絡(luò)實(shí)際上是一個(gè)計(jì)算圖,直觀地展示了一系列對(duì)數(shù)據(jù)進(jìn)行計(jì)算操作的過程。神經(jīng)網(wǎng)絡(luò)是一個(gè)端到端的系統(tǒng),這個(gè)系統(tǒng)接受一定形式的數(shù)據(jù)作為輸入,經(jīng)過系統(tǒng)內(nèi)的一系列計(jì)算操作后,給出一定形式的數(shù)據(jù)作為輸出;系統(tǒng)內(nèi)的運(yùn)算可以被視為一個(gè)黑箱子,這與人類的認(rèn)知在一定程度上具有相似性。通常地,為了直觀起見,人們對(duì)神經(jīng)網(wǎng)絡(luò)中的各頂點(diǎn)進(jìn)行了層次劃分。神經(jīng)網(wǎng)絡(luò)的層次劃分156輸入層接受來自網(wǎng)絡(luò)外部的數(shù)據(jù)的頂點(diǎn),組成輸入層。輸出層向網(wǎng)絡(luò)外部輸出數(shù)據(jù)的頂點(diǎn),組成輸出層。隱藏層除了輸入層和輸出層以外的其他層,均為隱藏層訓(xùn)練157

感知器感知器的概念由RosenblattFrank在1957提出,是一種監(jiān)督訓(xùn)練的二元分類器。158單層感知器

159單層感知器

160多層感知器

161多層感知器

162BP神經(jīng)網(wǎng)絡(luò)在多層感知器被引入的同時(shí),也引入了一個(gè)新的問題:由于隱藏層的預(yù)期輸出并沒有在訓(xùn)練樣例中給出,隱藏層結(jié)點(diǎn)的誤差無法像單層感知器那樣直接計(jì)算得到。為了解決這個(gè)問題,后向傳播算法被引入,其核心思想是將誤差由輸出層向前層后向傳播,利用后一層的誤差來估計(jì)前一層的誤差。后向傳播算法由HenryJ.Kelley在1960和ArthurE.Bryson在1961分別提出。使用后向傳播算法訓(xùn)練的網(wǎng)絡(luò)稱為BP神經(jīng)網(wǎng)絡(luò)。163梯度下降

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論