1. 線性回歸演算法 Linear Regression
回歸分析(Regression Analysis)是統計學的數據分析方法,目的在於了解兩個或多個變數間是否相關、相關方向與強度,並建立數學模型以便觀察特定變數來預測其它變數的變化情況。
線性回歸演算法(Linear Regression)的建模過程就是使用數據點來尋找最佳擬合線。公式,y = mx + c,其中 y 是因變數,x 是自變數,利用給定的數據集求 m 和 c 的值。
線性回歸又分為兩種類型,即 簡單線性回歸(simple linear regression),只有 1 個自變數;*多變數回歸(multiple regression),至少兩組以上自變數。

下面是一個線性回歸示例:基於 Python scikit-learn 工具包描述。

2. 支持向量機演算法(Support Vector Machine,SVM)
支持向量機/網路演算法(SVM)屬於分類型演算法。SVM模型將實例表示為空間中的點,將使用一條直線分隔數據點。需要注意的是,支持向量機需要對輸入數據進行完全標記,僅直接適用於兩類任務,應用將多類任務需要減少到幾個二元問題。


3. 最近鄰居/k-近鄰演算法 (K-Nearest Neighbors,KNN)
KNN演算法是一種基於實例的學習,或者是局部近似和將所有計算推遲到分類之後的惰性學習。用最近的鄰居(k)來預測未知數據點。k 值是預測精度的一個關鍵因素,無論是分類還是回歸,衡量鄰居的權重都非常有用,較近鄰居的權重比較遠鄰居的權重大。
KNN 演算法的缺點是對數據的局部結構非常敏感。計算量大,需要對數據進行規範化處理,使每個數據點都在相同的範圍。


4. 邏輯回歸演算法 Logistic Regression
邏輯回歸演算法(Logistic Regression)一般用於需要明確輸出的場景,如某些事件的發生(預測是否會發生降雨)。通常,邏輯回歸使用某種函數將概率值壓縮到某一特定範圍。
例如,Sigmoid 函數(S 函數)是一種具有 S 形曲線、用於二元分類的函數。它將發生某事件的概率值轉換為 0, 1 的範圍表示。
Y = E ^(b0+b1 x)/(1 + E ^(b0+b1 x ))
以上是一個簡單的邏輯回歸方程,B0,B1是常數。這些常數值將被計算獲得,以確保預測值和實際值之間的誤差最小。

5. 決策樹演算法 Decision Tree
決策樹(Decision tree)是一種特殊的樹結構,由一個決策圖和可能的結果(例如成本和風險)組成,用來輔助決策。機器學習中,決策樹是一個預測模型,樹中每個節點表示某個對象,而每個分叉路徑則代表某個可能的屬性值,而每個葉節點則對應從根節點到該葉節點所經歷的路徑所表示的對象的值。決策樹僅有單一輸出,通常該演算法用於解決分類問題。
一個決策樹包含三種類型的節點:
決策節點:通常用矩形框來表示
機會節點:通常用圓圈來表示
終結點:通常用三角形來表示
簡單決策樹演算法案例,確定人群中誰喜歡使用信用卡。考慮人群的年齡和婚姻狀況,如果年齡在30歲或是已婚,人們更傾向於選擇信用卡,反之則更少。
通過確定合適的屬性來定義更多的類別,可以進一步擴展此決策樹。在這個例子中,如果一個人結婚了,他超過30歲,他們更有可能擁有信用卡(100% 偏好)。測試數據用於生成決策樹。

注意:對於那些各類別樣本數量不一致的數據,在決策樹當中信息增益的結果偏向於那些具有更多數值的特徵。
6. k-平均演算法 K-Means
k-平均演算法(K-Means)是一種無監督學習演算法,為聚類問題提供了一種解決方案。
K-Means 演算法把 n 個點(可以是樣本的一次觀察或一個實例)劃分到 k 個集群(cluster),使得每個點都屬於離他最近的均值(即聚類中心,centroid)對應的集群。重複上述過程一直持續到重心不改變。

7. 隨機森林演算法 Random Forest
隨機森林演算法(Random Forest)的名稱由 1995 年由貝爾實驗室提出的random decision forests 而來,正如它的名字所說的那樣,隨機森林可以看作一個決策樹的集合。
隨機森林中每棵決策樹估計一個分類,這個過程稱為「投票(vote)」。理想情況下,我們根據每棵決策樹的每個投票,選擇最多投票的分類。

8. 樸素貝葉斯演算法 Naive Bayes
樸素貝葉斯演算法(Naive Bayes)基於概率論的貝葉斯定理,應用非常廣泛,從文本分類、垃圾郵件過濾器、醫療診斷等等。樸素貝葉斯適用於特徵之間的相互獨立的場景,例如利用花瓣的長度和寬度來預測花的類型。「樸素」的內涵可以理解為特徵和特徵之間獨立性強。
與樸素貝葉斯演算法密切相關的一個概念是最大似然估計(Maximum likelihood estimation),歷史上大部分的最大似然估計理論也都是在貝葉斯統計中得到大發展。例如,建立人口身高模型,很難有人力與物力去統計全國每個人的身高,但是可以通過採樣,獲取部分人的身高,然後通過最大似然估計來獲取分布的均值與方差。
9. 降維演算法 Dimensional Reduction
在機器學習和統計學領域,降維是指在限定條件下,降低隨機變數個數,得到一組「不相關」主變數的過程,並可進一步細分為特徵選擇和特徵提取兩大方法。
一些數據集可能包含許多難以處理的變數。特別是資源豐富的情況下,系統中的數據將非常詳細。在這種情況下,數據集可能包含數千個變數,其中大多數變數也可能是不必要的。在這種情況下,幾乎不可能確定對我們的預測影響最大的變數。此時,我們需要使用降維演算法,降維的過程中也可能需要用到其他演算法,例如借用隨機森林,決策樹來識別最重要的變數。
10. 梯度增強演算法 Gradient Boosting
梯度增強演算法(Gradient Boosting)使用多個弱演算法來創建更強大的精確演算法。它與使用單個估計量不同,而是使用多個估計量創建一個更穩定和更健壯的演算法。梯度增強演算法有幾種:
XGBoost? — 使用線性和樹演算法
LightGBM? — 只使用基於樹的演算法
梯度增強演算法的特點是精度較高。此外,LightGBM 演算法具有令人難以置信的高性能。
Topic: Machine Learning