晶文摘

[人工智慧] 分群分類,決策樹,隨機森林與加強式學習

給晶新聞一個讚



作者:夏肇毅 2019-07-30 初版


分群分類,決策樹,隨機森林與加強式學習


分群

分群就是將一大堆物件,根據它的屬性,將一些物件屬性比較相近的當成一群,然後將全部物件分到很多不同群堙C在實際的用例裡面,根據消費者的消費狀況,或年齡分佈,來分門別類。可能可以分成年輕族群,中年及銀髮族等。或者是根據消費的數據區分高端消費群或低端消費群。


分類


分類就是把一些未知的元件,分配到屬於已知的類別當中。比方說,我們已知有圓形,正方形和三角形。如果現在一個新的形狀進來,我們就要決定這個新的形狀是屬於圓形,正方形,還是三角形。這種將未知物件分配到已知類別的動作叫做分類。在影像識別中,好比輸入一些影像,然後判斷哪些是貓,哪些是狗,哪些是馬,哪些是人或是哪些是車子。就是把未知的照片指定到已知的類別裡面去,就叫分類。


決策樹


決策樹就是一種分類的方法,它根據不同屬性的數值來作為判斷的依據。將所有的屬性依照重要性與序排下,產生一棵樹狀的結構。然後我們就可以根據這些安排好的樹狀結構來判斷,用以決定輸入資料到底是屬於哪一個類別。產生決策樹的過程需要先做訓練。先將資料匯入,然後根據輸入的屬性來判斷,什麼樣的屬性數值會造成什麼結果。最上層的根部,就是挑選最重要的屬性。它的分枝,再放進還沒有用到的屬性。一層一層將未用的屬性放入,直到所有屬性都用完為止。訓練完做驗證運算的時候,只要將輸入的資料從最根部判斷起,看看它需要判斷哪一個屬性,然後根據屬性的數值決定要向左或向右或是其它的方向往下行進,一直到走到最末端的葉為止,然後你就知道它的輸出應該是什麼數字。


隨機森林


若我們用一個決策樹來做決定,它決定的方式就是一個固定的模式,永遠永都是用這樣子來做決策,所以有時候就會產生一些過擬合的偏差。如果我們改成用隨機抽取特徵的方式來產生新的決策樹,那可能產生的結果就不一樣。我們可將輸入樣本隨機挑出,並將特徵值隨機挑選以產生不同的決策樹森林。將輸入資料丟給產生的決策樹森林,然後再用平均值或者是投票的方法來產生輸出。


加強式學習


加強式學習的運行模型就是有一個環境和一個代理agent。這個代理可以送出一個行動a給環境,環境接受到這個a的動作以後,就回饋一個報酬r和狀態s組給代理。這樣的模式就一直循環運作,代理可以再根據接收到的狀態s和報酬r組來決定它要採取的行動a。整個加強式學習就是製定最佳政策p來決定,當接收到狀態s和報酬r的時候,該採取什麼樣的行動a,以獲得最好的報酬r

一個政策決定在什麼樣的狀態之下要做什麼動作,所以執行一個政策,就會產生一個軌跡,過程中要靠評價函數來運作。評價函數V決定了在什麼狀態之下的分數,所以寫V(s),其中s代表狀態。而評價函數Q,就決定在什麼狀態下的什麼動作的得分,所以寫成Q(s,a)a代表行動。

加強式學習的內容包括政策,報酬,狀態,行動。練習各種不同狀態下的行動,根據得到什麼樣的成果,給予不同的報酬。日積月累的練習之後,就可以得到在各種不同狀態之下的各種不同行動,它會得到什麼樣的成果。再把這個結果做成一個資料庫。以後發現同樣狀況再次發生時,就可以從資料庫中挑選報酬最高的行動來執行。