logo
Loading...

你所不知道的關於 AI 二三事 - 讓 AutoML 為你加速開發流程 - 投影片 - 你所不知道的關於 AI 二三事 - 讓 AutoML 為你加速開發流程 - Cupoy

講師簡介 講師:蔡易霖 國立臺南大學 資訊工程學系碩士 台灣人工智慧學校 南部分校工程師 簡介: •熱衷於技術研究,也有經營 Blog 與 YouTube 頻道分享實作教學 •研究領域包括機器人智...

講師簡介 講師:蔡易霖 國立臺南大學 資訊工程學系碩士 台灣人工智慧學校 南部分校工程師 簡介: •熱衷於技術研究,也有經營 Blog 與 YouTube 頻道分享實作教學 •研究領域包括機器人智慧型代理人、模糊專家系統與機器學習、腦機介面與情緒評估、深度學習 •擅於網頁前後端並整合機器學習 資料面 ① 資料收集與處理不當 改善模型 vs. 資料 資料來源:MLOps: From Model-centric to Data-centric AI 資料標籤對於模型影響 迷思一:我以為我在做 AI,但原來我在做資料清理呢! 資料清理佔大多數 ML 流程 AI 專案在每個項目所耗費的時間 導入 AutoML 對流程的效益 表格型資料缺失值處理 •NA:表示缺失值(Missing value),是“Not Available”的縮寫 •Inf:表示無窮大,是“Infinite”的縮寫 •NaN:表示非數值,是“Not a Number”的縮寫 •NULL:表示空值,即沒有內容 有技巧地處理缺失值 •在處理缺失值時,上面的基本原則是先想辦法補值,不要輕易 drop 掉一個 feature。 •試著補值,待在做模型訓練時,再來考慮 feature 的增刪。 •常見補值方法   •取眾數、平均或是再訓練一個模型預測缺失值   •sklearn SimpleImputer 資料面 ② 訓練集與測試集的類別分佈不一致 範例:紅酒種類資料集 尚未使用 stratify vs 使用stratify 分類問題善用分層抽樣 (stratify)  資料面③ 沒有資料視覺化的習慣 安斯庫姆四重奏 •主要是是透過四個小資料集並透過視覺化與統計來觀察,並說明在分析數據前先繪製圖表的重要性,以及離群值對統計的影響之大。 資料視覺化工具 繪圖相關 – Matplotlib, Seaborn •Matplotlib:Python 內最常被使用到的繪圖套件 •Seaborn:以 matplotlib 為底層的高階繪圖套件 •Plotly Express:可互動視覺化套件 [Day 22] Python 視覺化解釋數據 - Plotly Express 資料來源:https://ithelp.ithome.com.tw/articles/10277258 資料面④ 使用 LabelEncoder 為特徵編碼 One Hot Encoding vs. Label Encoding 別再使用 LabelEncoder 為輸入特徵編碼了! 編碼輸入特徵的正確姿勢 採用 OrdinalEncoder 一次為所有特徵依序做 Label Encoding。 有比 One Hot Encoding  好的方法嗎? 在資料科學競賽與實務上,使用 One Hot Encoding 的機會其實很少。 •會大幅度增加特徵的數量。(模型不容易收斂) •會讓我們的資料集裡面出現非常大量的0。(大量的0就會讓我們算不出梯度) 更好的替代方案 •Frequency Encoding •Target Encoding •Beta Target Encoding •Leave-One-Out Encoding •Generalized Linear Mixed Model Encoding 資料面⑤ 資料處理不當導致資料洩漏 Kaggle 競賽 Data Leakage Data Leakage 案例 Data Leakage 不僅在競賽中會發生,在實際工作中也會出現。 案例 1:預測患者有無心臟病,其中的特徵為是否接受過心臟手術? 案例 2:處理電信用戶流失,其中的特徵為3個月內的繳費紀錄 這些 feature 卻不是在因果關係上順利解釋預測值的因,反而是預測值的果。 資料不當切割導致的 Data Leakage  模型面⑥ 僅使用測試集評估模型好壞 Bias-Variance Tradeoff •Underfitting: 過於簡單的模型使得預測結果彈性不高,訓練集與測試集表現都不好。low variance  (high bias)。 •Overfitting: 過於複雜的模型使得訓練集完整的被擬合,因此訓練集表現極好,但測試集表現不佳。high variance (low bias)。 為何訓模型在新的資料表現不好? 模型面⑦ 在沒有交叉驗證的情況下判斷模型性能 什麼是交叉驗證? 主要的交叉驗證法有以下幾個方法: •Holdout  •K-fold  •Leave one out cross validation  •Random Subsampling  •Bootstrap 全民瘋AI系列2.0 [Day 25] 交叉驗證 Cross-Validation 簡介 模型面⑧ 分類問題僅使用準確率作為衡量模型的指標 準確率真的萬用嗎? 案例 (信用卡盜刷) •1000 筆資料中有 2 筆資料為盜刷。若不管什麼資料模型都預測為無盜刷,此模型準確率有: 混淆矩陣 Confusion Matrix •Accuracy: 一般最常見的評估方法。 •Precision: 通常在不容錯誤的情況下會以作為主要評估指標,例如手機臉部解鎖的模型。 •Recall: 寧可誤殺也不放過任何一個,例如癌症檢測模型。 模型面⑨ 迴歸問題僅使用 R2 分數評估模型好壞 判定係數 (coefficient of determination) •所謂的判定係數是輸入特徵 (x) 去解釋輸出 (y) 的變異程度有多少。 絕對誤差、相對誤差 模型面⑩ 任何事情別急著想用 AI 解決 AI 是否具有獨立思考? 1.面對偏見,AI 沒有思考能力 2.神經網路是個黑盒子 可解釋性人工智慧,讓 AI 不再黑箱 Q & A Q1. 跨部門單位對機器學習所產生的模型抱持懷疑態度, 認為模型沒有公式就無法相信。 本質上可解釋模型(決策樹、簡單線性模型等),這一類模型由於自身的簡單性,可以針對其結果、回歸權重等直接進行解釋。 Q2. 有了 AutoML 是不是就不需要太鑽研機器學習的理論 延續上一提問題,看專案的需求取向 •是否期望機器學習有可解釋能力? •機器學習 = 黑盒子? Q3. 如何確認遭遇到的問題可以採用機器學習來解決? •資料層面 •是否有足夠的資料(x) •每一筆資料是否有相對應的標籤(y) •模型選擇(機器學習方法) •監督式學習 •非監督式學習 Q4. AutoML 最適用的情境,以及不適用的情境 •適用 •資料量足夠 •想知道該資料集適合用什麼演算法 •想參考資料前處理方式 •不適用 •資料量不足 Q5. 訓練好的模型該如何管理? •常見的儲存模型的套件有 pickle 與 joblib。 •由於 pickle 儲存模型後容量可能會有好幾百 MB 因此建議可以透過 gzip來壓縮模型並儲存。 資料來源:全民瘋AI系列2.0 [Day 28] 儲存訓練好的模型 載入儲存的模型