第一部分——分類
監督學習:給定輸入樣本集,計算出目標變量的結果。利用樣本輸入和期望輸出來學習如何預測的技術。例如,神經網絡,決策樹,支持向量機,貝葉斯過濾。
目標變量:將分類問題中的目標變量稱爲類別。
標稱型:在有限目標集中取值,離散型,如分類
數值型:可以從無限的數值集合中取值,連續型,主要用於迴歸分析
機器學習:把無序的數據轉換成有用的信息。兩大任務:
1.分類:分類算法存在非均衡分類的問題,產生原因是因爲訓練樣本某個分類的數據多於其他分類的數據。
2.迴歸
無監督學習:
在一組數據中找尋某種結構,數據本身不是我們要找的答案
1.聚類
2.密度估計:尋找描述數據統計值的過程
如何選擇一個合適的算法:(反覆試錯的迭代去發現最好算法)
1.使用算法的目的,想要完成何種任務。確定選擇監督/非監督,再確定目標變量
2.需要分析或者收集的數據是什麼。數據特性:特徵值是離散還是連續、是否缺失、缺失原因、異常值、特徵發生頻率。
開發機器學習應用程序的步驟:
1.收集數據:爬蟲、公開數據集
2.準備輸入數據格式
3.分析輸入數據:圖形化降維展示、文本編輯器識別模式、空值、異常值;確保數據集中沒有垃圾數據
4.訓練算法,抽取知識或信息
5.測試算法
6.使用算法
注:
訓練樣本包括多種特徵(屬性),一個目標變量。特徵(屬性)構成訓練樣本的列,爲獨立測量得到。
知識表示:訓練出某個模型的過程;可採用規則集的形式、概率分佈的形式、訓練樣本集中的一個樣本。
有監督學習
1.分類算法對比
分類算法 | 概念 | 優點 | 缺點 | 適用數據範圍 | 分類結果是否確定 |
---|---|---|---|---|---|
KNN | 採用測量不同特徵值之間的距離方法進行分類 | 精度高,對異常值不敏感,無數據輸入假定 | 計算、空間複雜度高 | 數值型、標稱型 | 確定 |
決策樹 | 從數據集合中提取出一系列規則 | 計算複雜度不高,輸出結果易於理解,對中間值的確實不敏感,可以處理不相關特徵數據 | 可能會產生過度匹配問題 | 數值型、標稱型 | 確定 |
樸素貝葉斯 | 使用概率論進行分類 | 在數據較少的情況下有效,可以處理多類別問題 | 對於輸入數據的準備方式較爲敏感 | 標稱型數據 | 給出分類的概率 |
logistic迴歸 | 根據現有數據對分類邊界線建立迴歸公式,以此進行分類 | 計算代價不高,易於理解和實現 | 容易欠擬合,分類精度可能不高 | 數值型和標稱型數據 | |
支持向量機 | 超平面,尋找最大間隔 ,核函數 | 泛化錯誤率低,計算開銷不大,結果易解釋 | 對參數調節和核函數的選擇敏感,原始分類器不加修改僅適用於處理二類問題 | 數值型、標稱型 | |
元算法-AdaBoost | 算法組合 | 泛化錯誤率低,易編碼,可以應用在大部分分類器上,無參數調整 | 對離羣點敏感 | 數值型、標稱型 |
2.迴歸算法對比–預測
迴歸算法 | 概念 | 優點 | 缺點 | 適用數據範圍 |
---|---|---|---|---|
線性迴歸 | 迴歸方程,求迴歸係數 | 結果易於理解,計算上不復雜 | 對非線性的數據擬合不好 | 數值型、標稱型 |
局部加權線性迴歸 | ||||
收縮方法 | ||||
樹迴歸 | 對複雜和非線性數據建模 | 結果不易理解 | 數值型、標稱型 |
無監督學習
包括聚類、可視化和降維、關聯性規則學習、異常檢測
無監督算法 | 概念 | 優點 | 缺點 | 適用數據範圍 |
---|---|---|---|---|
K-means聚類 | 發現給定數據集的k個簇的算法 | 容易實現 | 可能收斂到局部最小值,在大規模數據集上收斂較慢 | 數值型 |
層次聚類分析(Hierarchical Cluster Analysis,HCA) | ||||
期望最大值 | ||||
主成分分析(Principal Component Analysis,PCA) | ||||
核主成分分析 | ||||
局部線性嵌入(Locally-Linear Embedding,LLE) | ||||
t-分佈鄰域嵌入算法 | ||||
關聯分析-Apriori 算法 | 頻繁項集,關聯規則 | 易編碼實現 | 在大規模數據集上可能較慢 | 數值型、標稱型 |
關聯分析-FP-growth算法 | 構建FP樹,從FP樹中挖掘頻繁項集 | 一般快於Apriori | 實現比較困難,在某些數據集上性能會下降 | 標稱型 |
關聯分析-Eclat算法 |
半監督學習
大量不帶標籤數據加上小部分帶標籤數據
應用:圖片存儲
算法:非監督與監督算法相結合e.g.深度信念網絡(deep belief networks)是基於被稱爲互相疊加的受限玻爾茲曼機(restricted Boltzmann machines,RBM)的非監督組件。RBM 是先用非監督方法進行訓練,再用監督學習方法進行整個系統微調。
強化學習
定義:學習系統稱之爲智能體,可以對環境進行觀察,選擇和執行動作,獲得獎勵,自己學習最佳方法、以得到長久的最大獎勵。
應用:alphago
根據是否能從導入的數據流進行持續學習,分爲批量學習、在線學習
批量學習
系統不能進行持續學習,必須用所有可用數據進行訓練。(線下離線學習 訓練、評估、部署)
在線學習
(核外學習,out-of-core learning):用數據實例持續地進行訓練,可以一次一個或一次幾個實例(稱爲小批量)。每個學習步驟都很快且廉價,所以系統可以動態地學習到達的新數據。適合系統接收連續流的數據(比如,股票價格),且需要自動對改變作出調整。持續學習,也是離線完成的
根據判斷它們是如何進行歸納推廣的,有兩種主要的歸納方法:基於實例學習和基於模型學習。
基於實例學習
系統先用記憶學習案例,然後使用相似度測量推廣到新的例子
基於模型學習
從樣本集進行歸納的方法是建立這些樣本的模型,然後使用這個模型進行預測
機器學習的主要挑戰
- 訓練數據量不足
- 沒有代表性的訓練數據
- 低質量數據
- 不相關特徵
- 過擬合訓練數據
- 欠擬合訓練數據