# 各機器學習方法發展與介紹 ## 時間序列 ### 時間序列的應用主要分為以下兩種: * **預測:** 基於過去的時間序列來**預測**未來的時間序列, 若中間序列有缺失,也能利用方法對缺失值進行補遺。 **如: 自回歸滑動平均(Autoregressive moving average, ARMA)**  * **分析:** 將整個時間序列基於季節性、趨勢、雜訊進行分離, 借此觀察時間序列有無趨勢或混波現象,也能夠用於濾除雜訊。 **如: 奇異譜分析(Singular Spectrum Analysis, SSA)**   ## 分類方法 ### 分類方法主要分為以下五種: * **關聯性方法:** *計算樣本間的距離(如:歐式距離、曼哈頓距離等...),將距離較近的樣本分類為同類別。 **如:最近鄰居法(K-Nearest Neighbors, KNN)**  * **線性模型:** **樸素貝氏分類(Naive Bayes, NB)** 假設特徵間彼此不相關,並計算每個樣本的類別先驗機率,將最高機率的類別標記給樣本。  **支援向量機(Support Vector Machine, SVM)** 利用樣本間的距離,將樣本利用核函數投影至高維度,並建立超平面區分樣本,使超平面盡可能區分更多樣本。  * **樹模型:** **ID3:** 基於信息熵計算信息增益,利用信息增益最多的特徵分裂樹節點。 **C4.5:** 改進ID3的版本,增加信息增益率改善ID3容易將分裂點給予特徵類別較多的特徵 **CART:** 能夠進行分類與迴歸的二元樹模型,基於基尼係數(Gini index)使計算更有效率,是許多集成模型的基本單位。  * **集成模型:** 利用多個弱分類器(如:CART)組合而成進行分類,最後結果通常由所有弱分類器投票所得。 **如:梯度提升決策樹(Gradient Boosting Decision Tree,GBDT)**  * **神經網路模型:** 多個神經元組合成神經網路,利用反向傳播更新神經元權重,神經元具有一定程度的特徵選取能力。 **CNN:** 通常應用於影像辨識,利用卷積層或池化對圖片進行降維後,在最後接上全連接層進行影像分類。(CNN的概念更早就被提出,圖裡面懶得改)  **DNN:** 使用多層全連接層進行訓練,通常應用於數據資料分類。  **LSTM:** 常應用於與時間有相關性的項目,對影片、音樂、時間序列分類與處理均有較佳的表現,與一般神經網路差別是LSTM的神經元具有記憶能力,因此相同的輸入也會有不同的輸出。   ## 分群方法 ### 分群方法主要分為以下四種: (以下分群GIF均為二維,高維度的情況無法可視化也容易造成維度災難。) **階層式:** 先將每個樣本都當成一個群體,之後對周遭的群體開始合併,直到群的數量達到設定的數。(凝聚式) **如: AGNES**  **密度式:** 根據樣本間的密度合併資料,需要設定距離與樣本數,如果在距離內的樣本數大於或等於設定的樣本數,則將其分為一群,具有剔除離群點的功能,也能夠自動判斷有幾個群聚。 **如: DBSCAN**  **切割式:** 需要設定起始中心點的位置與中心點數量,計算樣本與中心點的距離,與該中心點距離最近的樣本則為該群,中心點更新方式則是使用隸屬值來移動中心點。 **如: K-means** (如果圖不會動就F5)  **格子式:** 無須設定中心點即可判斷有幾個群聚的方法,二維的情況下對樣本周圍生成座標點,在判斷最近的樣本核心來更新座標點,直到所有座標點均收歛至各樣本群核心點時停止,最後與該座標點最近的樣本則為同一群。**如: STING**  分群方法屬於無監督式學習,也較少優劣之分,應用則需要都嘗試看看。 (下面這張圖是威翔做的)  ## 優化算法 ### 優化算法主要分為...有點多 懶得寫了 優化算法是拿來解決最佳化問題(如:背包問題,TSP問題)用的,在機器學習上通常用來尋找參數或特徵選取,藉由最後所產生的目標函數來改變輸入數值藉此最小化(或最大化)目標函數的方法。 **PSO:** 優化算法介紹都很麻煩 自己找(粒子群演算法) (下圖為尋找二維向量中的最低點)  **GA:** 交叉、變異等方法來最佳化。(基因演算法) (下圖為TSP問題,尋找最短路徑)  優化算法發展圖  有趣的是PSO到現在還很多人用 1991~2001那邊 之前用2016年的鯨群演算法(WOA),然後對兩個測試函數進行測試 分別為Sphere函數與Restrigin函數(測試時為30維),結果如下: (下圖表示兩種方法對函數的收歛速度)  可以發現,WOA收歛速度比PSO快非常多。  在運行時間與收歛值上也是WOA更佳。 # 迴歸方法(有空在補)
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up