1. 程式人生 > >機器學習基本概念一: 機器學習三要素

機器學習基本概念一: 機器學習三要素

目錄


其實機器學習特別是統計機器學習是一個系統性的學科,而不是由一些零散的演算法組成的,當意識到這點之後,自己開始寫基本概念系列,首當其衝的應該就是三要素了

1 模型

模型即輸入空間到輸出空間的一種對映,這是一種假設

一般我們需要根據分析的問題來建模: (分類,迴歸,聚類,異常檢測)

2 策略

怎麼從眾多假設中選擇最優的一個

具體地,選擇這個步驟需要解決三個問題:
1 評估某個模型對單個訓練樣本的預測效果
2 評估某個模型對訓練集的預測效果
3 評估某個模型對整個資料集的預測效果
既然是評估,我們一般選用以下評估指標:
1 損失函式(loss function)
2 風險函式

(empirical risk function)
下面詳細介紹:

損失函式

通過損失函式我們可以把損失定量地描述出來,再對其中的引數進行調整使損失減小,這就叫做優化
損失函式記作L(Y,f(X)) L(Y, f(X))

常用損失函式:

  • 0-1損失函式
    L(Y,f(X))={1,yf(x)0,y=f(x) L(Y,f(X)) = \left\{ \begin{array}{} 1, & y \neq f(x) \\ 0, & y = f(x) \end{array} \right.
    可以看出,這個函式過於"嚴格"了
  • 平方損失函式(square loss function)
    L(Y,f(X))=(Yf(X))2 L(Y, f(X)) = (Y - f(X))^2
  • 絕對損失函式(absolute loss function)
    L(Y,f(X))=Yf(X) L(Y, f(X)) = \left | Y - f(X) \right |
  • 合頁損失函式(hinge loss function)
    L(z)=max(0,1z) L(z) = max(0, 1 - z)
    其中zzyf(x)y \cdot f(x)
    , 在二分類中自然z1z \ge 1時代表分類完全正確
    所以 hinge loss function 常用於SVM
    更多知識, 這篇文章說的比較好: 機器學習中的損失函式 (著重比較:hinge loss vs softmax loss)
  • 指數損失函式(exponential loss function)
    L(Y,f(X))=ef(X)TY L(Y, f(X)) = e^{-f(X)^TY}
    主要用於adaboost演算法中
  • 互熵損失(cross entropy loss,softmax loss)
  • 對數/對數似然損失函式 (logarithmic / log-likelihood loss function)
    L(Y,P(YX))=logP(YX) L(Y, P(Y | X)) = -\log {P(Y | X)}
    這個比較有意思,因為是經驗風險函式的範疇,都是在訓練集上進行評估,所以"越不確定損失越大"

3 演算法

  • 最小二乘法

針對線性模型

  • 梯度下降、上升法(批梯度、增量梯度)

針對任意模型