手把手教你在試驗中修正機器學習模型

2021-09-03 01:26:18 字數 2444 閱讀 3325

機器學習的實現路線充滿了反覆試驗。在這個領域,新手工程師和科學家將不斷調整他們的演算法和模型。此過程中會出現挑戰,尤其是在資料處理和確定最優模型的時候。

在建立機器學習模型時,重要的是知道現實世界的資料並不完美,因此不同型別的資料需要不同的處理方法和工具,並且在確定最優模型的時候不可避免會有取捨。

訪問和載入資料

使用者將拿著手機坐下來,記錄感測器資料,並將其儲存在標記為「坐下」的文字檔案中。之後,使用者拿著手機站起來,記錄感測器資料,並將其儲存在標記為「站立」的文字檔案中。用同樣的方法來記錄跑步、行走、跳舞的資料。

資料預處理

由於機器學習演算法無法區分資料中的雜訊和有價值的部分,所以需要在訓練模型前清洗資料。資料預處理可以用資料分析工具來實現,比如matlab。為了清理資料,使用者可以匯入並繪製資料,去除異常值。在這個例子中,離群值可能是由於在記錄資料時無意中移動了手機造成。使用者還需要檢查缺失值,缺失值可用其他樣本的近似值或參照資料代替。

圖 1 資料預處理之去除離群值,即位於資料主要部分之外的資料點。

資料清洗之後,將資料集分為兩個部分,一部分作為訓練集,另一部分將是用於測試和交叉驗證的「保留」資料。

使用預處理後的資料生成特徵

原始資料必須轉化成機器學習演算法可以使用的資訊。要實現這一點,使用者必須生成能夠區分手機端資料的特徵。

在這個例子中,工程師和科學家必須劃分好特徵以幫助演算法區分步行(低頻)和跑步(高頻)。

資料型別

特徵選擇目標

技巧

感測器資料

從原始感測器資料中提取訊號特性以建立更高階別的資訊

峰值分析——應用傅利葉變化,識別主頻

脈衝和轉移矩陣——得到訊號特徵如上公升時間、下降時間、趨穩時間

頻譜測量——畫出訊號功率、頻寬、均值頻率、中值頻率

提取特徵,例如邊緣位置、解析度、顏色

視覺詞袋——生成影象特徵直方圖,例如邊緣、角點、連通區域

方向梯度直方圖——生成梯度方向直方圖

最小特徵值演算法——監測影象角點

邊緣探測——探測影象亮度變化最快的畫素點位置

交易資料

計算提煉資料中資訊的派生值

時間標記分解——把時間標記分解成到天或者月

計算整合值——生成更高階別的特徵,比如某一特殊時間出現的總次數

表 1 依據資料型別匯出特徵,可以把原始資料轉化成機器學習模型可以使用的高階別資訊

建立並訓練模型

從乙個簡單的決策樹開始:

圖 2 基於特徵建立的決策樹分類模型

繪製混淆矩陣以觀察模型效果。

圖 3 矩陣顯示該模型在區分跳舞和跑步時存在問題

基於上面的混淆矩陣,這表示決策樹不適合這種型別的資料,或者應該使用不同的演算法。

k近鄰演算法(knn)儲存所有訓練資料,將新資料點與訓練資料進行比較,得到k個最相似樣本,並返回這些相似樣本的最頻繁類。這個演算法展示出更高的準確度。

圖 4 改用knn演算法提高了準確度——儘管還有提高的可能性

另乙個選擇是多分類支援向量機(svm):

圖 5 svm的準確率在每個分類標籤上都接近99%

這個過程證明了通過反覆試驗可以更好實現目標。

改進模型

如果模型無法可靠地區分跳舞和跑步,就需要改進模型。改進模型可以通過使其複雜化以更好地擬合資料,或者使其簡單化以降低過擬合的可能性。

為了簡化模型,可以通過以下方法減少特徵數量:

為了使模型更加複雜,工程師和科學家可以通過集合多個簡單模型得到乙個更大的模型或者增加更多資料來源。

完成訓練和調整之後,模型可以應用在測試集(資料預處理時保留的一部分資料)。如果模型可以可靠地對活動分類,那麼它就可以應用在手機應用程式。

工程師和科學家第一次訓練機器學習模型的時候將會遇到挑戰,但應該意識到反覆試驗是過程的一部分。

上述的工作流程提供了構建機器學習模型的路線圖,並且可以應用到其他不同的問題上,比如**維護、自然語言處理和自動駕駛。

手把手教你在CentOS 6 8中安裝mysql

linux centos,mysql,安裝 解除安裝掉原有mysql 檢視該作業系統上是否已經安裝了mysql資料庫 rpm qa grep mysql 若有則解除安裝 rpm e mysql 普通刪除模式 或者 rpm e nodeps mysql 強力刪除模式,如果使用上面命令刪除時,提示有依賴...

手把手教你在CentOS 6 8中安裝mysql

linux centos,mysql,安裝 解除安裝掉原有mysql 檢視該作業系統上是否已經安裝了mysql資料庫 rpm qa grep mysql 若有則解除安裝 rpm e mysql 普通刪除模式 或者 rpm e nodeps mysql 強力刪除模式,如果使用上面命令刪除時,提示有依賴...

手把手教你在Linux環境下安裝Python3

首先是按win r鍵調出cmd命令視窗,然後輸入輸入bash指令進入ubuntu系統,接著就可以進入正式的安裝過程了。第二步 解壓 在進行解壓之前先建立乙個解壓目錄 mkdir p usr local python3tar zxvf python 3.6.1.tgz 第三步 編譯安裝 先進入到剛才解...