機器學習可以解決哪些型別的任務?

shenmanli發表於2017-12-22
機器學習可以讓我們解決一些人為設計和實現固定程式很難解決的問題。從科學和哲學的角度來看,機器學習受到關注是因為發展我們對機器學習的認識需要發展我們對智慧背後原理的理解。


如果考慮“任務”比較正式的定義,那麼學習的過程並不是任務。學習是我們所謂的獲取完成任務的能力。例如,我們的目標是會行走的機器人,那麼行走便是任務。我們可以程式設計讓機器人學會如何行走,或者可以編寫特定的指令,人工指導機器人如何行走。


通常機器學習任務定義為機器學習系統該如何處理樣本(example)。樣本是指我們從某些希望機器學習系統處理的物件或事件中收集到的已經量化的特徵(feature)的集合。我們通常會將樣本表示成一個向量x∈Rn其中向量的每一個元素xi 是一個特徵。例如,一張圖片的特徵通常是指這張圖片的畫素。


機器學習可以解決很多型別的任務。一些非常常見的機器學習任務列舉如下:


分類:在這類任務中,計算機程式需要指定某些輸入屬於K類中的哪一類。為了完成這個任務,學習演算法通常會返回一個函式。當y = f(x) 時,模型為向量x 所代表的輸入指定數字碼y 所代表的類別。還有一些其他的分類問題,例如,f 輸出的是不同類別的概率分佈。分類任務中有一類是物件識別,輸入是圖片(通常用一組畫素亮度值表示),輸出是表示圖片物體的數字碼。例如Willow Garage PR2 機器人像服務員一樣識別不同飲料,並送給點餐的顧客。目前,最好的物件識別工作正是基於深度學習。物件識別同時也是計算機識別人臉的基本技術,可用於標記相片集中的人臉,有助於計算機更自然地和使用者互動。


輸入缺失分類:當輸入向量的每個度量不被保證的時候,分類問題將會更有挑戰。為了解決分類任務,學習演算法只需要定義一個從輸入向量對映到輸出類別的函式。當一些輸入可能丟失時,學習演算法必須學習一組函式,而不是單個分類函式。每個函式對應著分類具有不同缺失輸入子集的x。這種情況在醫療診斷中經常出現,因為很多型別的醫學測試是昂貴的,對身體有害的。有效地定義這樣一個大集合函式的方法是學習所有相關變數的概率分佈,然後通過邊緣化缺失變數來解決分類任務。使用n 個輸入變數,我們現在可以獲得每個可能的缺失輸入集合所需的所有2n 個不同的分類函式,但是計算機程式僅需要學習一個描述聯合概率分佈的函式。瞭解以這種方式將深度概率模型應用於這樣任務的示例。本節中描述的許多其他任務也可以推廣到缺失輸入的情況; 缺失輸入分類只是機器學習能夠解決的問題的一個示例。


迴歸:這類任務中,計算機程式會給定輸入預測數值。為了解決這個問題,學習演算法會輸出函式。除了返回結果的形式不一樣外,這類問題和分類問題是很像的。這類任務的一個示例是預測投保人的索賠金額(用於設定保險費),或者預測證券未來的價格。這類預測也用在演算法交易中。


轉錄:這類任務中,機器學習系統觀測一些相對非結構化表示的資料,並轉錄資訊為離散的文字形式。例如,光學字元識別要求計算機程式根據文字圖片返回文字序列(ASCII 碼或者Unicode 碼)。谷歌街景以這種方式使用深度學習處理街道編號。另一個例子是語音識別,計算機程式輸入一段音訊波形,輸出一序列音訊記錄中所說的字元或單詞ID 的編碼。深度學習是現代語音識別系統的重要組成部分,廣泛用於各大公司,包括微軟,IBM 和谷歌。


機器翻譯:在機器翻譯任務中,輸入是一種語言的符號序列,計算機程式必須將其轉化成另一種語言的符號序列。這通常適用於自然語言,如將英語譯成法語。最近,深度學習已經開始在這個任務上產生重要影響。


結構化輸出:結構化輸出任務涉及到輸出是不同元素之間重要關係的向量(或者是含多個值的其他資料結構)的任務。這是一個很大的範疇,包括上面轉錄任務和翻譯任務在內的很多其他任務。例如語法分析——對映自然語言句子到語法結構樹,並標記樹的節點為動詞,名詞,副詞等等。參考應用深度學習到語法分析。另一個例子是影像的畫素級分割,將每一個畫素分配到特定類別。例如,深度學習可用於標註航拍照片中的道路位置。在這些標註型的任務中,輸出的結構形式不需要和輸入儘可能相似。例如,在圖片標題中,計算機程式觀察到一幅圖,輸出描述這幅圖的自然語言句子。這類任務被稱為結構化輸出任務是因為輸出值之間內部緊密相關。例如,圖片標題程式輸出的單詞必須組合成一個通順的句子。


異常檢測:這類任務中,計算機程式在一組事件或物件中篩選,並標記不正常或非典型的個體。異常檢測任務的一個例子是信用卡欺詐檢測。通過對你的購買習慣建模,信用卡公司可以檢測到你的卡是否被濫用。如果竊賊竊取你的信用卡或信用卡資訊,竊賊採購物品的分佈通常和你的不同。當該卡發生了不正常的購買行為時,信用卡公司可以儘快凍結該卡以防欺詐。瞭解欺詐檢測方法。


合成和取樣:這類任務中,機器學習程式生成一些和訓練資料相似的新樣本。通過機器學習,合成和取樣可能在媒體應用中非常有用,可以避免藝術家大量昂貴或者乏味費時的手動工作。例如,視訊遊戲可以自動生成大型物體或風景的紋理,而不是讓藝術家手動標記每個畫素。在某些情況下,我們希望取樣或合成過程可以根據給定的輸入生成一些特定型別的輸出。例如,在語音合成任務中,我們提供書寫的句子,要求程式輸出這個句子語音的音訊波形。這是一類結構化輸出任務,但是多了每個輸入並非只有一個正確輸出的條件,我們明確希望輸出有很大的偏差,使結果看上去更加自然和真實。


缺失值填補:這類任務中,機器學習演算法給定一個新樣本x∈Rn,x 中某些元素xi 缺失。演算法必須填補這些缺失值。


去噪:這類任務中,機器學習演算法的輸入是,由未知破壞過程從乾淨樣本x∈Rn得到的汙染樣本。演算法根據汙染後的樣本x 預測乾淨的樣本x,或者更一般地預測條件概率分佈P(x |~x)。


密度估計或概率分佈律函式估計:在密度估計問題中,機器學習演算法學習函式可以解釋成樣本取樣空間的概率密度函式(如果x 是連續的)或者概率分佈律函式(如果x 是離散的)。要做好這樣的任務當我們討論效能度量P 時,我們會明確定義任務是什麼),演算法需要學習觀測到的資料的結構。演算法必須知道什麼情況下樣本聚堆出現,什麼情況下不太可能出現。以上描述的大多數任務都要求學習演算法至少能隱式地抓住概率分佈的結構。密度分佈可以讓我們顯式地抓住該分佈。原則上,我們可以在該分佈上計算以便解決其他任務。例如,如果我們通過密度估計得到了概率分佈p(x),我們可以用該分佈解決缺失值填補任務。如果xi 的值是缺失的,但是其他的變數值x

相關文章