【機器學習基石筆記】數學基礎 Week1

這是第一週的的上課筆記,有四支上課影片,另外還有一些閱讀教材,不過因為是第一周課程,所以上課內容不外乎是:

  1. 這堂課程的簡介與進度安排之類的
  2. 機器學習簡介

什麼是機器學習?

簡單來說,就是希望用電腦來模擬或者模仿類似學習的過程。

在人類的學習過程中有的其中一個共通性就是觀察出發,無論是觀察書本或是教導者,並將這些觀察結果經由我們腦袋的內化轉變成我們所掌握的知識或技能。

電腦的學習腦也是如此,它經由一番觀察學習後,進行內化,將這些觀察結果變成對機器來說有用的技能。

具體的來定義,我們將電腦所觀察的東西稱為資料;所學習的技巧,實際上是某一種表現的增進;而所謂的內化則是中間的訓練與逼近過程。

什麼情況適用機器學習?

在現實不是所有情境都適用於機器學習,教授認為應符合下列三個關鍵才適用:

  1. 存在可學習的潛藏模式,但無法明確歸納成規則
    若存在可學習的潛藏模式,且此問題必須存在學習目標讓機器學習,如此一來此問題才可以透過機器學習來發覺學習,並用學習目標來評估學習效能,以達到增進效能或表現目的。

    反之,若存在可學習的潛藏模式,不論給了機器再多資料、訓練再久,它最終還是學不到東西,因為根本沒東西供它學。

    此外,若是可以輕易的歸納出規則,則應該直接使用規則模式(Rule-Based)的方式直接寫死就好,無需動用到機器學習。

  2. 我們不知道怎麼把它寫下來,所以才會想要使用機器學習
    就是一個我知道怎跟你描述,只好請你自己看著學的概念 XDDD。一樣如果描述的出來,那麼應該先考慮是否可以用規則來處理。

  3. 資料
    這是重點阿!沒有資料就什麼都不用玩了…XD

符號定義

以銀行核發信用卡為例,銀行使用機器學習目的是學習如何核發信用卡,能讓它獲利或是服務評比最好。

The Learning Model The Learning Model(圖片來源: 課程截圖

  1. Input
    $x \in X$ ,在這個例子中有的就是顧客申請書上的相關資料,例如:年齡、性別、年收入、信用資料、貸款…等。

  2. Ouput
    $y \in Y$,根據 input 的顧客資料決定是否發卡給這位顧客 。

  3. Target function
    $f : X \rightarrow Y$,資料中潛藏的模式,也就是機器學習試圖學習的目標,注意:我們並不知曉 $f$ 到底長怎樣…如果知道直接寫方程式就好,不用學了,瞬間秒解阿 XD

  4. Data
    $D= { (x_1,y_1),(x_2,y_2),…,(x_n,y_n) }$,過往的歷史資料,也就是用來訓練的資料。 資料中 $x$ 包含了他們的基本資料,如:年齡、性別、年收入、信用資料、貸款。 而 $y$ 則是記錄發給他們有沒有好下場實際發卡後的結果是好或不好。

  5. Hypothesis
    $g : X \rightarrow Y$,機器觀察餵入的資料所學到函數,在期望上我們會希望 $g$ 越接近 $f$ 越好。這個函數是機器學習所要學習的技巧,它的輸出結果會告訴我們是否應該發卡給顧客,也就是 $Y$。

  6. Hypothesis Set
    $H$,所有可能用來進行預測的公式我們稱之為 $h$,例如 $h_1$ 的話是年收入大於50萬才核准、$h_2$ 的負債大於100萬的不核准…之類的,所有的可能條件集合稱之為 $H$。$H$ 中可能並非都是可用的公式,演算法會從中選擇一個最符合資料的 $h$,做為最後 $g$。

  7. Model
    在機器學習中,一般所指的模型是 Learning Algorithm $A$ 與 Hypothesis Set $H$ 兩個集合。

  8. Loss Function
    不在這次的課程內,損失函數是用計算實際值和預測值的殘差,也就是用來評估 $g$ 挑選的是否夠好的一個依據。

總結來說機器學習整個流程就是,從資料出發經由模型得到一個 Hypothesis $g$,這個 $g$ 期望上能盡可能接近 $f$。而模型是由學習演算法 $A$ 與用來進行預測的公式合集 $H$ 所組成。

與相關領域的關係

再次重申機器學習的定義:資料經由模型得到一個 Hypothesis $g$ ,且 $g$ 越接近越好 $f$。

資料探勘 Data Mining

一個簡單的定義,資料探勘是希望使用非常大量的資料,去找出一些有趣或有用的性質。

如果找出有用的性質是指:找出一個有用的 Hypothesis,讓我們可以進行預測,則在這種情況下資料探勘與機器學習的目標是一致的;但多數的資料探勘目的並非用來預測,而是用找出來的性質幫助人類針對問題做進一步的分析,因此兩個領域雖然相像,但在其目的卻是有所不同的。

雖說兩者目的不同,但兩者間可以互相借鏡、幫忙。

若資料探勘所找出來的性質與機器學習想做的有相關,機器學習或許可以藉由資料探勘所找出的性質,來找出更好的 Hypothesis。也就是說可以用資料探勘的工具,來幫助機器學習做得更好 ;反之亦然,也可以用機器學習的工具,來幫助在資料探勘裡面找出有趣的東西。

人工智慧 Artificial Intelligence

定義上,是希望電腦表現出一個具有 intelligent behavior 的行為,例如:下棋、自動駕駛。在理解上可以視機器學習是實現人工智慧的一種方法,以下棋的例子來說,我們可以透過給定大量的棋譜,經由設計演算法,讓機器從中學到如何下棋。

統計 Statistics

統計是想要用資料來推論一些未知的事情。而在機器學習中 $g$ 是我們從資料中所推論的結果,$f$ 則是未知的事情,以這個方向來說,統計實際上是實現機器學習的一種方法。些微的差異是,機器學習中的演算法會更重視過程(怎麼樣算出來),而不只是結果。

其他連結

  1. 機器學習基石筆記目錄