本文的目標,是“簡單快速”的概括AI的模型和算法類型都有哪些,以及能夠解決哪些問題。
1. 機器學習算法
1.1. 線性回歸模型
回歸分析(regression analysis)用來建立方程模擬兩個或者多個變量之間如何關聯。回歸分析最典型的例子就是“房價預測”。
拓展知識:
- 代價函數(例如最小二乘法)
- 相關系數
- 決定系數
- 梯度下降法
- 數據歸一化
- 交叉驗證法
- 過擬合 & 欠擬合
- 正則化(Regularized)
- 階懲罰函數
- L1正則
- L2正則
1.1.1. 多元線性回歸
同樣運用梯度下降法,求偏導,迭代更新權值,得到最優解。
1.1.2. 多項式回歸
例如:以下為多元房價特征,進行房價預測:
1.1.3. 嶺回歸(Ridge Regression)
代價函數采用L2正則化:
嶺回歸最早是用來處理特征數多於樣本的情況,現在也用於在估計中加入偏差,從而得到更好的估計。同時也可以解決多重共線性的問題。嶺回歸是一種有偏估計。
1.1.4. LESSO
代價函數采用L1正則化:
通過構造一個一獲得一個精煉的模型;
- 擅長處理具有多重共線性的數據
- 與嶺回歸一樣是有偏估計。
- L1正則化可以使一些指標(變量)的系數為零,解釋力很強。相比而言,嶺回歸估計系數等於0的機會微乎其微,造成篩選變量困難。
1.2. 邏輯回歸
Sigmoid/Logistic Function
拓展知識:
- 正確率
- 召回率
1.3. KNN
- 算法復雜度較高(需要比較所有已知實例與要分類的實例)
- 當其樣本分布不平衡時,比如其中一類樣本過大(實例數量過多)占主導的時候,新的未知實例容易被歸類為這個主導樣本,因為這類樣本實例的數量過大,但這個新的末知實例實際並沒有接近目標樣本
1.4. 決策樹, Decision Tree
- 比較適合分析離散數據
- 如果是連續數據要先轉成離散數據再做分析
1948年,香農提出了“信息熵”的概念。
一條信息的信息量大小和它的不確定性有直接的關系要搞清楚一件非常非常不確定的事情,或者是我們無所知的事情,需要了解大量信息->信息量的度量就等於不確定性的多少。
原理:通過各種“熵”來確認判斷准則(條件優先級),常用的算法方式包括:
-
ID3算法
決策樹會選擇最大化信息增益來對結點進行划分
-
C4.5算法
信息增益的方法傾向於首先選擇因子數較多的變量
-
CART算法
CART用基尼(Gin)系數最小化准則來進行特征選擇
決策樹的適用領域:
- 適用於小規模數據集
- 缺點:
- 處理連續變量不好
- 類別較多時,錯誤增加的比較快
- 不能處理大量數據
拓展知識:
- 預剪枝
- 后剪枝
1.5. 集成學習
當做重要決定時,大家可能都會考慮吸取多個專家而不只是一個人的意見。集成學習也是如此。
集成學習就是組合多個學習器,最后可以得到一個更好的學習器。
集成學習算法:
- 個體學習器之間不存在強依賴關系,裝袋(bagging)
- 隨機森林(Random forest)
- 個體學習器之間存在強依賴關系,提升(boosting)
- Stacking
1.5.1. Bagging
首先,進行一種有放回的抽樣~
每個數據集,都采用一種不同的學習算法(或者同一個算法,得到不同的模型)
效果如下:
1.5.2. 隨機森林
1.5.3. boosting(Adaptive Boosting,自適應增強)
學習器的重點放在“容易”出錯的地方——增加出錯數據的概率(樣本采樣的權值),從而優化權重。
1.6. 貝葉斯分類
例如,判斷垃圾郵件:
P(H): 垃圾郵件的先驗概率
P(X): 特定特征的先驗概率
P(X|H): 在垃圾郵件中,包含特定特征(比如“辦證”)郵件的概率
P(H|X): 包含特定特征比如“辦證”的郵件屬於垃圾郵件的概率
已上是根據貝葉斯定理獲得單一事件對概率的影響。
1.6.1. 朴素貝葉斯
多特征時的概率計算,會導致計算量巨大……
朴素貝葉斯算法,會假設特征X1, X2, X3...之間是相互獨立的,則
1.6.2. 貝葉斯多項式模型
1.6.3. 伯努利模型
1.6.4. 混合模型
1.6.5. 高斯模型
1.6.6. 大腦中的貝葉斯
Aoccdrnig to a rscheearch at Cmabrigde Uinervtisy, it deosn't mttaer in waht oredr the Itteers in a wrod are, the olny iprmoetnt ting is taht the frist and Isat Itter be at the rghit pclae. The rset can be a toatl mses and you can sitll raed it withuot porbelm. Tihs is bcuseae the huamn mnid deos not raed ervey I teter by istlef, but the wrod as a wlohe.
研表究明,漢字的序順並不定一能影閱響讀,比如當你看完這句話后,才發這現里的字全是亂的。
2. 聚類算法(無監督式學習)
2.1. K-MEANS
以下為例,先隨機定義元素的類型:
G:歸類
C:計算重心,然后調整中心點
- 先從沒有標簽的元素集合A中隨機取k個元素,作為 k 個子集各自的重心。
- 分別計算剩下的元素到 k 個子集重心的距離(這里的距離也可以使用歐氏距離),根據距離將這些元素分別划歸到最近的子集
- 根據聚類結果,重新計算重心(重心的計算方法是計算子集中所有元素各個維度的算數平均數)
- 將集合A中全部元素按照新的重心然后再重新聚類。
- 重復第4步,直到聚類結果不再發生變化。