深度學習理論與實踐 課件 第3-5章 機器學習基礎、Logistic回歸、神經網絡基礎_第1頁
深度學習理論與實踐 課件 第3-5章 機器學習基礎、Logistic回歸、神經網絡基礎_第2頁
深度學習理論與實踐 課件 第3-5章 機器學習基礎、Logistic回歸、神經網絡基礎_第3頁
深度學習理論與實踐 課件 第3-5章 機器學習基礎、Logistic回歸、神經網絡基礎_第4頁
深度學習理論與實踐 課件 第3-5章 機器學習基礎、Logistic回歸、神經網絡基礎_第5頁
已閱讀5頁,還剩177頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

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

c

)和條件概率P(

x|c

)。先驗概率P(

c

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

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

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

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

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

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

3)再對子節(jié)點遞歸地調用以上方法,構建決策樹;

4)直到結果收斂(不同算法評價指標規(guī)則不同);

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

支持向量機分類算法-支持向量機算法原理和公式推導假設訓練集合為:

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

圖6.10

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

備注:這里收斂原則具體是指簇中心收斂,即其保持在一定的范圍內不再變動時,停止算法。

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

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

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

返回結果,break;Else

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

隨機的選擇落點下棋;else選擇exploit模型:

從value_table中查找對應最大value狀態(tài)的落點下棋;

根據新狀態(tài)的value在value_table中更新原狀態(tài)的value;}神經網絡和深度學習

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

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

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

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

導入導入103

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

線性回歸107

線性回歸108

線性回歸109

線性回歸110

線性回歸111

線性回歸112

線性回歸113

2Logistic回歸Logistic回歸115

Logistic回歸116

Logistic函數圖像Logistic回歸117

Logistic回歸118

3用PyTorch實現logisticregression用PyTorch實現logisticregression120用PyTorch實現logisticregression的代碼主要依賴于三個模塊用PyTorch實現logisticregression121

用PyTorch實現logisticregression122數據準備17-18行設置樣本對應的標簽y,分別用0和1表示不同高斯分布的數據,也就是正樣本和負樣本。第21行使用cat函數將x1和x2組合在一起,第22-24行打亂樣本和標簽的順序,將數據重新隨機排列是十分重要的步驟,否則算法的每次迭代只會學習到同一個類別的信息,容易造成模型過擬合。用PyTorch實現logisticregression123數據準備17-18行設置樣本對應的標簽y,分別用0和1表示不同高斯分布的數據,也就是正樣本和負樣本。第21行使用cat函數將x1和x2組合在一起,第22-24行打亂樣本和標簽的順序,將數據重新隨機排列是十分重要的步驟,否則算法的每次迭代只會學習到同一個類別的信息,容易造成模型過擬合。用PyTorch實現logisticregression124

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

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

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

輸出147

連接權值

148偏置

149激活函數

150激活函數SoftMax

151Sigmoid

152Tanh

153ReLU

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

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

159單層感知器

160多層感知器

161多層感知器

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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論