前面已經總結了監督學習中的幾大演算法,下面開始總結無監督學習演算法。在無監督學習中,類似分類和回歸中的目標變數事先並不存在,要回答的問題是「從資料x中能發現什麼」,比如「構成x的最佳6個資料簇都是哪些?」或者「x中哪三個特徵最頻繁共現」,也就是說我們需要發現x的結構是什麼。
k均值(k-means)
優點:容易實現
缺點:可能收斂到區域性最小值,在大規模資料集上收斂較慢
使用資料型別:數值型資料
k-均值是因為它可以發現k個不同的簇,且每個簇的中心採用簇中所含值的均值計算而成。聚類的物件越相似,聚類的效果越好。相似這一概念取決於所選擇的相似度計算方法(例項中使用的是歐式距離)。工作流程:首先,隨機確定k個初始點作為質心,然後將資料集中每個點分配到乙個簇中,具體來講,為每個點找距其最近的質心,並將其分配給該質心所對應的簇,完成這一步後,每個簇的質心更新為該簇所有點的平均值。
評價指標:sse(sum of squared error,誤差平方和),即各點到其簇質心的距離平方之和。但k均值方法有時候會收斂到區域性最優解而不是全域性最優解,這取決於初始質心的位置,由此改進的一種方法是二分k-均值演算法。該演算法首先將所有點作為乙個簇,然後將該簇一分為二,之後選擇其中乙個簇繼續劃分,選擇哪乙個簇進行劃分取決於是否可以最大程度降低sse的值,上述基於sse的劃分不斷重複,直到得到使用者指定的簇數目為止。
使用apriori演算法進行關聯分析
優點:易編碼實現
缺點:在大資料集上可能較慢
使用資料型別:數值型或標稱型資料
從大規模資料集中尋找物品間的隱含關係被稱作關聯分析或者關聯規則學習,這些關係可以有兩種形式:頻繁項集或者關聯規則,頻繁項集是經常出現在一塊的物品的集合,關聯規則暗示兩種物品之間可能存在很強的關係。定義頻繁的項集的引數是支援度,支援度被定義為資料集中包含該項集的紀錄所佔的比例,可以定義乙個最小支援度,而只保留滿足最小支援度的項集。可信度或置信度(confidence)是針對一條諸如—>的關聯規則來定義的。這條規則的可信度被定義為「支援度/支援度」。如果要計算出所有這些引數來定義頻繁項集和關聯規則,那麼計算量未免太大了,因此使用了apiori原理,該原理會減少關聯規則學習時所需的計算量。
apiori原理是說如果某個項集是頻繁的,那麼它所有的子集也是頻繁的,反過來看,如果乙個項集是非頻繁集,那麼它所有超集也是非頻繁的。在**實現中,我們只對頻繁項集繼續合併求其支援度,對那些不頻繁項不再計算其超集的支援度。
每個頻繁項集可以產生許多關聯規則,這樣的計算量是很大的。可以觀察到:如果某條規則不滿足最小可信度要求,那麼該規則的所有子集也不會滿足最小可信度要求。
《機器學習實戰》 無監督學習
基本原理 無監督學習中,要劃分的類別或者目標變數事先並不存在。擺在面前的是一堆無意義的資料集,要對其進行分組。其中最重要的演算法有三個 k均值演算法 基於apriori的關聯分析 基於fp growth的關聯分析。1.k means k核算法 隨機確定k個初始點作為質心 將資料集中每個點分配到乙個蔟...
機器學習實戰學習筆記 無監督學習
一 未標註資料的分類 1 k means演算法 缺點 可能收斂到區域性最優,並且在大規模資料上收斂較慢 初始隨機生成k個質心,遍歷所有資料點,計算到所有質心的距離,並將其分配到距離最近的質心所在的簇,然後更新質心,只要質心改變,就重複上述過程 2 後處理 可對k means演算法產生的簇進行後處理從...
機器學習日記 監督學習 無監督學習
監督學習是指 利用一組已知類別的樣本調整 分類器的 引數,使其達到所要求效能的過程,也稱為 監督訓練或有教師學習。無監督學習 現實生活中常常會有這樣的問題 缺乏足夠的 先驗知識 因此難以人工標註類別或進行人工類別標註的成本太高。很自然地,我們希望計算機能代我們完成這些工作,或至少提供一些幫助。根據類...