字體:小 中 大 | |
|
|
2020/03/01 18:18:03瀏覽1350|回應0|推薦8 | |
Python機器學習筆記(二):機器學習的三種演算法模型 依照演算法模型是否有針對數據集裏,事先特別註明的「標籤」結果,自我學習對該「標籤」的預測能力,可將機器學習略分為三種模型類型:監督式學習(supervised learning)、非監督式學習(unsupervised learning)及強化學習(reinforcement learning)。 1.監督式學習 監督式學習的主要目的,是從被貼上「標籤」的數據集裏進行學習,並導出模型,而這個模型可讓我們對還沒見過的或未來的數據,做出預測。 我們可再依「標籤」是為離散、無序的值,或是一個連續值,分為以下二種子類型: (1)分類(classification) 分類學習的目標,是基於過去觀測到的分類類別,來預測新數據的類別,這些分類標籤通常為離散、無序的值。 以學習筆記(一)提到的偵測信用卡詐欺交易為例,其即是典型的二元分類學習。演算法透過對過去信用卡交易的學習,訂出規則,以便區分兩個可能的標籤類別:正常信用卡交易與信用卡詐欺交易。 (2)迴歸(regression) 若被學習的「標籤」是一個連續值,則可運用迴歸統計方法來訓練模型。最典型的實務應用,是對未來經濟成長率、股票價格這類經濟、財務數據的預測。 2.非監督式學習 顧名思義,非監督式學習就是事先不對數據集貼上「標籤」,其目的是在事先不清楚數據的資料結構前提下,探索數據的結構,進而提取有用的資訊。非監督式學習也可再分為二種子類型: (1)集群(cluster) 集群是一種「探索式數據分析」(exploratory data analysis,EDA)技術,它允許我們組織一堆資訊到一個有意義的子集群中,而無需任何要對該資料集事先了解的知識。 例如,我們可針對客戶數據集進行集群分組,如此一來,就可針對不同的客戶群,依照他們的特性,量身定做專屬的行銷方案。 (2)維度降低(dimenension reduction) 維度降低是個比較抽象的概念。通常數據集裏的每筆紀錄,通常帶有大量測量項目,以客戶資料為例,一筆客戶紀錄,可能包含有姓名、性別、身份證字號、地址、電話、消費日期、消費金額、購買商品等內容,一個內容,我們可稱為1個維度。若有20項內容,那就有20個維度。維度降低能將上述的數據集的多項內容壓縮到一個較小維度(如2個特徵集)上,卻依然保有大多數相關資訊的子空間中,如此可帶來以下二種好處: (a)由於數據集有時多達數百萬筆紀錄,此舉可大幅降低演算法模型學習時的系統資源耗能。 (b)可運用在數據視覺化上。以上述客戶紀錄為何,我們很難以一個單一圖形來呈現數據集的特性,但經維度降低後,一個高維度的特徵集,可被投影到一維、二維、或者三維的特徵空間,然後利用2D或3D圖形來視覺化數據,就樣比較方便向老闆或客戶做簡報,並抓到數據集主要特性。 3.強化學習 強化學習也是針對「標籤」進行學習,但這時標籤不是一個恆真的事實,而是一個針對特定行動所觀測到的一個測量「函數」,而「函數」值則會與環境互動而改變。 以運用強化學習的下棋引擎演算法為例。「贏」與「輸」是下棋演算法模型要學習的「標籤」類別,但下每一步棋,不必然會產生「贏」或「輸」的確定結果,其結局不僅與自己接下來走的棋步有關,也與對手所下的棋步有關。強化學習,就是基於自己當下所走的棋步(即時回饋)與自己及對手接下來下的棋步(延遲回饋),從一連串的移動步驟來學習最終要達成的目標:贏。 |
|
( 知識學習|其他 ) |