機器學習(Python版) 課件 第2章 離散變量與分類_第1頁
機器學習(Python版) 課件 第2章 離散變量與分類_第2頁
機器學習(Python版) 課件 第2章 離散變量與分類_第3頁
機器學習(Python版) 課件 第2章 離散變量與分類_第4頁
機器學習(Python版) 課件 第2章 離散變量與分類_第5頁
已閱讀5頁,還剩298頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

機器學習(Python版)Chap2離散變量與分類Chap2.1k近鄰分類器散打機器學習算法每個機器學習算法就像我們每個人一樣,獨一無二,充滿個性,有強項,有弱項。如何學到本質(zhì)的東西,做到舉一反三?如何用最少的資源學得更快更好?這些問題是共性的。散打機器學習算法之kNN

喜歡交友,吸取別人的長處;可是,有時候就只相信一個朋友,偏聽偏信;有時候又反過來,朋友一大堆,人多嘴雜,成事不足,敗事有余。如何交更多的朋友,如何就具體問題分辨哪些是良友,這是擅交際的knn面臨的主要問題。kNN之kkNN之距離度量11p=1p=2p=∞

Lp距離(Minkowski距離)kNN之距離度量馬氏距離

kNN之距離度量kNN之距離度量數(shù)據(jù)的歸一化或標準化kNN之決策規(guī)則多數(shù)表決法vs加權(quán)多數(shù)表決法kNN小結(jié)

一種非常經(jīng)典、原理十分易于理解的算法,其涉及的距離計算、決策規(guī)則可為更復雜模型提供參考kNN小結(jié)kNN核心代碼實現(xiàn)kNN核心代碼實現(xiàn)kNN核心代碼實現(xiàn)kNN核心代碼實現(xiàn)kNN核心代碼實現(xiàn)3D繪圖代碼:kNN核心代碼實現(xiàn)kNN核心代碼實現(xiàn)kNN核心代碼實現(xiàn)kNN核心代碼實現(xiàn)kNN核心代碼實現(xiàn)kNN核心代碼實現(xiàn)

微課視頻:kNN三要素教材《機器學習(Python版)》MLkNN之kk=15k=1

N個訓練樣本kNN之kkNN之距離度量11p=1p=2p=∞

Lp距離(Minkowski距離)kNN之距離度量馬氏距離

kNN之距離度量kNN之距離度量數(shù)據(jù)的歸一化或標準化kNN之決策規(guī)則多數(shù)表決法vs加權(quán)多數(shù)表決法學習進步!

微課視頻:kNN核心代碼實現(xiàn)教材《機器學習(Python版)》MLkNN核心代碼實現(xiàn)kNN核心代碼實現(xiàn)kNN核心代碼實現(xiàn)kNN核心代碼實現(xiàn)kNN核心代碼實現(xiàn)3D繪圖代碼:kNN核心代碼實現(xiàn)kNN核心代碼實現(xiàn)kNN核心代碼實現(xiàn)kNN核心代碼實現(xiàn)kNN核心代碼實現(xiàn)kNN核心代碼實現(xiàn)學習進步!機器學習(Python版)Chap2離散變量與分類Chap2.2決策樹散打機器學習算法之DT

內(nèi)秀,愛思考,喜歡總結(jié)規(guī)則;理性,遇事講規(guī)則,根據(jù)一堆規(guī)則做決定??墒?,事情復雜,規(guī)則太少時,雖然不太情愿,也只好學knn,朋友些都來幫忙;事情簡單,總結(jié)的規(guī)則卻太多時,又常常懵圈犯錯。如何總結(jié)出合適好用的規(guī)則,拿掉沒用或多余的規(guī)則,如何決定規(guī)則的重要程度,這些是內(nèi)秀的dt很困惑的事情。算法原理算法原理原理很簡單:就是一組if-then規(guī)則樹結(jié)構(gòu)

內(nèi)部結(jié)點:特征/屬性,對應規(guī)則的條件

葉結(jié)點:類別,對應規(guī)則的結(jié)論規(guī)則:根結(jié)點到葉節(jié)點的路徑;互斥且完備三要素:特征選擇、決策樹構(gòu)造、決策樹剪枝算法流程算法流程你能找出所有遞歸出口嗎?劃分屬性選擇信息熵劃分屬性選擇信息增益劃分屬性選擇信息增益最大準則劃分屬性選擇劃分屬性選擇劃分屬性選擇劃分屬性選擇劃分屬性選擇劃分屬性選擇——增益率問題:劃分屬性選擇——增益率劃分屬性選擇——基尼系數(shù)劃分屬性選擇——基尼系數(shù)劃分屬性選擇——基尼系數(shù)更詳細的相關(guān)介紹信息增益準則

符合直覺:選擇一個特征將訓練集分割成子集,使得每個子集在當前條件下有最好的分類結(jié)果。分割后熵減少得最多。

相關(guān)概念:(1)熵H(X):隨機變量不確定性的度量(只與分布pi有關(guān),故也記作H(p))(由定義易驗證,注意約定0log0=0)熵越大隨機變量不確定性就越大以0-1分布(Bernoulli分布)為例比如扔硬幣

知識點:微積分里的羅必塔法則

更詳細的相關(guān)介紹信息增益準則相關(guān)概念:(2)條件熵H(Y|X):在己知隨機變量X的條件下隨機變量Y的不確定性(3)信息增益g(D,A):已知特征的信息而使得類的信息的不確定性減少的程度;等價于訓練集D中特征與類的互信息D:訓練集A:特征g(D,A)=H(D)-H(D|A)思考題0:如何才能使得g(D,A)最大?更詳細的相關(guān)介紹信息增益準則相關(guān)算法:選擇信息增益最大的特征輸入:訓練數(shù)據(jù)集D和特征A;輸出:特征A對訓練數(shù)據(jù)集D的信息增益g(D,A)1、計算數(shù)據(jù)集D的經(jīng)驗熵H(D)2、計算特征A對數(shù)據(jù)集D的經(jīng)驗條件熵H(D|A)3、計算信息增益設訓練數(shù)據(jù)集為D|D|表示其樣本容量,即樣本個數(shù)設有K個類Ck,k=1,2,…K,|Ck|為屬于類Ck的樣本個數(shù)特征A有n個不同的取值{a1,a2…an},根據(jù)特征A的取值將D劃分為n個子集D1…Dn|Di|為Di的樣本個數(shù)記子集Di中屬于類Ck的樣本集合為Dik|Dik|為Dik的樣本個數(shù)更詳細的相關(guān)介紹ID3算法核心:在決策樹各結(jié)點應用信息增益準則選擇特征,遞歸的構(gòu)造決策樹基本思想:每次優(yōu)先選取信息量最多的屬性,亦即能使熵值變?yōu)樽钚〉膶傩裕詷?gòu)造一顆熵值下降最快的決策樹,到葉子節(jié)點處的熵值為0。此時,每個葉子節(jié)點對應的實例集中的實例屬于同一類。具體方法:從根結(jié)點開始,對結(jié)點計算所有可能特征的信息增益,選擇信息增益最大的特征作為結(jié)點的特征,由該特征的不同取值建立子結(jié)點;再對子結(jié)點遞歸的調(diào)用以上方法,構(gòu)造決策樹;直到類別相同或沒有特征可以選擇為止,構(gòu)造完成。更詳細的相關(guān)介紹算法歷史1962年Hunt在研究人類概念學習時提出CLSHunt的學生Quinlan在1979年提出ID3算法Quinlan在1993年進一步提出C4.5算法,采用信息增益比選擇特征Breiman在1984年提出CART算法,既可用于分類也可用于回歸,采用二叉樹,回歸樹采用平方誤差最小化準則,分類樹采用基尼指數(shù)最小化準則決策樹剪枝決策樹剪枝避免過擬合!!核心代碼實現(xiàn)核心代碼實現(xiàn)核心代碼實現(xiàn)核心代碼實現(xiàn)核心代碼實現(xiàn)核心代碼實現(xiàn)核心代碼實現(xiàn)核心代碼實現(xiàn)核心代碼實現(xiàn)核心代碼實現(xiàn)核心代碼實現(xiàn)核心代碼實現(xiàn)核心代碼實現(xiàn)核心代碼實現(xiàn)核心代碼實現(xiàn)核心代碼實現(xiàn)核心代碼實現(xiàn)算法特點

計算效率高:無論是構(gòu)造還是測試(回憶kNN的加速需采用kd樹等算法)

學習結(jié)果可解釋好理解自動忽略對決策過程沒有貢獻的特征/屬性(可供判斷特征/屬性重要性)能夠處理特征/屬性有缺失值的情況

主要問題:容易過擬合貨比兩家

微課視頻:決策樹算法原理教材《機器學習(Python版)》ML算法原理決策樹是一類基于樹結(jié)構(gòu)進行決策的機器學習方法2.1節(jié)介紹的k近鄰算法可以完成很多分類任務,但其無法給出數(shù)據(jù)的內(nèi)在含義,而決策樹可以用于理解數(shù)據(jù)中蘊含的知識信息,具有使得數(shù)據(jù)形式非常易于理解的優(yōu)勢決策樹算法可以針對不熟悉的數(shù)據(jù)集合,從中提取一系列規(guī)則,從而構(gòu)建出一棵決策樹決策樹學習的目的是為了產(chǎn)生一棵泛化能力強,即處理未知示例能力強的決策樹算法原理算法原理原理很簡單:就是一組if-then規(guī)則樹結(jié)構(gòu)

內(nèi)部結(jié)點:特征/屬性,對應規(guī)則的條件

葉結(jié)點:類別,對應規(guī)則的結(jié)論規(guī)則:根結(jié)點到葉節(jié)點的路徑;互斥且完備三要素:特征選擇、決策樹構(gòu)造、決策樹剪枝算法流程算法流程你能找出所有遞歸出口嗎?學習進步!

微課視頻:決策樹最優(yōu)劃分屬性選擇教材《機器學習(Python版)》ML劃分屬性選擇信息熵劃分屬性選擇信息增益劃分屬性選擇信息增益最大準則劃分屬性選擇劃分屬性選擇劃分屬性選擇劃分屬性選擇劃分屬性選擇劃分屬性選擇——增益率問題:劃分屬性選擇——增益率劃分屬性選擇——基尼系數(shù)劃分屬性選擇——基尼系數(shù)劃分屬性選擇——基尼系數(shù)學習進步!

微課視頻:決策樹的核心代碼實現(xiàn)教材《機器學習(Python版)》ML核心代碼實現(xiàn)核心代碼實現(xiàn)核心代碼實現(xiàn)核心代碼實現(xiàn)核心代碼實現(xiàn)核心代碼實現(xiàn)核心代碼實現(xiàn)核心代碼實現(xiàn)核心代碼實現(xiàn)核心代碼實現(xiàn)核心代碼實現(xiàn)核心代碼實現(xiàn)核心代碼實現(xiàn)核心代碼實現(xiàn)核心代碼實現(xiàn)核心代碼實現(xiàn)核心代碼實現(xiàn)學習進步!機器學習(Python版)Chap2離散變量與分類Chap2.3對數(shù)幾率回歸散打機器學習算法之Logreg

屬于概率派,喜歡用概率來判斷一件事情。學習的規(guī)則就是基于所有過去的經(jīng)驗——使得其正確的概率最大或錯誤的概率最小。當然這樣做的風險是,可能被一些錯誤的經(jīng)驗所誤導。對于新的事情,決策的規(guī)則就是選擇正確概率大或錯誤概率小的一邊。線性模型

分類怎么辦?線性分類模型在分類問題中,由于輸出目標??是一些離散的標簽,而??(??;??)的值域為實數(shù),因此無法直接用??(??;??)來進行預測,需要引入一個非線性的決策函數(shù)(DecisionFunction)??(?)來預測輸出目標:其中??(??;??)也稱為判別函數(shù)(DiscriminantFunction).對于二分類問題,??(?)可以是符號函數(shù)(SignFunction),定義為注意:b也寫進向量w,對應的向量x中的分量為1!!對數(shù)幾率(Logistic)函數(shù)對比符號函數(shù)/單位階躍函數(shù):決策函數(shù)一般要求單調(diào)可微,而符號函數(shù)/單位階躍函數(shù)不連續(xù)!對數(shù)幾率函數(shù)能夠在一定程度上近似符號函數(shù)/單位階躍函數(shù),而且單調(diào)可微,是常用的替代函數(shù)!

對數(shù)幾率(Logistic)函數(shù)S形函數(shù)最重要的代表:將實數(shù)值擠壓到(0,1)區(qū)間,也稱為激活函數(shù)以點(0,1/2)為中心對稱:tanh,probit是另一些類似的S形函數(shù)!對數(shù)幾率(Logistic)函數(shù)f(z)=1/(1+e^(-z)),f’(z)=f(z)(1-f(z))思考題負2:推導f’(z)。對數(shù)幾率(Logistic)函數(shù)對數(shù)幾率回歸(Logisticregression)引入對數(shù)幾率函數(shù)作為決策函數(shù)(DecisionFunction):特別注意:名字是回歸,實際是分類??!對數(shù)幾率回歸——參數(shù)學習小知識:極大似然估計法(MLE)1、思想:假定觀察到的概率分布(似然)就是真實的分布(總體分布、理想分布),因此優(yōu)化的目標就是找到(根據(jù)樣本擬合出)這個觀察到的概率分布。2、以拋硬幣為例:假如拋10次,6次正面,4次反面,我們就會擬合出概率分布為P(正面)=6/10,P(反面)=4/10。3、顯然,如果拋的次數(shù)太少,可能會過擬合,偏離真實的分布(正反面各占50%)。對數(shù)幾率回歸——參數(shù)學習小知識:極大似然估計法(MLE)1、一維高斯分布的例子:擬合出的高斯分布滿足盡可能多的訓練樣本點對數(shù)幾率回歸——參數(shù)學習小知識:梯度下降(GD)

對數(shù)幾率回歸——參數(shù)學習

yi=0=>0,1-yi=1=>p0;yi=1=>p1,1-yi=0=>0yi=0或yi=1yi為真值;p為預測概率值;僅累加分類正確樣本的概率值參數(shù)w的對數(shù)似然函數(shù)每個樣本類別預測正確的概率越大越好!!

似然項對數(shù)幾率回歸——參數(shù)學習

參數(shù)w的對數(shù)似然函數(shù)

似然項交叉熵損失函數(shù)思考題負1:完成這個推導。對數(shù)幾率回歸——參數(shù)學習

對數(shù)幾率回歸——參數(shù)學習如果似然函數(shù)-L(w)非凸學習率α:一個小的正數(shù)對數(shù)幾率回歸——參數(shù)學習凸優(yōu)化問題:梯度向量:梯度下降:學習到的對數(shù)幾率回歸模型:

思考題1:推導L(w)對w的梯度向量。對數(shù)幾率回歸——參數(shù)學習凸優(yōu)化問題:解析解:

選做題1:推導和驗證解析解。對數(shù)幾率回歸——參數(shù)學習思考題2:結(jié)合“思考題0”思考,為什么“隨機性可能有助于非凸優(yōu)化問題得到一個更好的局部最優(yōu)解”?算法特點貨比三家?線性模型假定數(shù)據(jù)線性可分,最剛性!首次涉及到可微分最優(yōu)化算法?。?1)“回歸”的是“標簽的對數(shù)幾率”(2)優(yōu)點:簡單、易實現(xiàn)、好解釋(3)主要問題:欠擬合算法特點決策邊界可視化對比?算法特點就像光譜一樣,模型也有一個“模型譜”!

微課視頻:梯度下降與隨機梯度下降教材《機器學習(Python版)》ML梯度下降

梯度下降

梯度下降梯度下降梯度下降基本梯度下降GD:每次都用所有訓練樣本(稱為batch)計算梯度向量隨機梯度下降SGD:每次僅隨機采樣部分訓練樣本(稱為mini-batch)計算梯度向量

(1)1≤m≤N:一般m<<N;當N很大時,SGD的計算復雜度近似O(1),非常高效。

(2)原理:梯度向量是一個訓練集上的期望值,可以通過隨機采樣的一個小的訓練集來逼近。

(3)額外的好處:在線學習;隨機性可能有助于非凸優(yōu)化問題得到一個更好的局部最優(yōu)解。

學習進步!

微課視頻:GD算法的Python實現(xiàn)教材《機器學習(Python版)》ML數(shù)據(jù)裝入函數(shù)對數(shù)幾率函數(shù)GD函數(shù)簡單數(shù)據(jù)集上的測試可視化代碼……可視化結(jié)果混淆矩陣學習進步!

微課視頻:最大間隔分類器教材《機器學習(Python版)》ML二分類與決策面二分類與決策面最大間隔分類器最大間隔分類器最大間隔分類器最大間隔分類器最大間隔分類器學習進步!

微課視頻:最優(yōu)化問題與線性不可分教材《機器學習(Python版)》ML最優(yōu)化問題的轉(zhuǎn)化最優(yōu)化問題的轉(zhuǎn)化最優(yōu)化問題的轉(zhuǎn)化最優(yōu)化問題的轉(zhuǎn)化最優(yōu)化問題的轉(zhuǎn)化線性不可分的情況線性不可分的情況線性不可分的情況線性不可分的情況線性不可分的情況學習進步!微課視頻:沒有什么比一個好

的理論更實用教材《機器學習(Python版)》ML統(tǒng)計學習理論ML圖1:弗拉基米爾?瓦普尼克(Vladimir

N.

Vapnik,

1936—)統(tǒng)計學習理論誕生的背景ML機器學習也稱為統(tǒng)計機器學習或統(tǒng)計學習,統(tǒng)計學是其基礎(chǔ)問題:傳統(tǒng)的統(tǒng)計學是大樣本理論,假定數(shù)據(jù)樣本趨向于無窮多!(大數(shù)定律、中心極限定理)現(xiàn)實情況:樣本數(shù)目通常有限,有時還十分有限(比如非常見病樣本數(shù)據(jù)、機動車駕駛的極端情況等)以樣本無限多為基本假設推導的算法一定能實用??。ū热缟窠?jīng)網(wǎng)絡過擬合問題)

對基于傳統(tǒng)統(tǒng)計學原則的方法修修補補,或者啟發(fā)式的設計一些巧妙的算法,都不能從根本上解決問題!MLMLML統(tǒng)計學習理論的誕生ML0102031995年,瓦普尼克出版專著《統(tǒng)計學習理論的本質(zhì)》針對小樣本情況研究統(tǒng)計學習規(guī)律的理論1998年出版專著《統(tǒng)計學習理論》2000年出版專著《統(tǒng)計學習理論的本質(zhì)》第二版為研究有限樣本情況下機器學習理論和方法提供了理論框架核心思想是通過控制學習機器的容量實現(xiàn)對推廣能力的控制

基于這一理論發(fā)展出了SVM和核方法統(tǒng)計學習理論的要點ML基本問題:對于一種未知的依賴關(guān)系(比如給定樣本輸出樣本的類別),為了以觀測為基礎(chǔ)對它進行估計,人們必須對這種依賴關(guān)系先驗地知道些什么?(1)Fisher大樣本理論:幾乎必須知道一切(2)統(tǒng)計學習理論:只要知道未知依賴關(guān)系所屬的函數(shù)集(比如SVM的核函數(shù))的某些一般的性質(zhì)就足夠了研究主題:確定在什么一般條件下可能對未知依賴關(guān)系進行估計闡述能夠指導人們找到對未知依賴關(guān)系的最佳估計的原則(歸納原則)發(fā)展出實現(xiàn)這些原則的有效算法MLML統(tǒng)計學習理論的要點ML主要內(nèi)容:關(guān)于統(tǒng)計推斷一致性的充要條件的一系列概念反映學習機器推廣能力的界針對小樣本數(shù)據(jù)的歸納推理原則實現(xiàn)這種新的推理的方法MLML說明抽象的理論研究是如何發(fā)展出新的算法的學習與研究中可能遇到的兩個主要困難:技術(shù)性方面:證明與對證明的理解概念性方面:理解問題的本質(zhì)和其思想體系統(tǒng)計學習理論之VC維ML“訓練數(shù)據(jù)的復雜程度”其實就是機器學習的關(guān)鍵因素:假設空間H的復雜程度一般而言,H越大,其包含任意假設的可能性越大,但從中找到某個具體假設(即學習的目標)的難度也越大。如果|H|有限,我們稱H為有限假設空間,否則為無限假設空間。有限假設空間包含的假設數(shù)有限,因此可以直接用假設個數(shù)來衡量其復雜度?,F(xiàn)實學習任務面對的通常是無限假設空間,例如實數(shù)域中的區(qū)間、Rd空間中所有的線性超平面。ML統(tǒng)計學習理論之VC維ML

ML統(tǒng)計學習理論之VC維ML

ML統(tǒng)計學習理論之VC維ML

ML統(tǒng)計學習理論之VC維ML

ML統(tǒng)計學習理論之VC維ML

ML抽象理論研究在實際中的巨大作用ML沒有什么比一個好的理論更實用學習進步!機器學習(Python版)Chap2分類Chap2.4支持向量機散打機器學習算法之SVM

屬于距離派,喜歡用距離來判斷一件事情。學習的規(guī)則僅僅基于過去的極少部分關(guān)鍵經(jīng)驗——免得被一些渣渣瓦瓦的事情所誤導,從而更好地做到舉一反三。對于新的事情,決策的規(guī)則就是看落到哪一邊、距離有多大,距離越大可信度越高。散打機器學習算法之Logregvs.SVM

這倆雖然是親兄弟,個性上還是有所不同,各有千秋。如果一件事情不是簡單的黑與白、錯與對,Logreg仍然可以稍加推廣就能應對,SVM就沒這么幸運了!核心思想?SV11-NN(最近鄰)?kNN:近鄰決策面由k個近鄰

樣本決定SVM:最大間隔決策面由少量訓練樣本

(支持向量)決定??7-NNSV2最小距離盡量的大!!核心思想SV1?LogReg:對率似然/損失決策面由所有訓練

樣本決定SVM:合頁損失/最大間隔決策面由少量訓練樣本

(支持向量)決定??SV2?最小距離盡量的大!!核心思想從以下兩點進行把握:第一,對數(shù)幾率回歸采用極大似然估計,僅累加分類正確樣本的概率值;而SVM則基于“最大間隔”思想,會同時考慮分類正確或錯誤兩類樣本。第二,對數(shù)幾率回歸的決策面由所有訓練樣本決定,而SVM的決策面則僅由少量訓練樣本(稱為“支持向量”)決定。二分類與決策面

二分類與決策面

二分類與決策面——點到直線距離最大間隔分類器SV1???SV2

最小距離盡量的大!!思考題0:請舉例說明特征變換的作用。最大間隔分類器線性可分的例子最大間隔分類器SV1???SV2

凸二次目標函數(shù)、線性約束,凸優(yōu)化問題!最小距離盡量的大??!最大間隔分類器SV1???SV2

最大間隔分類器

KKT條件(該最優(yōu)化問題的充要條件)決策面間隔面間隔面最大間隔分類器

決策面間隔面間隔面思考題2:試與kNN和對率回歸進行比較!!思考題1:存不存在所有樣本點都是支持向量的情況?為什么?最大間隔分類器線性不可分的例子實際問題中數(shù)據(jù)往往并非線性可分!!最大間隔分類器

特別注意:畫圈的樣本點都是SV!!思考題3:超參C的作用?

最大間隔分類器

最大間隔分類器高效的學習算法SMO

詳見李航7.4節(jié)?。?/p>

軟間隔SVM的核心代碼實現(xiàn)軟間隔SVM的核心代碼實現(xiàn)軟間隔SVM的核心代碼實現(xiàn)軟間隔SVM的核心代碼實現(xiàn)軟間隔SVM的核心代碼實現(xiàn)軟間隔SVM的核心代碼實現(xiàn)軟間隔SVM的核心代碼實現(xiàn)軟間隔SVM的核心代碼實現(xiàn)智能算法程序設計(Python)Chap2分類Chap2.5神經(jīng)網(wǎng)絡散打機器學習算法之NN年齡最長,雖幾起幾落、歷經(jīng)風霜,到如今卻如日中天,頗有鳳凰涅槃、歸來仍是少年之意。

原理頗似樂高積木,用大量的極其簡單的標準拼插件(比如logreg)搭出任意復雜精美的物件(NN)。

有人說NN的學習過程就是煉丹,主要憑經(jīng)驗、撞運氣(調(diào)參),缺乏理論指導。還有人說學出來的東西是個黑盒子,學了些什么也不知道。

真是愛也NN,恨也NN。一種NN基本單元——對數(shù)幾率回歸g

ggSoftmax多類分類我們得到了一個全連接多層NN!!……用于手寫數(shù)字識別的全連接多層NN輸出層(10個神經(jīng)元)隱藏層(15個神經(jīng)元)輸入層(784個神經(jīng)元)思考題1:總共有多少個參數(shù)?w和b分別是多少個?萬能逼近定理輸出層隱藏層輸入層“單隱層NN與任意連續(xù)S型函數(shù)能夠以任意精度逼近任何目標連續(xù)函數(shù),只要不對網(wǎng)絡的結(jié)點數(shù)加以限制。”萬能逼近定理VS.哪個更經(jīng)濟劃算?學習方法——梯度下降二次損失(代價)函數(shù)

多層復合函數(shù)求導——鏈式規(guī)則!!

學習方法——誤差反向傳播

學習方法——誤差反向傳播

“誤差”就是損失函數(shù)L關(guān)于輸入z的偏導,所以“誤差反向傳播”也稱為“梯度反向傳播”學習方法——誤差反向傳播

第一個反向傳播方程

思考題2:第三步為什么把關(guān)于k的求和拿掉了?學習方法——誤差反向傳播

第一個反向傳播方程

學習方法——誤差反向傳播

第一個反向傳播方程方程(BP1)的意義——輸出層的誤差

學習方法——誤差反向傳播

第二個反向傳播方程

思考題3:這一步是如何得到的?

學習方法——誤差反向傳播

第二個反向傳播方程

學習方法——誤差反向傳播

第二個反向傳播方程

學習方法——誤差反向傳播

前兩個反向傳播方程

學習方法——誤差反向傳播

后兩個反向傳播方程

思考題4:試證明方程(BP3)和(BP4)學習方法——誤差反向傳播參數(shù)量:(2+1)x2+(2+1)x2=12f’(x)=f(x)(1-f(x))標簽標量Mnist手寫數(shù)字數(shù)據(jù)集(機器學習的HelloWorld)28x28像素的灰度圖像訓練集:6萬個圖片;來自于250個人(一半是美國人口統(tǒng)計局員工,一般是美國中學生)測試集:1萬個圖片;來自于另外250個人(仍然來自于美國人口統(tǒng)計局和中學生)沒有數(shù)據(jù)就如同無米之炊!!/exdb/mnist/NN的Python實現(xiàn)1sizes列表:定義每一層神經(jīng)元的個數(shù)偏置和權(quán)重參數(shù):用N(0,1)初始化第一層是輸入層,一般不設置偏置參數(shù)randn()返回數(shù)組Python內(nèi)置函數(shù)zip():>>>zipped=zip([2,3],[3,1])>>>zipped<zipobjectat0x000001B6B84B8588>>>>list(zipped)[(2,3),(3,1)]biases:[3x1數(shù)組,1x1數(shù)組]weights:[3x2數(shù)組,1x3數(shù)組](y,x)用類封裝成員變量和函數(shù)N(0,1)參數(shù)初始化sizes:[2,3,1]NN的Python實現(xiàn)1f’(x)=f(x)(1-f(x))

前饋NN:沒有反饋和記憶!!注意:np.dot()是兩個數(shù)組的點積!!對于2D就是矩陣乘法。比如w--2x3b--3x1x--2x1a--3x1w:2x3b:3x1w:3x1b:1x1x:2x1a:3x1a:1x1NN的Python實現(xiàn)1輸入:training_data–元組(x,y)的列表epochs–迭代遍數(shù)mini_batch_size–小batch大小eta–學習率/步長test_data–可選輸出:無(因為參數(shù)已封裝為類的成員函數(shù))洗牌,打亂數(shù)據(jù)Python內(nèi)置函數(shù)range(stop)

range(start,stop[,step])取小batch測試并打印出結(jié)果NN的Python實現(xiàn)1輸入:mini_batch–元組(x,y)

的列表eta–學習率/步長輸出:無(因為參數(shù)已封裝為類的

成員函數(shù))做了梯度歸一化!!(對比對率回歸的代碼)

累加m個樣本的梯度矩陣誤差反向傳播思考題5:梯度歸一化有什么好處?NN的Python實現(xiàn)1輸入:x–特征向量y–類別標簽向量輸出:樣本(x,y)的梯度第一層是輸入層x,第二層的輸入是第一層的輸出,……

算出所有層的z與aNN的Python實現(xiàn)1

BP就是這四個公式!!最后一層[-1]從倒數(shù)第二層[-2]開始一直到第二層NN的Python實現(xiàn)1

預測出每個測試樣本的類別,然后根據(jù)標簽統(tǒng)計出正確個數(shù)。特別注意:np.argmax()函數(shù)!!思考題6:測試集(test_data)的類別標簽y是向量嗎?NN的Python實現(xiàn)11、讀入數(shù)據(jù)主程序2、定義NN3、訓練及測試Epoch0:9075/10000Epoch1:9214/10000Epoch2:9287/10000Epoch3:9310/10000Epoch4:9364/10000Epoch5:9397/10000Epoch6:9396/10000Epoch7:9416/10000Epoch8:9452/10000Epoch9:9433/10000Epoch10:9449/10000Epoch11:9421/10000Epoch12:9458/10000Epoch13:9440/10000Epoch14:9462/10000Epoch15:9455/10000Epoch16:9481/10000Epoch17:9457/10000Epoch18:9485/10000Epoch19:9480/10000Epoch20:9496/10000Epoch21:9485/10000Epoch22:9488/10000Epoch23:9494/10000Epoch24:9502/10000Epoch25:9486/10000Epoch26:9495/10000Epoch27:9502/10000Epoch28:9498/10000Epoch29:9502/10000精度穩(wěn)步提高局部隨機波動NN的Python實現(xiàn)1非凸問題:需要調(diào)參、需要更自動的方法(1)隱層神經(jīng)元個數(shù)(2)學習率(3)迭代遍數(shù)、小batch大小、參數(shù)初始化(4)多個隱層——深度學習(梯度消失問題)尚無完善的理論指導,主要是一些指導原則、經(jīng)驗和技巧!!NN的Python實現(xiàn)1訓練集:6萬個圖片;分1萬個

出來作為驗證集(當前代碼并

未使用)!!測試集:1萬個圖片NN的Python實現(xiàn)1訓練集:5萬個(x,y)元組

x–784D(28x28)y–10D單位向量驗證集:1萬個(x,y)元組y–類別標簽(標量)測試集:1萬個(x,y)元組y–類別標簽(標量)np.reshape(x,(784,1))將x拉成一個784D的向量vectorized_result(y)的實現(xiàn)留給同學們!!NN的Python實現(xiàn)1>>>importmnist_loader>>>tr_d,va_d,te_d=load_data()>>>tr_d(array([[0.,0.,0.,...,0.,0.,0.],[0.,0.,0.,...,0.,0.,0.],[0.,0.,0.,...,0.,0.,0.],...,[0.,0.,0.,...,0.,0.,0.],[0.,0.,0.,...,0.,0.,0.],[0.,0.,0.,...,0.,0.,0.]],dtype=float32),array([5,0,4,...,8,4,8],dtype=int64))>>>len(tr_d[0][0])784>>>tr_d[0][0]array([0.,0.,0.,0.,0.,……,0.,0.,0.01171875,0.0703125,0.0703125,0.0703125,0.4921875,0.53125,0.68359375,0.1015625,0.6484375,0.99609375,0.96484375,0.49609375,0.,0.,0.,0.,0.,0.,……,0.,0.,0.,0.],dtype=float32)>>>len(tr_d[0])50000>>>len(tr_d[1])50000256級灰度(0~255)歸一化到[0,1],比如0.0703125對應灰度級180NN的Python實現(xiàn)1加分項:與SVM的比較留給同學們!!NN的威力設計良好的NN在Mnist上的精度超過所有其他方法(包括SVM),2013年的記錄是只錯了21個(上面列出了其中18個)為什么?(1)端對端的自動學習(2)深度所賦予的多層特征組合簡單的模型+高質(zhì)量的數(shù)據(jù)!!發(fā)展歷史算料、算力、算法三要素的具備發(fā)展歷史生物神經(jīng)元單個神經(jīng)細胞只有兩種狀態(tài):興奮和抑制

微課視頻:神經(jīng)網(wǎng)絡的學習算法教材《機器學習(Python版)》ML可以用梯度下降學習算法嗎?誤差反向傳播算法BP誤差反向傳播算法BP誤差反向傳播算法BP誤差反向傳播算法BP誤差反向傳播算法BP誤差反向傳播算法BP誤差反向傳播算法BP誤差反向傳播算法BP誤差反向傳播算法BP學習進步!

微課視頻:全連接神經(jīng)網(wǎng)絡核心代碼教材《機器學習(Python版)》MLNetwork類Network類Network類Network類Network類Network類學習進步!微課視頻:Hinton談超級智能教材《機器學習(Python版)》ML杰弗里·辛頓ML圖1:杰弗里·辛頓(GeoffreyHinton,

1947—)通往“智能”的兩種道路ML數(shù)字計算機:以數(shù)字形式執(zhí)行的“永生計算(ImmortalComputing)”

溫馨提示

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

最新文檔

評論

0/150

提交評論