概述
機器學習(Machine Learning,ML) 是一門多領域交叉學科,涉及概率論、統計學、逼近論、凸分析、算法複雜度理論等多門學科。專門研究計算機怎樣模擬或實現人類的學習行爲,以獲取新的知識或技能,重新組織已有的知識結構使之不斷改善自身的性能。 它是人工智能的核心,是使計算機具有智能的根本途徑,其應用遍及人工智能的各個領域。
機器學習是用數據或以往的經驗,以此優化計算機程序的性能標準,主要使用歸納、綜合而不是演繹。
A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E.
機器學習已廣泛應用於數據挖掘、計算機視覺、自然語言處理、生物特徵識別、搜索引擎、醫學診斷、檢測信用卡欺詐、證券市場分析、DNA 序列測序、語音和手寫識別、戰略遊戲和機器人等領域。
分類
按學習方式
- 監督學習(Supervised Learning):輸入的訓練數據帶有標籤。模型的在訓練過程中, 通過不斷的校正預測偏差, 訓練過程將調整直到模型在訓練數據上達到所需的準確性爲止。比如分類和迴歸問題等。常用算法包括決策樹、貝葉斯分類、最小二乘迴歸、邏輯迴歸、支持向量機、神經網絡等。
- 非監督學習(Unsupervised Learning):輸入數據沒有標籤,通過推斷輸入數據內在結構來構建模型. 比如聚類, 降維關聯規則學習等。常用算法包括獨立成分分析、K-Means 和 Apriori 算法等。
- 半監督學習(Semi-Supervised Learning):輸入數據有標籤和沒有標籤數據的混合,並通過推斷輸入數據內在結構來構建模型, 常用於分類和迴歸。常用算法包括圖論推理算法、拉普拉斯支持向量機等。
按功能劃分
- 迴歸算法
- 線性迴歸
- 邏輯迴歸
- 多元自適應迴歸(MARS)
- 本地散點平滑估計(LOESS)
- 基於實例的學習算法
- K - 鄰近算法(kNN)
- 學習矢量化(LVQ)
- 自組織映射算法(SOM)
- 局部加權學習算法(LWL)
- 正則化算法
- 嶺迴歸(Ridge Regression)
- LASSO(Least Absolute Shrinkage and Selection Operator)
- Elastic Net
- 最小角迴歸(LARS)
- 決策樹算法
- 分類和迴歸樹(CART)
- ID3 算法 (Iterative Dichotomiser 3)
- C4.5 和 C5.0
- CHAID(Chi-squared Automatic Interaction Detection()
- 隨機森林(Random Forest)
- 多元自適應迴歸樣條(MARS)
- 梯度推進機(Gradient Boosting Machine, GBM)
- 貝葉斯算法
- 樸素貝葉斯
- 高斯樸素貝葉斯
- 多項式樸素貝葉斯
- AODE(Averaged One-Dependence Estimators)
- 貝葉斯網絡(Bayesian Belief Network)
- 基於核的算法
- 支持向量機(SVM)
- 徑向基函數(Radial Basis Function ,RBF)
- 線性判別分析(Linear Discriminate Analysis ,LDA)
- 聚類算法
- K - 均值
- K - 中位數
- EM 算法
- 分層聚類
- 關聯規則學習
- Apriori 算法
- Eclat 算法
- 神經網絡
- 感知器
- 反向傳播算法(BP)
- Hopfield 網絡
- 徑向基函數網絡(RBFN)
- 深度學習
- 深度玻爾茲曼機(DBM)
- 卷積神經網絡(CNN)
- 遞歸神經網絡(RNN、LSTM)
- 棧式自編碼算法(Stacked Auto-Encoder)
- 降維算法
- 主成分分析法(PCA)
- 主成分迴歸(PCR)
- 偏最小二乘迴歸(PLSR)
- 薩蒙映射
- 多維尺度分析法(MDS)
- 投影尋蹤法(PP)
- 線性判別分析法(LDA)
- 混合判別分析法(MDA)
- 二次判別分析法(QDA)
- 靈活判別分析法(Flexible Discriminant Analysis,FDA
- 集成算法
- Boosting
- Bagging
- AdaBoost
- 堆疊泛化(混合)
- GBM 算法
- GBRT 算法
- 隨機森林
- 其他算法
- 特徵選擇算法
- 性能評估算法
- 自然語言處理
- 計算機視覺
- 推薦系統
- 強化學習
- 遷移學習
數據集的劃分
- 訓練集(Training set) —— 學習樣本數據集,包含數據標籤/數據特性結構分析,主要用來訓練模型。
- 驗證集(validation set)—— 用於對構建模型調整和優化。驗證集還用來確定網絡結構或者控制模型複雜程度的參數。
- 測試集(Test set) —— 測試和評估模型。
模型擬合問題
擬合(Fitting):泛化。
- 欠擬合(Underfitting): 模型沒有很好地捕捉到數據特徵,不能夠很好地擬合數據,對訓練樣本的一般性質尚未學好。一般原因是模型簡單, 數據量/特徵不足。解決辦法一般爲增加特徵, 減少正則化參數, 使用非線性模型, 調整模型的容量等.
- 過擬合(Overfitting): 爲了構建準確率比較高的模型,把樣本輔助性質或者噪聲作爲所有數據集的一般性質,導致泛化能力下降。出現原因爲樣本選取有誤, 噪音干擾過大, 參數過於複雜. 解決方案爲正則化, 數據擴增, Dropout等.
常見的模型指標
- 正確率 —— 提取出的正確信息條數 / 提取出的信息條數
- 召回率 —— 提取出的正確信息條數 / 樣本中的信息條數
- F 值 —— 正確率 * 召回率 * 2 / (正確率 + 召回率)(F值即爲正確率和召回率的調和平均值)
模型
- 分類問題 —— 說白了就是將一些未知類別的數據分到現在已知的類別中去。評判分類效果好壞的三個指標就是上面介紹的三個指標: 正確率,召回率,F值。
- 迴歸問題 —— 對數值型連續隨機變量進行預測和建模的監督學習算法。迴歸往往會通過計算 誤差(Error)來確定模型的精確性。
- 聚類問題 —— 聚類是一種無監督學習任務,該算法基於數據的內部結構尋找觀察樣本的自然族羣(即集羣)。聚類問題的標準一般基於距離: 簇內距離(Intra-cluster Distance) 和 簇間距離(Inter-cluster Distance) 。簇內距離是越小越好,也就是簇內的元素越相似越好;而簇間距離越大越好,也就是說簇間(不同簇)元素越不相同越好。一般的,衡量聚類問題會給出一個結合簇內距離和簇間距離的公式。
特徵工程
-
特徵選擇 —— 也叫特徵子集選擇(FSS,Feature Subset Selection)。是指從已有的 M 個特徵(Feature)中選擇 N 個特徵使得系統的特定指標最優化,是從原始特徵中選擇出一些最有效特徵以降低數據集維度的過程,是提高算法性能的一個重要手段,也是模式識別中關鍵的數據預處理步驟。
-
特徵提取 —— 特徵提取是計算機視覺和圖像處理中的一個概念。它指的是使用計算機提取圖像信息,決定每個圖像的點是否屬於一個圖像特徵。特徵提取的結果是把圖像上的點分爲不同的子集,這些子集往往屬於孤立的點,連續的曲線或者連續的區域。