概念
有監督學習:訓練數據既有特征(feature)又有標簽(label),通過訓練,讓機器可以自己找到特征和標簽之間的聯系,在面對只有特征沒有標簽的數據時,可以判斷出標簽。
無監督學習(unsupervised learning):訓練樣本的標記信息未知,目標是通過對無標記訓練樣本的學習來揭示數據的內在性質及規律,為進一步的數據分析提供基礎,此類學習任務中研究最多、應用最廣的是"聚類" (clustering),其他無監督算法還有:密度估計(densityestimation)、異常檢測(anomaly detection) 等。
半監督學習:訓練集同時包含有標記樣本數據和未標記樣本數據,不需要人工干預,讓學習器不依賴外界交互、自動地利用未標記樣本來提升學習性能,就是半監督學習。
主動學習:有的時候,有類標的數據比較稀少而沒有類標的數據很多,但是對數據進行人工標注又非常昂貴,這時候,學習算法可以主動地提出一些標注請求,將一些經過篩選的數據提交給專家進行標注,這個篩選過程也就是主動學習主要研究的地方了。
注:半監督學習與主動學習屬於利用未標記數據的學習技術,只是其基本思想不同。
內容
1、監督學習
監督學習從訓練數據集合中訓練模型,再對測試據進行預測,訓練數據由輸入和輸出對組成,通常表示為:
測試數據也由相應的輸入輸出對組成。
輸入變量與輸出變量均為連續的變量的預測問題稱為回歸問題,輸出變量為有限個離散變量的預測問題稱為分類問題,輸入變量與輸出變量均為變量序列的預測問題稱為標注問題。
監督算法常見的有:線性回歸,神經網絡,決策樹,支持向量機,KNN等。
2、無監督學習
聚類
聚類試圖將數據集中的樣本划分為若干個通常是不相交的子集,每個子集稱為一個"簇" (cluster).。通過這樣的划分,每個簇可能對應於一些潛在的概念(類別) ,這些概念對聚類算法而言事先是未知的,聚類過程僅能自動形成簇結構,簇所對應的概念語義需由使用者來把握和命名。
聚類既能作為一個單獨過程,用於找尋數據內在的分布結構,也可作為分類等其他學習任務的前驅過程。
先討論聚類算法涉及的兩個基本問題一一性能度量和距離計算。
【性能度量】
對聚類結果,我們需通過某種性能度量來評估其好壞;直觀上看,我們希望"物以類聚",即聚類結果的"簇內相似度" (intra-cluster similarity) 高且"簇間相似度" (inter-cluster similarity) 低,聚類性能度量大致有兩類. 一類是將聚類結果與某個"參考模型" 進行比較,稱為"外部指標" 另一類是直接考察聚類結果而不利用任何參考模型,稱為"內部指標" 。
對數據集D = {X1 , X2 ,..., Xm },假定通過聚類給出的簇划分為C = {C1,C2 , … ,Ck } , 參考模型給出的簇划分為C* = {C*1,C*2,…,C*s},相應地,令λ 與λ*分別表示與C 和C*對應的簇標記向量,通常k≠s,我們將樣本兩兩配對考慮,定義:
注:由於每個樣本對(Xi,Xj) (i < j) 僅能出現在一個集合中,因此有α +b+ c+ d = m(m-1)/2 成立。
根據上述四式定義如下性能度量外部指標:
顯然,上述性能度量的結果值均在[0 ,1] 區間,值越大越好。
【距離計算】
給定樣本Xi與Xj,最常用的是"閔可夫斯基距離" (Minkowski distance):
即Xi-Xj的Lp范數。
p=2 時,即歐氏距離(Euclidean distance):
p=1時,即曼哈頓距離(Manhattan distance):
注:閔可夫斯基距離可用於連續變量和有序變量。
【原型聚類】
此類算法假設聚類結構能通過一組原型刻畫,在現實聚類任務中極為常用。通常情形下,算法先對原型進行初始化,然后對原型進行迭代更新求解.采用不同的原型表示、不同的求解方式將產生不同的算法。
1)k 均值算法
給定樣本集D = {X1,X2,... ,Xm},k 均值 (k-means )算法針對聚類所得簇划分為K類:C = {C1, C2,..., Ck} ,最小化平方誤差:
其中,μi為Ci的均值向量。上式在一定程度上刻畫了簇內樣本圍繞簇均值向量的緊密程度, E 值越小則簇內樣本相似度越高。求解上式過程采用迭代貪心策略求解,算法流程如下:
注:為避免運行時間過長,通常設置一個最大運行輪數或最小調整幅度。
2)層次聚類
層次聚類(hierarchical clustering)試圖在不同層次對數據集進行划分,從而形成樹形的聚類結構. 數據集的划分可采用"自底向上"的聚合策略,也可采用"自頂向下" 的分拆策略。
AGNES 是一種采用自底向上聚合策略的層次聚類算法,它先將數據集中的每個樣本看作一個初始聚類簇,然后在算法運行的每一步中找出距離最近的兩個粟類簇進行合並,該過程不斷重復,直至達到預設的聚類簇個數。
可通過如下式子計算聚類距離:
顯然,最小距離由兩個簇的最近樣本決定,最大距離由兩個簇的最遠樣本決定,而平均距離則由兩個簇的所有樣本共同決定。當聚類距離分別由min,max,avg決定時,AGNES 算法被相應地稱為"單鏈接" (single-linkage) 、"全鏈接" (complete-linkage) 或"均鏈接" (average-linkage) 算法。
其他聚類方法還有:密度聚類(假設聚類結構能通過樣本分布的緊密程度確定),高斯混合聚類(采用概率模型來表達聚類原型.)。
3、半監督學習
【假設】
要利用未標記樣本,必然要做一些將未標記樣本所揭示的數據分布信息與類別標記相聯系的假設。
假設一:" 聚類假設" (duster assumption) ,即假設數據存在簇結構,同一個簇的樣本屬於同一個類別。
假設二:"流形假設" (manifold assumption) , 即假設數據分布在一個流形結構上,鄰近的樣本擁有相似的輸出值"鄰近" 程度常用"相似"程度來刻畫,因此,流形假設可看作聚類假設的推廣, 但流形假設對輸出值沒有限制,因此比聚類假設的適用范圍更廣,可用於更多類型的學習任務。
事實上,無論聚類假設還是流形假設,其本質都是"相似的樣本擁有相似的輸出"這個基本假設。
【類型】
半監督學習可進一步划分為純半監督學習和直推學習。前者假定訓練數據中的未標記樣本並非待預測的數據,而后者則假定學習過程中所考慮的未標記樣本恰是待預測數據,換言之,純半監督學習是基於"開放世界"假設, 希望學得模型能適用於訓練過程中未觀察到的數據;而直推學習是基於"封閉世界"假設,僅試圖對學習過程中觀察到的未標記數據進行預測。
換言之,假設有如下的數據集,其中訓練集為XL+XU,測試集為Xtest,標記樣本數目為L,未標記樣本數目為U,L<<U:
- 標記樣本(XL,YL)={(x1:L,y1:L)}
- 未標記樣本XU={xL+1:N},訓練時可用
- 測試樣本Xtest={xN+1:},只有在測試時才可以看到
純半監督學習可以對測試樣本Xtest進行預測,直推學習僅僅可以對未標記樣本XU進行標記,模型不具備對測試樣本Xtest進行泛化的能力。
參考:
《機器學習》周志華
《統計學習方法》李航