簡單易懂的人工智能系列:機器學習基本概念(一)

機器學習流程方法流程

以有監督學習爲例:

          輸入數據  ————>  特徵工程  ————>  模型訓練  ————>  模型部署   ————> 模型應用

輸入空間與輸出空間

輸入空間(Input Space):將輸入的所有可能取值的集合稱作輸入空間

輸入空間(Ouput Space):將輸出的所有可能取值的集合稱作輸出空間

  • 輸入空間和輸出空間可以是有限元素的集合,也可以是整個歐式空間
  • 輸入空間和輸出空間可以是連續值集合,也可以是離散值集合
  • 輸入空間和輸出空間可以是同一空間,也可不同
  • 通常輸出空間會比輸入空間小

特徵空間

特徵(Feature):即屬性。每個輸入實例的各個組成部分(屬性)稱爲原始特徵,基於原始特診還可以擴展出很多衍生特徵。

C_level 屬於由原始特徵Fare 而得的衍生特徵

特徵向量(Feature Vector):有多個特徵組成的集合,稱作特徵向量

 

特徵空間(Feature Space):將特徵向量存在的空間稱爲特徵空間

  • 特徵空間中的每一維對應了一個 特徵(屬性)
  • 特徵空間可以與輸入空間相同,也可以不同
  • 需將實例從輸入空間映射到特徵空間
  • 模型實際上是定義在特徵空間之上的

假設空間

假設空間(Hypothesis Space):由輸入空間到輸出空間的映射的集合

我們舉一個栗子來更深理解假設空間:

某商品的瀏覽、購買記錄中,記錄了性別、信用度以及是否購買,基於數據建模,其中Gender取值爲{Male,Female},Gredit取值爲 {High , Medium, Low},Buy取值爲 {TRUE,FALSE}:  

                                      

我們的目標是在輸入空間和輸出之間建立映射關係,也就是假設空間。

輸入記錄中所有可能出現的值的組合爲 2*3 = 6個,列表如下:

                                                

而這些組合結果的最終結果都可能有兩個也就是 TRUE 或FALSE:

                            

但是我們要提出一個疑問:這上面的這個表是假設空間嗎?

對於每一種可能的輸入,都能找到一個映射,對應了輸出空間的某個輸出。

我們從這12個可能的輸入輸入映射關係,抽出一種可能的假設:

我們將這種所有的輸入空間都對應了一個確定的輸出稱作一種假設,一種假設即使一種輸入空間到輸出空間的映射方式,那一共有多少種假設?

我們知道輸入空間可能取值種數(2*3 = 6種),輸出空間能取值種數(2種):

每一種確定的輸入空間取值對應2種輸入空間取值,有6種確定的輸入空間取值,組合成輸入空間到輸入空間的映射方式一共就有 2*2*2*2*2*2 = 2^6,通常還要加上一個全空的假設 ,也就是說着個問題的假設空間有 2^6 + 1 種假設

通過以上的栗子,可以的到一般的假設空間H的假設個數爲:,其中 M是輸出空間的可能取值數,\(N_i\) 是輸入空間空間第 i 個特徵的可能取值個數。

以上例子種的假設空間的65種假設種取出6種如下 :

而我們機器學習建模過程也就是要從這65個假設中選擇一個最爲貼合我們數據樣本的假設X,然後將這個假設X用來對新的數據進行預測

機器學習方法三要素

機器學習方法通常是由模型、策略和算法三部分構成:方法= 模型 + 策略 + 算法

  • 模型: 輸入空間到輸出空間的映射關係(某種假設)。機器學習過程即爲從假設空間中搜索適合當前數據的假設

對於模型,首先分析需要解決的問題(分類 or 迴歸 or 發現結構 or 異常檢測),來確定模型:

  • 策略:從假設空間衆多的假設中選擇到最優的模型(假設)的學習標準或者規則

對於策略,我們從假設空間中選擇 一個最合適的 模型出來,首先需要解決的問題如下 :

對於評估單個訓練樣本效果以及訓練集整體效果較爲容易,而對於除去已知的數據集,對那些未知數據具的評估效果是有困難的,通過定義一些指標來衡量以上問題:

由此我們有以下基本策略:

  • 算法:學習模型的具體的計算方法,通常是求解最優化問題

損失函數

損失函數(Loss Fuction):用來衡量預測結果和真實結果之間的差距,其值越小,代表預測結果和真實結果越一致。通常是一個非負實質值函數。通過各種方式縮小損失函數的過程被稱作優化。損失函數記作 \(L(Y,f(x))\)。損失函數(Loss Function) 直接作用於單個樣本,用來表達樣本的誤差。

常見損失函數如下:

0-1損失函數(0 - 1LF):預測值和真實值精確相等則“沒有損失”爲0,否則意味着“完全損失”,爲1

,其中Y 爲真實值

預測值和實際值精確相等有些過於嚴格,可以採用兩者的差小於某個閾值的方式來降低要求:

比如,對於相同的預測結果,兩種損失函數嚴格程度不同,設置 T= 0.5,那麼:

後者 設置T= 0.5,要求就沒那麼嚴格咯,前者就相當於後者的一個特殊情況 T= 0。

預測結果是一樣的,然而這種結果是好是壞,與實際應用的業務場景要求是緊密相關的,不同的應用對嚴格程度的要求往往是不同的。

絕對值損失函數(Absolute LF):預測結果與真實結果差的絕對值。優點是簡單易懂,但是計算不方便(對於後續公式處理較爲麻煩,—— 模型推導過程較爲困難)。

                                        

平方損失函數(Quadratic LF):預測結果與真實結果差的平方。

                                  

平方損失函數所具有的優勢:

  • 每個樣本的誤差均爲非負,累加過程不會互相抵消
  • 平方對於具有大誤差的樣本的懲罰力度更大(絕對值是真實反映誤差,而平方2的平方是4,3的平方是9,顯而易見)
  • 數學計算較爲簡單友好(特別是對於求導——導數爲一次函數)

絕對值是真實反映誤差,而平方2的平方是4,3的平方是9,顯而易見,比如:

                                

對數損失函數(Logarithmic LF)或對數似然損失函數(log-kujehood loos function):對數函數具有單調性,在求解最優化問題時候,結果於原始目標一致(不改變極值點)。同時具有可以將乘法化爲加法的優點,簡化計算:

                                

指數損失函數(Exponential LF):單調非負,使得越接近正確結果誤差越小(根據驗證,真實值爲a ,只能在真實值的靠近0的那一側越接近a 才誤差越小)

                                                  

折葉損失函數(Hinge LF):也稱作鉸鏈損失,對於判定邊界附近的點的懲罰力度較高,常見於SVM

                                      

幾種損失函數圖像如下:

不同的損失函數有不同的特點,適用於不同的場景:

  • 0-1:理想狀況模型
  • Log:邏輯迴歸、交叉熵
  • Squared:線性迴歸
  • Exponential:AdaBoosting
  • Hinge:SVM,soft-margin
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章