不一樣的機器學習算法是如何從數據中學習並預測未見數據的呢?算法
機器學習算法是這樣設計的,它們從經驗中學習,當它們獲取愈來愈多的數據時,性能就會提升。每種算法都有本身學習和預測數據的方法。在本文中,咱們將介紹一些機器學習算法的功能,以及在這些算法中實現的有助於學習過程的一些數學方程。數據庫
機器學習算法的類型
機器學習算法大體能夠分爲如下四類:微信
監督學習:預測的目標或輸出變量是已知的。這些算法生成一個函數,該函數將輸入映射到輸出變量。迴歸和分類算法屬於這一類。在迴歸中,輸出變量是連續的,而在分類中,輸出變量包含兩個或更多的離散值。一些監督學習算法包括線性迴歸,邏輯迴歸,隨機森林,支持向量機,決策樹,樸素貝葉斯,神經網絡。網絡
無監督學習:目標或輸出變量是未知的。這些算法一般對數據進行分析並生成數據簇。關聯、聚類和維數約簡算法屬於這一類。K-means聚類、PCA(主成分分析)、Apriori算法等是非監督學習算法。app
半監督學習:它是監督和非監督學習方法的結合。它使用已知數據來訓練本身,而後標記未知數據。機器學習
強化學習:機器或代理被訓練從「試錯」過程當中學習。機器從過去的決策經驗中學習,並利用它的學習來預測將來決策的結果。強化學習算法的例子有Q-Learning, Temporal Difference等。編輯器
線性迴歸
線性迴歸是經過擬合數據點上的最佳直線來預測連續變量的結果。最佳擬合線定義了因變量和自變量之間的關係。該算法試圖找到最適合預測目標變量值的直線。經過使數據點與迴歸線之間的差的平方和最小達到最佳擬合線。ide
公式:Y = c + m₁X₁ + m₂X₂ + ….. +mₙXₙ
函數
邏輯迴歸
邏輯迴歸是一種基於自變量估計分類變量結果的分類算法。它經過將數據擬合到logistic函數來預測某一事件發生的機率。經過最大化似然函數,對logistic函數中自變量的係數進行優化。優化決策邊界,使成本函數最小。利用梯度降低法可使代價函數最小化。性能
邏輯迴歸的s型曲線
Logistic迴歸的代價函數
邏輯迴歸方程
樸素貝葉斯
樸素貝葉斯是一種基於貝葉斯定理的分類算法。該算法假設自變量之間不存在相關性。在一個類中出現的某個特性與在同一類中出現的另外一個特性沒有關係。咱們針對類爲全部預測器建立一個頻率表(目標變量的不一樣值),並計算全部預測器的可能性。利用樸素貝葉斯方程,計算全部類別的後驗機率。樸素貝葉斯分類器的結果將是全部類機率中機率最高的類。
c→類,X→預測
決策樹
決策樹主要用於分類問題,但它們也能夠用於迴歸。在該算法中,咱們根據最有效地劃分數據集的屬性,將數據集劃分爲兩個或多個同構集。選擇將分割數據集的屬性的方法之一是計算熵和信息增益。熵反映了變量中雜質的數量。信息增益是父節點的熵減去子節點的熵之和。選擇提供最大信息增益的屬性進行分割。咱們也可使用基尼指數做爲雜質標準來分割數據集。爲了防止過分分裂,咱們優化了max_features、min_samples_split、max_depth等決策樹的超參數。
熵:c→類的數量
基尼指數
隨機森林
隨機森林由多個決策樹組成,決策樹做爲一個集合來運行。一個總體由一組用來預測結果的模型組成,而不是一個單獨的模型。在隨機森林中,每棵決策樹預測一個類結果,投票最多的類結果成爲隨機森林的預測。爲了作出準確的預測,決策樹之間的相關性應該最小。有兩種方法能夠確保這一點,即便用Bagging和特性選擇。Bagging是一種從數據集中選擇隨機觀察樣本的技術。特徵選擇容許決策樹僅在特徵的隨機子集上建模。這就防止單個樹使用相同的特性進行預測。
k -近鄰
該算法也可用於迴歸和分類。該算法經過計算數據點與全部數據點的距離來找到k個數據點的最近鄰。數據點被分配給k個鄰居中點數最多的類(投票過程)。在迴歸的狀況下,它計算k個最近鄰居的平均值。不一樣的距離度量可使用歐幾里得距離,曼哈頓距離,閔可夫斯基距離等。爲了消除平局的機率,k的值必須是一個奇數。因爲每一個數據點與其餘數據點的距離都須要計算,所以該算法的計算開銷較大。
k - means
K-Means是一種無監督學習算法,用於造成數據簇。造成的集羣應該使集羣內的數據點儘量類似,集羣之間的差別儘量明顯。它隨機選擇K個位置,每一個位置做爲一個簇的質心。數據點被分配到最近的簇。在分配數據點以後,計算每一個聚類的質心,再次將數據點分配到最近的聚類中。此過程將重複進行,直到在每次連續迭代中數據點保持在同一簇中,或簇的中心不改變爲止。咱們還能夠指示算法在進行必定次數的迭代後中止計算。
Apriori算法
Apriori算法是一種基於關聯規則的數據庫頻繁項集識別算法。頻繁項集是支持度大於閾值(支持度)的項集。關聯規則能夠被認爲是一種IF-THEN關係。它一般用於市場籃子(market basket)分析中,發現不一樣商品之間的關聯。支持、信心和提高是幫助肯定關聯的三個措施。
支持指示某些項目集一塊兒出現的頻率。
置信度計算項目集在其中一個項目出現時發生的機率。
Lift表示關聯規則的強度。支持是用戶定義的閾值。
XGBoost
XGBoost是一種基於決策樹的梯度加強算法(集成的另外一種類型)。XGBoost涉及一組較弱的學習者,它們結合在一塊兒能夠作出值得注意的準確預測。Boosting是一個序列集成,每一個模型都是在修正以前模型錯誤分類的基礎上構建的。換句話說,它接收到前一個模型的錯誤,並試圖經過學習這些錯誤來改進模型。
支持向量機(SVM)
SVM也是一種監督學習算法,可用於分類和迴歸問題。支持向量機試圖在N維空間(N指特徵的數量)中找到一個最優超平面來幫助分類不一樣的類。它利用Hinge損失函數,經過最大化類觀測值之間的裕度距離來尋找最優超平面。超平面的維數取決於輸入特徵的數量。若是特徵個數爲N,則超平面的維數爲N-1。
Hinge損失函數:t→目標變量,w→模型參數,x→輸入變量
微信號 : deephub-imba
每日大數據和人工智能的重磅乾貨
大廠職位內推信息
長按識別二維碼關注 ->
喜歡就請三連暴擊!
做者:Prathamesh Thakar
deephub翻譯組
https://towardsdatascience.com/the-math-behind-machine-learning-algorithms-9c5e4c87fff
本文分享自微信公衆號 - DeepHub IMBA(deephub-imba)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。