機器學習基礎概念1:機器學習基礎概念科普
科普文章!該文章僅用於梳理一些機器學習的基礎概念。
寫文章的靈感來自Chris Albon的數據科學博客以及Udacity的機器學習課程。決策樹(Decision Tree)
假設我們有一組數據,該數據記錄了用戶的性別、年齡和下載的APP。我們首先根據年齡對用戶下載的APP進行分類,然後再根據性別進行分類,這種方式就是決策樹。
樸素貝葉斯(Naive Bayes)
假設我們想分類垃圾郵件,通過統計我們發現,有80%垃圾郵件包含字眼「cheap」,有70%垃圾郵件包含拼寫錯誤,有95%垃圾郵件沒有標題,樸素貝葉斯方法簡單說就是利用這些統計數據和下圖中的條件概率分布公式實現垃圾郵件分類:
舉例來說,通過統計我們知道了以下概率:
1. 垃圾郵件包含字眼「cheap」的概率是80%(公式中的P(data|class))2. 垃圾郵件占所有郵件的比例是50%(公式中的P(class))3. 包含字眼「cheap」的郵件占所有郵件的比例是60%(公式中的P(data))那麼通過公式我們就可以得到包含字眼「cheap」的郵件是垃圾郵件的比例:梯度下降(Gradient Descent)
上圖中,縱坐標是代價值,橫坐標是參數值,梯度下降就是讓參數值從一個起始點開始,一步一步朝著代價值最小的方向變化。
線性回歸(Linear Regression)
線性回歸用於擬合數據趨勢,假設我們有一組數據,如何畫一條線來擬合這組數據?這個方法就是線性回歸。
最小二乘法(Least Squares)
最小二乘法是用來找到最匹配數據的那條線性回歸線的方法,原理就是計算數據與線之間的距離的平方,再對所有距離的平方求和,使這個求和值最小的那條線就是最佳匹配。
邏輯回歸(Logistic Regression)
邏輯回歸就是畫一條線,將一組數據分為兩類。
支持向量機(support vector machine)
支持向量機是找到邏輯回歸中匹配的最好的那條線的方法,具體說就是計算每個類別數據與線之間的距離,找到類別中距離最小的值,使這個最小值最大的線就是最佳匹配。
神經網路(neural network)
還是上述分類問題,如果數據複雜,我們必須使用兩條線分類,那麼分別把數據代入兩個邏輯回歸模型中,然後對兩個模型的結果再進行邏輯回歸分類,這個簡單模型就是神經網路的最基本架構。
核方法(kernel trick)
當我們想要分類的數據無法用一條直線表示,那麼我們可以把數據擴展到三維(或多維),利用增加的維度對數據進行分類就是核方法。
k均值聚類(K-Means clustering)
假設我們想把數據分為三類,那麼首先隨機設立三個中心點,數據離哪個中心點近就將數據分為哪類,然後改變中心點的位置為本類數據的中心,再次計算數據離新中心點的距離,根據新的計算重新分類,一致重複上述過程直到沒有數據和中心點改變時分類完成,這種方法叫做k均值聚類。缺點是必須事先指定中心點數量。
分層聚類(Hierarchical Clustering)
如果我們不指定中心點數量呢?可以採用分層聚類。我們把距離最近的兩個數據劃分為類1,距離第二近的兩個數據劃分為類2,距離第三近的兩個數據劃分為類3,這裡後距離第4近的數據和後續的距離近的數據均與前面類中的數據重複,那麼就將新數據劃入重複的類中,直到剩下的距離相近的數據超過我們設定的最大值。
推薦閱讀:
※CS 294: Deep Reinforcement Learning(5)
※PHP 是世界上最好的語言之——機器學習工程師用 Python 開發環境的最佳實踐
※神經網路-全連接層(1)
TAG:机器学习 |