logo
Loading...

【QA】高維資料的處理 - 【教材專區】學習AI有困難? 讓Cupoy助教來幫你! - Cupoy

高維資料的處理 當我們說到二維資料,很直觀就能想到表示身高和體重的XY散佈圖,或者是加入一天當中的溫度變化折線,他們都是很常見的二維資料表示法,這種用來表示兩個變數之間關係的就是二維資料。 而高維...

高維資料的處理 當我們說到二維資料,很直觀就能想到表示身高和體重的XY散佈圖,或者是加入一天當中的溫度變化折線,他們都是很常見的二維資料表示法,這種用來表示兩個變數之間關係的就是二維資料。 而高維資料就是資料中包含兩個以上的變數,舉例來說,所有學生的性向測驗上各項指標的分數,或者簡單的各科目分數成績(但可能無意義),實務上可能會是一個工廠生產線上某個流程上數百個感測器在各個時間點的數值(我們這邊先不討論變數類型(自變數和應變數等等),在同時存在大量變數時,就是高維度資料,高維度資料會大幅影響呈現、分析或是建模的各個部分。這個章節就是討論高維資料的處理。 如果只考慮機器學習上的做法,這也是我唯一熟悉的領域,大致上高維資料有兩個有效手段可以幫助你:降維以及分群。 降維 降維的方法可以簡單分為線性與非線性方法: 線性方法包括 PCA(主成分分析)、LDA(線性判斷分析)等等,目的在於尋找最佳解釋數據的變數的線性組合,如何定義最佳解釋這件事是其中重要的課題,以PCA為例,他會嘗試找到變數的最大變異量(或者我們說資料在某個空間中最大的分佈)。 非線性的方法則包括流型學習或t-SNE等方法,t-SNE也是用來做可視化時非常可靠的方法,這個方法將高維資料用高斯分佈近似,低維資料則視同樣本較少的抽樣資料、我們使用t分佈近似。接著用KL距離評估相似度,使用梯度下降方法求最佳解。 ref: https://medium.com/d-d-mag/淺談兩種降維方法-pca-與-t-sne-d4254916925b 另外值得一提的是深度學習也可以用在降維,而且有相當好的效果。比較常見的包括: 時序型資料:1D-conv,LSTM/attention Auto encoder Metric learning methods(siamese network...etc.) 分群 而關於分群,我們可以舉一個直觀的例子,當我們經營電商平台時,使用者的足跡和購買紀錄就是我們的高維資料。如果要將所有資料的所有變數納入考量並計算出在所有使用者都通用的準則(函數)是很困難的,這時候我們傾向於從使用者的屬性(足跡、紀錄)歸納出相似的使用者,並為他們推薦類似的產品。 這種作法可以用在非監督或自監督模型 並不是找到函數來精確描述類別,而是找到類別的中心點,或者基於類別之間的共性找到一個函數讓同類相近(或異類相斥) 而用在高維資料時,有一個顯著的問題是高維度的資料描述了一個非常大的空間(你可以想像低維空間是一張a4紙的大小,高維可能是一個銀河系)在這個空間中資料點是相當稀疏的,因此需要更多的資料,評估距離(聚類)的演算法也需要調整,或者,你可以先用維度縮減的方法減少維度,然後應用聚類模型進行描述。