機器學習就是計算機利用已有的數據或經驗,通過訓練得出模型,并使用測試數據對該模型進行評估,若性能達到所需要求,則可用該模型測試其他的數據,否則,調整算法重新訓練模型并評估,直到構建出符合性能需求的模型為止。
二、預處理的步驟(1)選擇能夠賦予屬性名和屬性值明确含義的屬性數據。
(2)避免選擇重複數據。
(3)合理選擇與學習内容關聯性高的屬性數據。
2. 數據清理。數據清理是預處理中最重要的一步,主要處理缺失數據、噪聲數據、識别和删除孤立點等。
3. 數據集成。數據集成就是将多個數據源中的數據合并在一起形成一個數據倉庫/數據庫的技術和過程。需要解決數據中的3個主要問題:多個數據集匹配、數據冗餘、數據沖突。
4. 數據變換。數據變換有數據标準化、數據白化處理。
5. 數據歸約。數據歸約通常采用維歸約、數值歸約方法實現。維歸約指通過減少屬性的方式壓縮數據量,通過移除不相關的屬性,可以提高模型效率。
三、分類學習器基本操作流程啟動分類學習器。可以通過直接在命令行窗口輸入“Classification Learner”,或者在MATLAB的菜單欄中選擇“應用程序”選項卡下的分類學習器應用“Classification Learner”。
2. 數據的探索和特征的選擇。設置訓練數據的相關屬性、标簽及設置驗證集,導入數據并設置好交叉驗證後單擊Start Session按鈕。
3. 訓練模型。選擇一個合适的算法後單擊“Train”進行訓練。
4. 比較模型。觀察每個類預測的準确率。
5. 輸出模型。可以在“Export Model”下拉列表中可以選擇不同的導出方式。導入工作空間的方法:選擇“Export Model”下拉列表中的“Export Compact Model”選項,輸入導入模型的名稱,采用默認值,單擊“确定”按鈕。
四、k緊鄰算法(KNN算法)如果一個樣本在特征空間中的k個最相似的樣本中的大多數屬于某一個類别,則該樣本也屬于這個類别。
當無法判定當前待分類點從屬于已知分類中的哪一類時,可以依據統計學的理論看它所處的位置特征,衡量它周圍鄰居的權重,而把它歸為到權重更大的那一類,這就是k近鄰算法的核心思想。
k緊鄰算法使用的模型實際上對應于特征空間的劃分。k值的選擇、距離度量和分類決策規則是該算法的3個基本要素。
(1)在實際應用中,k值一般選擇一個較小的數值,通常采用交叉驗證的方法來選擇最優的k值。
(2)算法中的分類決策規則往往是多數表決,即由輸入實例的k個最鄰近的訓練實例中的多數類決定輸入實例的類别。
(3)距離度量一般采用歐式距離表示,在度量之前,應該将每個屬性的值規範化,以防止具有較大初始值域的屬性比具有較小初始值域的屬性的權重大。
2. 優點:
(1)簡單、有效、複雜度低、無須參數估計、無須訓練。
(2)精度高、對噪聲不敏感。
(3)适用于類域的交叉或重疊較多的待分樣本集。
(4)适用于多分類問題,其表現性能比SVM效果更好。
3. 缺點:
(1)計算量大。
(2)可解釋性差。
(3)樣本不均衡時,如果一個類樣本容量很大,而其他樣本容量很小時,有可能導緻當輸入一個新樣本時,該樣本的k個鄰近樣本中很可能該類占大多數。
(4)樣本容量較小的類域使用該算法容易産生誤分。
(5)k值的選取對分類效果有較大影響。
五、決策樹決策樹是在已知各種情況發生概率的基礎上,通過構成決策樹來評估項目風險,判斷其可行性的決策分析方法,是直觀運用概率分析的一種圖解法。在機器學習中,決策樹是一個預測模型,其代表的是對象屬性與對象值之間的一種映射關系。
決策樹可以看作一個樹狀預測模型,它是由結點和有向分支組成的層次結構。樹中包含3種結點:根結點、内部結點、葉子結點。決策樹隻有一個根結點,是全體訓練數據的集合。樹中每個内部結點都是一個分裂問題。每個葉子結點都是帶有分類标簽的數據集合,即為樣本所屬的分類。
2. 優點:
(1)決策樹易于理解和實現。
(2)速度快,計算量相對較小,且容易轉化成分類規則。
3. 缺點:在處理大樣本集時,易出現過拟合現象,降低分類的準确性。
六、支持向量機(SVM)2. 優點:
(1)算法專門針對有限樣本設計,其目标是獲得現有信息下的最優解,而不是樣本趨于無窮時的最優解。
(2)算法最終轉化為求解一個二次凸規劃問題,能求得理論上的全局最優解,解決了一些傳統方法無法避免的局部極值問題。
(3)算法将實際問題通過非線性變換映射到高維的特征空間中,在高維特征空間中構造線性最佳逼近來解決原空間中的非線性逼近問題。保證了機器學習具有良好的泛化能力,同時巧妙地解決了維數災難問題。
3. 缺點:對缺失數據敏感,内存消耗大,難以解釋。
七、樸素貝葉斯算法(Bayes算法)2. 優點:
(1)算法形式簡單,規則清楚易懂,可擴展性強。
(2)算法實施的時間和空間開銷小。
(3)算法性能穩定,模型的健壯性比較好。
3. 缺點:
(1)算法假設屬性之間都是條件獨立的,然而在社會活動中,數據集中的變量之間往往存在較強的相關性,忽視這種性質會對分類結果産生很大影響。
(2)算法将各特征屬性對于分類決策的影響程度都看作是相同的,這不符合實際運用的需求。
(3)算法在使用中通常要将定類數據以上測量級的數據離散化,這樣很可能會造成數據中有用信息的損失,對分類效果産生影響。
八、線性回歸2. 優點:
(1)訓練速度和預測速度較快。
(2)結果可解釋。
(3)當新增數據時,易于更新模型。
3. 缺點:
(1)預測精确度較低。
(2)可能會出現過度拟合。
(3)分離信号和噪聲的效果不理想,在使用前需要先去掉不相關的特征。
九、邏輯回歸2. 優點:
(1)預測結果的概率為0~1。
(2)可以适用于離散型和連續型變量。
(3)容易使用和解釋。
3. 缺點:
(1)對模型中自變量多重共線性較為敏感。
(2)預測結果呈“S”形,導緻很多區間的變量變化對目标概率的影響沒有區分度,無法确定阈值。
十、神經網絡(NN)2. 優點:
(1)具有較強的非線性映射能力。
(2)具有高度的自學習和自适應的能力。
(3)具有良好的泛化能力和一定的容錯能力。
3. 缺點:
(1)存在局部極小化問題。
(2)收斂速度慢。
(3)神經網絡結構選擇不一。神經網絡結構的選擇一般隻能由經驗選定,若選擇過大,易出現過度拟合,若選擇過小,又可能造成網絡不收斂。網絡的結構直接影響網絡的逼近能力及推廣性質。
十一、數據集成(AdaBoost算法)2. 優點:泛化錯誤率低;易編碼;可用于絕大部分分類器;無參數調整。
3. 缺點:對離群點敏感。
十二、k均值算法(k-means算法)2. 優點:
(1)算法簡單、快速。
(2)對大數據集具有較高的效率并且是可伸縮性的。
(3)時間複雜度近于線性,而且适合挖掘大規模數據集。
3. 缺點:
(1)在k-means算法中的k值必須是事先給定的,但是k值的選定是非常難以估計的。
(2)初始聚類中心的選擇在k-means算法中是随機的,一旦初始值選擇得不合理,就可能無法得到有效的聚類結果。
(3)該算法需要不斷地進行樣本分類調整,不斷地計算調整後的新的聚類中心,因此當數據量非常大時,算法需要的時間是非常多的。
十三、K中心點算法2. 優點:減輕了k均值算法對孤立點的敏感性。
3. 缺點:與k均值算法的缺點相似。
參考教材:《機器學習入門到實戰 MATLAB實踐應用》(冷雨泉主編)
,
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!