1. 程式人生 > >周志華機器學習筆記

周志華機器學習筆記

http://blog.sina.cn/dpool/blog/s/blog_cfa68e330102ycy9.html?md=gd

https://www.cnblogs.com/shiwanghualuo/p/7192678.html
首先的階段由卷積層和池化層組成,卷積的節點組織在特徵對映塊(feature maps)中,每個節點與上一層的feature maps中的區域性塊通過一系列的權重即過濾器連線。加權和的結果被送到非線性函式中如ReLU。一個feature maps中所有的節點分享相同的過濾器,即共享權重。這種結構的原因是雙重的,第一,影象中一個值附近的值是高度相關的,第二,不同區域的值是不相干的。換句話說,一個影象某部分出現的特徵會在其他部分出現,因此可以實現權值共享並且檢測到相同模式在矩陣的不同部分,這種操作在數學上稱之為卷積,這也是其名字由來。
--------------------------------------------------------------------------
第一章 緒論:
1.學習/訓練:從資料中學的模型的過程
2.訓練資料:訓練過程中使用的資料
訓練樣本:訓練資料中的每個樣本
訓練集:訓練樣本組成
3.預測的是離散值:分類 (classification)
連續值:迴歸(regression)
只涉及兩個的類別:二分類
4.聚類:將訓練集中的樣本分成若干組
每組叫做簇
5.根據訓練資料是否擁有標記資訊,學習任務分為:
監督學習(supervised learning):分類,迴歸
無監督學習(unsupervised learning):聚類
6.從樣例中學習:歸納學習
7.學的模型適用於新樣本的能力:泛化
8.版本空間:存在著與訓練集一致的“假設集合”
樣例:
(色澤=*;根蒂=蜷縮;敲聲=濁響)
其版本空間有兩個:
(色澤=*;根蒂=*;敲聲=濁響)
(色澤=*;根蒂=蜷縮;敲聲=*)
9.歸納偏好(inductive bias):機器學習演算法在學習過程中對某種型別假設的偏好
10.Occam's razor(奧卡姆剃刀):若有多個假設與觀察一致,則選擇最簡單的那個。 r /> 11.support vector machine (支援向量機)
12.“沒有免費的午餐”定理(No Free Lunch Theorem)NFL:無論學習演算法a多聰明,學習演算法b多笨拙,它們的期望效能竟然相同。
------------------------------------------------------------------------------------------
第二章 模型評估與選擇:
1.分類錯誤的樣本數/樣本總數:錯誤率
精度=1-錯誤率
2.誤差:學習器在實際預測輸出與樣本的真實輸出之間的差異
3.學習器在訓練集上的誤差稱為:訓練誤差/經驗誤差
在新樣本上的誤差:泛化誤差
4.過擬合(overfitting):當學習器把訓練樣本學得太好了的時候,很可能已經 把訓練樣本自身的一些特點當作了所有潛在樣本都會有的一些性質,這樣就會導致訓練樣本的泛化能力下降
5.從一個包含了m個樣例的資料集D中,既要訓練,又要測試,可以對D做一些處理,方法主要有:
100次留出法/10次10折交叉驗證 都是進行了100次訓練
1)留出法:直接將資料集D劃分為兩個互斥的集合,注意,單次使用留出法得到的結果往往不可靠,一般採用若干次隨機劃分,重複進行實驗評估後取平均值作為留出法的評估結果
一般而言,測試集至少應該包含30個樣例。
常見做法:將大約2/3~4/5的樣本用於訓練,剩餘樣本用於測試。
2)交叉驗證法(k折交叉驗證):將資料集D劃分為K個大小相似互斥的子集,為減少因樣本劃分不同而引入的差別,k折交叉驗證通常要隨機使用不同的劃分,重複p次,最終的評估結果是這p次k折交叉驗證結果的均值。例如:10次10折交叉驗證
留一法(交叉驗證法特例)(Leave-One-Out):在資料集D中,包含m個樣本,令k=m。
留一法 優點:不受隨機劃分的影響,在絕大多數的情況下,評估結果比較準確;
缺點:資料集比較大時,計算開銷比較大。
3)自助法(bootstrapping):直接以自助取樣法作為基礎(bootstrap sampling)
在資料集較小、難以有效劃分訓練/測試集時有用
優點:自助法能共初始資料集中產生多個不同的訓練集,這對整合學習很有好處。
缺點:自助法產生的資料集改變了初始資料集的分佈,這會引入估計偏差。
在初始量足夠時,留出法和交叉驗證法更常用一些。
6.效能度量
1)錯誤率和精度
2)查準率、查全率和F1
查準率(precision):檢索的資訊中有多少比例是使用者感興趣的。
查全率(recall):使用者感興趣的資訊有多少被檢索出來了。
P=TP/TP+FP (TP:true positive;TN:true negitive)
R=TP/TP+FN
通常情況下:查準率和查全率一般是相對矛盾的度量。
問題:P31 查全率和查準率計算
3)查準率→縱軸;查全率→橫軸; P-R曲線
4)平衡點(Break-Event Point):綜合考慮查準率和查全率的效能度量
5)F1=(2×P×R)/P+R=(2×TP)/樣例總數+TP-TN
6)ROC(Receiver Operating Characteristic)受試者工作特徵:從排序本身質量的好壞來研究學習器泛化效能的工具。
真正例率→縱軸 假正例率→橫軸
7)若兩個學習器的ROC曲線產生交叉,較為合理的比較依據:比較ROC曲線下面的面積(AUC Area Under ROC Curve)
問題:P35 排序損失
8)代價敏感錯誤率和代價曲線
非均等代價:權衡不同型別錯誤所造成的不同損失
在非均等代價下,ROC曲線不能直接反映出學習器的期望總體代價,而 代價曲線則可以達到該目的。
9)比較檢驗:
(1)假設檢驗
(2)交叉驗證t檢驗
(3)McNembar檢驗
(4)Friedman檢驗
(5)Nemenyi後續檢驗
------------------------------------------------------------------------------------------
第三章:線性模型
1.線性迴歸:試圖學得一個線性模型以儘可能準確地預測實值輸出標記。
f(x)=wx+b,使得f(x)≈y
衡量f(x)與y之間的差別,可以使用均方誤差(迴歸任務中最常用的效能度量)
均方誤差幾何意義:對應了常用的歐幾里得距離。
2.最小二乘法(least square method):基於均方誤差最小化來進行模型求解的方法。
線上性迴歸中,最小二乘法就是試圖找到一條直線,使得所有樣本到直線上的歐氏距離之和最小。
3.偏差和方差
偏差-方差分解(bias-variance decomposition):是解釋學習演算法泛化效能的一種重要工具。
偏差度量了學習演算法的期望預測與真實結果的偏離程度,即刻畫了學習演算法本身的擬合能力
方差:度量了同樣大小的學習集的變動所導致的學習效能的變化,即刻畫了資料擾動所造成的影響
噪聲:表達了在當前任務上任何學習演算法所能達到的期望泛化誤差的下界,即刻畫學習問題本身的難度。
問題:其他的沒有看
------------------------------------------------------------------------------------------
第四章:決策樹
1.決策樹:基於樹結構來進行決策,恰是人類面臨問題是處理問題的一種機制。
決策樹目的:為了產生一棵泛化能力強的,即處理未見示例能力強的決策樹。
2.決策樹的生產過程是一個遞迴過程,有三種情況會導致遞迴返回
1)當前結點包含的樣本全屬於一個類別,無需劃分;
2)當前屬性集為空,或是所有樣本在所有屬性上取值相同,無法劃分;
3)當前結點包含的樣本集合為空,不能劃分。
3.如何選擇最優劃分屬性,
1)
一般而言,隨著劃分過程的不斷進行,我們希望決策樹的分支結點所包含的樣本儘可能屬於同一類別,即結點的純度越來越高。
資訊熵(information entropy):度量樣本集合純度的指標。
資訊增益(information gain):進行決策樹的劃分屬性選擇。ID3(迭代二分器)決策樹學習演算法
一般而言,資訊增益越大,則意味著使用屬性a來進行劃分所獲得的純度提升越大。
2)C4.5決策樹演算法:使用“增益率”來選擇最優劃分屬性,並不是直接選擇增益率最大的候選劃分屬性,而是使用了一個啟發式,即先從候選劃分屬性中找出資訊增益高於平均水平的屬性,再從中選擇增益率最高的。
3)CART決策樹:使用“基尼係數”來選擇最優劃分屬性
4)剪枝(pruning)處理是決策樹學習演算法中處理“過擬合”的主要手段。
預剪枝(prepruning):在決策樹生成過程中,對每個結點在劃分前進行估計,若當前結點的劃分不能帶來決策樹泛化效能提升,則停止劃分並將當前結點標記為葉結點
後剪枝(postpruning):先從訓練集中生成一棵完整的決策樹,然後自底向上對非葉結點進行考察,若該結點對應的子樹替換為葉結點能提高決策樹泛化效能,則將該子樹替換為葉結點。
總結:後剪枝決策樹通常要比預剪枝決策樹保留了更多的分支。一般情形下,後剪枝決策樹的欠擬合的風險很小,泛化效能往往優於預剪枝決策樹,但後剪枝過程是在生成完全決策樹之後進行的,並且要自底向上地對所有非葉結點進行逐一考察,因此其訓練時間開銷比未剪枝決策樹和預剪枝決策樹都要大的多。
4.連續與預設值
對於連續值離散化處理,如採用二分法處理
問題:預設值處理
5.多變數決策樹
------------------------------------------------------------------------------------------
第五章:神經網路
1.感知機(Perceptron):由兩層神經元組成,輸入層接收外界輸入訊號後傳遞給輸出層,輸出層是M-P神經元,亦稱“閾值邏輯單元”
2.感知機只有輸出層神經元進行啟用函式處理,即只有一層功能神經元(functional neuron),學習功能非常有限
試用範圍:線性可分的
3.若兩類模式是線性可分(linearly separable)的,即存在一個線性超平面能將它們分開。
4.要解決非線性可分問題,需考慮使用多層功能神經元。
5.輸出層與輸入層之間的一個神經元,稱為隱層/隱含層(hidden layer)
隱含層和輸出層神經元都是擁有啟用函式的功能神經元。
6.多層前饋神經網路(multi-layer feedforward neural networks):每層神經元與下一層的神經元全互連,神經元之間不存在同層連線,也不存在跨層連線。
·輸入層神經元接收外界輸入,隱層與輸出層神經元對訊號進行加工,最終結果由輸出層神經元輸出;
換言之,輸入層神經元僅是接受輸入,不進行函式處理,隱層與輸出層包含功能神經元。
7.神經網路學習過程:根據訓練資料來調整神經元之間的連線權(connection weight)以及每個功能神經元之間的閾值(threshold)
8.誤差逆傳播演算法(error BackPropagation)BP演算法:基於梯度下降(gradient descent)策略,以目標的負梯度方向對引數進行調整。
梯度下降法是一種常用的一階(first-order)優化方法,是求解無約束優化問題最簡單、最有效的方法之一。
無約束優化問題minf(x),若能構造一個序列 f(x^(t+1))則不斷執行該過程即可收斂到區域性極小點。
9.BP演算法的目標是要最小化訓練集D上的累計誤差。
標準BP演算法:每次只針對一個訓練樣例更新連線權和閾值,引數更新的非常頻繁,而且對不同樣例進行更新的效果可能出現“抵消”現象
累積BP演算法:基於累積誤差最小化的更新規則,直接針對累積誤差最小化,它在讀取整個訓練集D一遍之後才對引數進行更新,其引數更新頻率低得多,但是累積誤差下降到一定程度之後,進一步下降會非常緩慢,這時標準BP演算法就會有較好的效果。
10.緩和BP網路的過擬合:
第一種:“早停”(early stopping)
條件,訓練集誤差降低,測試集誤差升高,則停止訓練,同時返回具有最小驗證集誤差的連線權和閾值。
第二種:“正則化”(regularization)
基本思想:在誤差目標函式中增加一個用於描述網路複雜度的部分
增加連線權和閾值平方和這一項之後,訓練過程將會偏好比較小的連線權和閾值使網路輸入更加“光滑”,從而對過擬合有所緩解。
11.梯度為0:函式在該方向上的偏導數為0
負梯度方向是函式值下降最快的方向。
12.誤差函式有多個區域性最小,對於引數的尋找就有可能陷入:引數尋優陷入區域性極小。
常常採用以下策略試圖跳出區域性極小,從而進一步接近全域性最小,P107
13.其他常見的神經網路:
·RBF(Radial Basis Function,徑向基函式)
·ART(Adaptive Resonance Theory,自適應諧振理論)網路
·SOM(Self-Organizing Map)網路
·級聯相關(Cascade-Correlation)網路
·Elman網路
·Boltzman機
------------------------------------------------------------------------------------------
第六章 支援向量機
1.支援向量:距離超平面最近的這幾個訓練樣本點使得wx+b=±1成立的訓練樣本點。
2.間隔(margin):兩個異類支援向量到超平面的距離之和γ=2/||w||
3.訓練樣本如果是線性可分的,即存在一個劃分超平面能將訓練樣本正確分類
對於不存在超平面的情況,可以將樣本從原始空間對映到一個更高維的特徵空間,使得樣本在這個特徵空間內線性可分。
4.核函式(kernel function):只要一個對稱函式所對應的核矩陣半正定,它就能作為核函式使用。
問題:二次規劃
------------------------------------------------------------------------------------------
第八章 整合學習
1. 整合學習(ensemble learning):通過構建並結合多個學習器來完成學習任務。
2.弱學習器(weak learning):常指泛化效能略優於隨機猜測的學習器。
3.個體學習器通常由一個現有的學習演算法從訓練資料中產生,此時整合中只包含同種型別的個體學習器,這樣的整合是同質(homogeneous)
4.同質整合中的個體學習器亦稱為:基學習器(base learning),相應的學習演算法:基學習演算法(base learning algorithm)
5.整合可包含不同型別的個體學習器,這樣的整合是異質(heterogenous)的
6.根據個體學習器的生成方式,目前的整合學習方法大致可分為兩類:
1)個體學習器之間存在強依賴關係,必須序列生成的序列化方法 → Boosting
2)不存在強依賴關係,可同時生成的並行化方法 →Bagging,Random Forest
7.Boosting:是一族可將弱學習器提升為強學習器的演算法→AdaBoost
從偏差-方差分解的角度來看:Boosting主要關注降低偏差,
因此Boosting能基於泛化效能相當弱的學習器構建出很強的整合。
工作機制類似:
先從初始訓練集訓練出一個基學習器,
再根據基學習器的表現對訓練樣本分佈進行調整,
使得先前基學習器做錯的訓練樣本在後續受到更多關注,
然後基於調整後的樣本分佈來訓練下一個基學習器;
如此重複執行,直至基學習器數目達到事先指定的值T,
最終將這個T個基學習器進行加權結合。
8.Bagging:並行式整合學習
從偏差-方差分解的角度來看:Bagging主要關注降低方差,
工作機制:
採用自助取樣法,取樣出T個含有m個訓練樣本的取樣集,然後基於每個取樣集訓練出一個基學習器
再將這些基學習器進行結合
在結合時,通常對分類任務→簡單投票法
迴歸任務→簡單平均法
9.隨機森林(Random Forest)RF:在以決策樹為基學習器構建Bagging整合的基礎上,進一步在決策樹的訓練過程中引入了
隨機屬性選擇。
具體來講:傳統決策樹在選擇劃分屬性時,是在當前結點的屬性集合中選擇一個最優屬性;
而在RF中,對基決策樹的每個結點,先從該結點的屬性集合中隨機選擇一個包含K個屬性的子集,然後再從這個子集中選擇一個最優屬性用於劃分。
10.Bagging基學習器“多樣性”,僅通過樣本擾動(通過對初始訓練集取樣)而來不同
RF中基學習器的多樣性來自,→樣本擾動和屬性擾動
11.學習器的結合:
1)平均法(averaging)
簡單平均法(simple averaging)
加權平均法(weighted averaging)
2)投票法(voting)
絕對多數投票法(majority voting)
相對多數投票法(plurality voting)
加權投票法(weighted voting)
12.學習法:即通過另一個學習器來進行結合,個體學習器稱為初級學習器,用於結合的學習器稱為次級學習器(meta-learner)
13.Stacking:先從初始資料集訓練處初級學習器,然後“生成”一個新的資料集,用於訓練次級學習器。
14.多樣性增強,一般思路是在學習過程中引入隨機性,常見做法有:對資料樣本、輸入屬性、輸出表示、演算法引數進行擾動。
資料樣本擾動:基於取樣法
輸入屬性擾動:訓練樣本通常由一組屬性描述,從不同的子空間訓練的個體學習器必然有所不同。
輸出表示擾動:
基本思路:對輸出表示進行操縱以增強多樣性,可對訓練樣本的類標記稍作改動
翻轉法(Fipping Output)隨機改變一些訓練樣本的標記
輸出調製法(Output Smearing):將分類輸出轉化為迴歸輸出後構建個體學習器
ECOC法→利用糾錯輸出碼將多分類任務拆解為一系列二分類任務來訓練基學習器。
將原任務拆解為多個同時求解的子任務。
演算法引數擾動
------------------------------------------------------------------------------------------
第九章 聚 類
1.效能度量:評估聚類結果的好壞
好的聚類結果:簇內相似度(intra-cluster similarity)高且簇間相似度(inter-cluster similarity)低
2.效能度量分為兩類:
一類是將聚類結果與某個“參考模型(reference model)”進行比較,稱為“外部指標”(external index)
另一類是直接考察聚類結果而不利用任何參考模型,稱為內部指標(internal index)
3.距離計算
距離度量distance measure:
滿足性質:非負性,同一性,對稱性,直遞性
常用的距離:
閔可夫斯基距離
歐氏距離
曼哈頓距離
4.屬性劃分:
連續屬性(continuous attribute)
離散屬性(categorical attribute)
有序屬性(ordinal attribute)→閔可夫斯基距離
無序屬性(non-ordinal attribute)→VDM(Value Difference Metric)
5.原型聚類演算法:
k均值演算法
學習向量量化
高斯混合聚類
密度聚類
層次聚類
------------------------------------------------------------------------------------------
第十章 降維與度量學習
1.k近鄰學習(k-Nearest Neighbor)是一種常用的監督學習方法
工作機制:給定測試樣本,基於某種距離度量找出訓練集中與其最靠近的k個訓練樣本,然後基於這k個“鄰居”的資訊來進行預測。
分類任務中→投票法
迴歸任務→平均法
基於距離遠近進行加權平均或者加權投票,距離越近,樣本權重越大
2.懶惰學習(lazy learning):在訓練階段僅僅是將樣本儲存起來,訓練時間開銷為0,待收到測試樣本後,再進行處理
急切學習(eager learning):在訓練階段就對樣本進行學習處理的方法
3.維數災難(curse of dimensionality)
降維(dimension reduction) 子空間(subspace)
embedding(低維嵌入)
經典降維方法:多維縮放(Multiple Dimensional Scaling)
4.主成分分析(Principal Component Analysis)PCA
------------------------------------------------------------------------------------------
第十一章 特徵選擇與稀疏學習
1.特徵(feature),對當前學習任務有用的屬性稱為“相關特徵”(relevant feature)
沒有什麼用的稱為“無關特性”(irrelevant feature)
2.從給定的特徵集合中選擇出相應的特徵子集的過程→特徵選擇(feature selection)
3.選取特徵子集兩個關鍵:
子集搜尋(subset search)
子集評價(subset evaluation)
4.常用的特徵選擇方法:
過濾式(filter):先對資料集進行特徵選擇,然後再訓練學習器,特徵選擇過程與後續學習器無關,這相當於先用特徵選擇過程對初始特徵進行“過濾”,再用過濾後的特徵來進行訓練模型。 →Relief
包裹式(wrapper):直接把最終將要使用的學習器的效能作為特徵子集的評價標準,換言之,包裹式特徵選擇的目的為給定學習器選擇最有利於其效能、“量身定做”的特徵子集
嵌入式(embedding):將特徵選擇過程與學習器訓練過程融為一體,兩者在同一個優化過程中完成,即在學習器訓練過程中自動地進行了特徵選擇