您當前的位置:首頁 > 舞蹈

機器學習當中的4個關鍵部分

作者:由 CQ ChenQiang 發表于 舞蹈時間:2018-05-08

前言

之前三篇文章圍繞生活當中的問題,展示了機器學習方法的應用過程

數值,向量,矩陣,指出生活當中的任何事物都可以將其進行數學形式的表示。一個定義好的機器學習問題,包括輸入部分:一個包含

m

條記錄,每條記錄用

k

個數字表示的大小為

m \times k

的矩陣

X

,以及數學化表示的輸出部分,也就是預測目標矩陣,大小為

m \times 1

Y

數值預測,對映,矩陣乘法,對於數值預測,也就是Regression問題,進行分析說明,表明可以用矩陣乘法這種簡單對映來透過輸入,得到輸出,也就是目標值進行預測

類別預測,Sigmoid function,對分類預測,也就是Classification問題,進行分析說明,透過對目標類別的數字化表示,並提到用Sigmoid function將矩陣乘法得出的屬於實數範圍的結果,轉換成

(0, 1)

之間的結果,使提出的對映方法儘可能地接近預測目標。

在之前的基礎上,這裡將更為一般性地對機器學習進行數學化分析,對各種機器學習問題方法進行總結,提出機器學習當中,包括的4個關鍵部分:

輸入的數字化表示 :也就是對觀察到的內容進行數字表示,對幫助達到預測目標。為了預測房價,對可以觀測到的房子的資訊的數字化,為了預測郵件是否為垃圾郵件,需要對郵件進行數字化表示

輸出的數字化表示 :對預測目標進行數字表示,分類問題的類別的數字化表示,如果是二分類問題,我們一般可以將其標記為0,或者1

輸入到輸出的對映方法:簡單地比如用

k \times 1

大小的矩陣可以將

k

維的輸入,對映到

1

維的目標輸出。

對對映方法的評價標準:比如提出了一種用

k \times 1

大小的矩陣的矩陣乘法的對映方式,為了選擇矩陣當中的數字,需要對這種矩陣乘法的對映方法進行評價,簡單地可以透過將此對映方法得到的每一個數值與真實的每一個數字進行絕對值的計算,將所有的絕對值相加,把得到的數字作為評價標準,這個數字越小說明對映方式越好。

輸入的數字化表示

一般領域:用向量表示(每一個維向量都有特定含義,回顧郵件內容的表示方法)

計算機視覺(Computer Vision, CV):一般的影象用RGB的圖片表示方法就可以了,

3 \times width \times height

的矩陣。其中

width

是影象寬度方向的畫素點的個數,

height

是影象高度方法的畫素點的個數。如果包含深度資訊,則多一個維度,將是

4 \times width \times height

自然語言處理(Natural Language Processing, NLP):一篇文章或者句子會由很多單片語成,可以限定一個數量為N的單詞詞表,那麼一篇文章或者句子可以用一個N維的向量表示,第i維的數字表示單詞詞表當中第i詞出現的次數,這是一種表示方法。隨著深度學習的發展,當前常用的表示方法是word2vec的方法

某些機器學習問題可能還會涉及到多種輸入來源,這裡的數字化表示只是常見的一些例子,更多更有效的表示方法還在等待大家發現。

輸出的數字化表示

數值預測問題(Regression),可以直接用數值表示

二分類問題,可以用0,1進行表示兩種分類,也有用-1,1來表示兩種分類的方法

多分類問題,可以用one hot encoding的方法,對於N個分類,如果屬於第i個分類,用一個N維向量表示,其中第i個位置的值是1,其它位置的值是0

對於更復雜的問題,還會有其它的表示方法,有的可以是多種表達方式的結合

輸入到輸出的對映方法

Linear regression方法,N維

\bm{x}

到 1 維

y

, 也可以輸出多維

\bm{y}

,如果目標是多維的數值的話

Logistic regression方法,N維

\bm{x}

到1維

y

y \in (0, 1)

Support vector machine方法,N維

\bm{x}

到1維

y

Multilayer perceptron方法,N維

\bm{x}

到 1 維

y

, 也可以輸出多維

\bm{y}

,可以用不同的Activation function獲得想要的目標值的範圍

Convolutional neural network,特別針對影象作為輸入的問題,N維

\bm{x}

到 1 維

y

, 也可以輸出多維

\bm{y}

這裡只列出幾個方法,學術界在不斷地研究創造出新的對映方法,工業界也在這些方法的基礎上不斷地選擇,或者說組合以滿足自己的需要

對對映方法的評價標準

Binary Cross Entropy Criterion:對於二分類問題,輸出為二維

\bm{y

的情況,

y

並且

 y

的情況

cost(\bm{y

Margin Criterion:對於二分類問題,目標表示為-1,或者1的情況,可以表示為,

cost(y

,其中

margin

是可以選擇的數值,一般會將其設定為1,

y

為預測值,

y

為正確的值

Cross Entropy Criterion:對於多分類問題,輸出為N維

\bm{y

的情況,其中

y_i \in (0, 1)

同時

\sum_{i=0}^{n-1}{y

cost(\bm{y

Abs Criterion:對於數值預測問題,輸出為N維

\bm{y

的情況,

cost(\textbf{y

這裡列出的評價標準也有限,更多地評價標準等待大家去發現

總結

對於一些機器學習比賽平臺的競賽,比如Kaggle上面的競賽,很多都是給定了輸入的數字化表示,輸出的數字化表示以及對對映方法的評價標準,大家只需要研究出更好的,輸入到輸出的對映方法,就可以贏得比賽,學術界的很多研究內容也在於這一部分。在工業界則只有一個簡單問題的定義,比如要把搜尋功能做得更好。而這機器學習的4個部分,都需要有經驗的工程師去定義,組合得出各種方案,並比較各種方案以達到搜尋功能做得更好的效果。

對於大部分機器學習問題,只要確定了這4個部分,輸入的數字化表示,輸入的數字化表示,輸入到輸出的對映方法,對對映方法的評價標準,就確定了其最終的解決方案,再利用梯度下降的最最佳化方法,求得此解決方案的最優解,為了可以更快更好地求得解決方案的最優解,有各種各樣的梯度下降方法的相關方案被相繼發明。

這裡的前提是,輸入到輸出的對映方法和對對映方法的評價標準的部分的函式都是可導的。

參考資料

Criterions in torch7

Cross entropy - Wikipedia

標簽: 對映  方法  表示  輸出  數字化