1. 程式人生 > >機器學習西瓜書(周志華)學習筆記(1)-緒論

機器學習西瓜書(周志華)學習筆記(1)-緒論

基本術語

  1. 資料集(data set):一組記錄的集合。例如:(色澤=青綠;根蒂=稍蜷;敲聲=沉悶)。
  2. 樣本(sample):資料集中的每條記錄,它是關於一個事件或物件的描述。又稱示例(instance)。例如:色澤=青綠。
  3. 屬性(attribute):反映事件或物件在某方面的表現或性質的事項。又稱特徵(feature)。例如色澤。
  4. 屬性值(attribute value):屬性上的取值。例如:青綠。
  5. 屬性空間(attribute space):屬性張成的空間。又稱樣本空間(sample space)。例如:把色澤、根蒂、敲聲作為三個座標軸,它們張成的一個描述西瓜的三維空間,每個西瓜都可以在這個空間中找到一個對應的座標位置,這個點對應一個座標向量,這個示例又稱為一個“特徵向量”(feature vector)。
  6. 學習(learning)/訓練(training):從資料中學得模型的過程,這個過程是通過執行某個學習演算法來完成。
  7. 訓練資料(training data):訓練過程中使用的資料。
  8. 訓練樣本(training sample):訓練資料中的每個樣本。
  9. 訓練集(training set):訓練樣本組成的集合。
  10. 假設(hypothesis):學得模型對應了關於資料的某種潛在的規律。
  11. 學習器(learner):模型又稱學習器。
  12. 標記(label):學得一個模型,僅有已有的示例資料是不夠的。要建立一個關於“預測”(prediction)的模型,需要獲得訓練樣本的“結果”資訊。例如“((色澤=青綠;根蒂=稍蜷;敲聲=濁響),好瓜)”。這裡關於示例結果的資訊“好瓜”,稱為標記。
  13. 樣例(example):擁有了標記資訊的示例。
  14. 分類(classification):欲預測的是離散值。
  15. 迴歸(regression):欲預測的是連續值。
  16. 測試(testing):學得模型後,使用其進行預測的過程。
  17. (cluster):將訓練集中的記錄分組,每個組就是一個簇。
  18. 聚類(clustering):將訓練集分組的過程。
  19. 監督學習(supervised learning):訓練資料既有特徵(feature)又有標籤(label),通過訓練,讓機器可以自己找到特徵和標記之間的聯絡,在面對只有特徵沒有標籤的資料時,可以判斷出標籤。代表:分類和迴歸。
  20. 無監督學習(unsupervised learning):在只有特徵沒有標記的訓練資料集中,通過資料之間的內在聯絡和相似性將他們分成若干類。代表:聚類。
  21. 泛化能力(generalization):學得模型適用於新樣本的能力。
  22. 獨立同分布(independent and identically distributed 簡稱i.i.d.):假設樣本空間中全體樣本服從一個未知的“分佈”D,我們獲得的每個樣本都是獨地從這個分佈上取樣獲得的,即“獨立同分布”。
  23. 歸納偏好:機器學習演算法在學習過程中對某種型別假設的偏好,稱為“歸納偏好”。與特徵選擇(feature selection)有關。

沒有免費的午餐定理(No Free Lunch Theorem)

        若學習演算法La在某些問題上比學習演算法Lb要好,那麼必然存在另一些問題,在這些問題中LbLa泛化能力強。

         La在訓練集之外的所有樣本上的誤差為:

                                  E$_{ote}_$(L$_a_$|X,f)=\sum $_{h}_$\sum $_{x\epsilon \chi -X}_$ P(x)\mathbb{I}(h(x)\neq f(x))P(h|X,L$_{a}_$)

  • χ:樣本空間。
  • H:假設空間。
  • La、Lb:學習演算法。學習演算法有其偏好性,對於相同的訓練資料,不同的學習演算法可以產生不同的假設,學得不同的模型,因此才會有哪個學習演算法對於具體問題更好。這裡這個沒有免費的午餐定理要證明的就是:若對於某些問題演算法La學得的模型更好,那麼必然又有在另一些問題中,演算法Lb學得的模型更好。這裡的好壞在下文中使用演算法對於所有樣本的總誤差來表示。
  • P(h|X,La): 演算法La基於訓練資料X產生假設h的概率。既然前面有假設空間這個概念,那麼假設h自然不止一個,並且對於整個空間的每一個h,P(h|X,La)的總和等於1。這裡的假設是一個對映,是y=h(x),是基於資料X產生的對於學習目標(判斷好瓜)的預測。因資料X不一樣,所以可能產生不一樣的假設h。
  • f:希望學得的真實目標函式。這個函式不是唯一的,而是存在一個函式空間,在這個空間中按某個概率分佈,下文證明中採用的是均勻分佈。

        繼續回到這個公式:

  • E是期望expectation,這個下標ote,是off-training error,即訓練集外誤差。
  • Eote(La|X,f): 演算法La學得的假設在訓練集外的所有樣本上的誤差的期望。
  • P(x): 樣本空間中的每個樣本的取得概率不同。比如:(色澤=淺白,根蒂=硬挺,敲聲=清脆)的西瓜可能比(色澤=淺白,根蒂=稍蜷,敲聲=沉悶)的西瓜更多,取到的概率更大。所以有P(x)這個概率。
  • II(h(x)≠f(x)):指示函式,括號裡為真就=1,為假就=0。

      下面來理解一下求和符號:

  • ∑h: 對假設的求和。這裡我參考的部落格博主,對於對假設的求和,也沒有很好的解釋。不知道這個對假設求和的空間到底是:同一個演算法對於不同訓練集產生不同的假設,每個假設有不同的概率;還是演算法對於同一個訓練集會產生不同的假設,每個假設有不同的概率。
  • ∑x∈χ−X:對於樣本空間中每一個訓練集外的資料都進行右邊的運算。

      整體下來,這個公式的意思就是:

        對於演算法La產生的每一個不同的假設h,進行訓練外樣本的測試,然後測試不成功(因為求的是誤差)指示函式就為1,並且兩個概率相乘,最後所有的結果加起來,就是該演算法在訓練集外產生的誤差。

        然後下面考慮二分類問題,先要說明,對於我們想要求得的真實目標函式f可能也不止一個,這個好理解,因為滿足版本空間中的假設的函式都可以是真實目標函式,然後這些不同的f有著相同的概率(均勻分佈),函式空間為{0,1},那麼有多少個這種函式呢?

       我們來看對於同一個樣本的這個預測值,對於樣本空間χ中的某個樣本x,如果f1(x)=0,f2(x)=1, 那麼這就是兩個不同的真實目標函式,所以對於某個樣本可以區分出兩個真實目標函式,一共有|χ|個樣本,所以一共有2|χ|個真實目標函式,這些真實目標函式是等可能分佈的(均勻分佈),所以對於某個假設h(x)如果h(x)=0那麼就有1/2的可能與真實目標函式相等。 所以下面公式中,

        所以下面來看這個公式推導:

        所以,可以得出總誤差與學習演算法無關。