預備:把實際問題轉化為機器學習問題,即能夠從現有的數據中學的某種規律,從而解決實際問題(預測或分類)
機器學習是數據和模型的結合。
一.獲取數據:人工合成、爬蟲、數據庫、公開數據集、收集數據...
二.數據預處理:
1.數據清洗:缺失數據、重復數據、一致性檢驗
2.數據轉成數字:經驗、一般映射
3.特征轉換:定性特征和定量特征的處理
4. 訓練數據采樣:隨機采樣、系統采樣、分層采樣、上采樣、下采樣
5.特征歸一化:均值化、標准化...
三.特征工程
1.特征構建:特征轉換、特征組合、特征分割
2.特征提取:特征轉換、降維(PCA等)、模型方法提取
3.特征選擇:過濾式(相似性度量、相關性比較,方差...)、包裝法(向前選擇和向后選擇、完全搜索、啟發式搜索、隨機搜索)、集成方法(正則化(L_1, L_2
范數)、決策樹、深度學習、回歸模型,SVM,隨機森林)
四.建模准備
1.划分數據集:訓練集+開發集+測試集+訓練/開發集
2.數據可視化:表格、條形圖、線圖、散點圖...
五.建模並改進
1.明確問題:分類、回歸、監督、無監督、半監督
2.假設單實數評估指標:AUC/ROC、均方誤差、多指標變為單指標...
3.快速選擇一些假設模型並進行迭代:svm、線性模型、神經網絡、決策樹...
4.設定代價函數:是否加正則項、均方誤差....
5.選擇優化算法解決最優化代價函數的問題:adam、sgd、動量、
6.模型訓練:一些參數的設置
7.模型評估和選擇:去除偏差較大的模型后選擇其中方差最小的模型
8.模型改進:繪制學習曲線進行偏差/方差分析,改進欠擬合或過擬合問題(降低模型復雜度或提高模型復雜度)
9.誤差分析作進一步改進:用正交化方法處理各種問題(數據集分布錯誤、方差、可避免誤差、開發集擬合度、假設檢驗)
六.投入實際運行
1.若表現差,可能要改變評估標准或改變開發集或測試集,重頭再來
2.若表現好,進行模型監測和更新:每隔一段時間更新模型和數據