今天學習感知機,乙個最簡單的線性分類器
考慮平面上的一系列點,他們有兩種類別,分別用+1,-1表示,如圖
能夠確定的是可以找到一條直線,可以將這些點完美分割開來
那麼問題在於,如何找出這條直線呢?
手上現在有,每個點
的座標
以及每個點的類別標記
(這裡吧平面直角座標系的兩個維度定義為
而不是
)假設這條直線的公式是
,其中
是引數。w=
, x=
其實可以看成是
,跟常規的
乙個意思。
現在考慮每個點到直線的距離
點到直線的距離公式,下圖是針對點
直線 的公式
切換成我們的點
,直線
就是 ,
其中上面的表示絕對值,下面的表示 向量
的的長度。
好了,距離有了。
給直線的引數
設定乙個簡單的初始值,比如
, 直線的公式是
也就是
(實際上就是x軸了)
然後用這條線對資料進行分類,處於x軸上方的定義為+1,下方的-1。
分類結果肯定是有對有錯。
對於分類正確的點:
如果原始類別為正
分類結果正確,表示
有。如果原始類別為負
分類結果正確,表示
同樣有y_i * ( w_0*x_i+b_0)>0
而對於分類錯誤的點:
如果原始類別為正
分類結果錯誤,表示
有。如果原始類別為負
分類結果正確,表示
同樣有對錯誤分類的點
分類器的目的是使錯誤的分類盡可能少。
那麼就是要對所有錯誤分類的點,他們的
的總和盡可能小。
得出感知機分類器的損失函式為
其中m表示針對錯誤分類的點。
感知機的學習方法是,每次找乙個誤分類的點,然後讓直線往這個點所在的方向移動一定位置。
具體實現方法是修改直線的引數
對於每個錯誤分類的點
新的等於
新的等於
直到沒有錯誤分類的點為準。
理論上可以證明,對於線性可分的資料,以上方法可以找到一條線,使得所有點都分類正確,這時確定的引數就決定了最終的直線解析式。
機器學習模型 知乎 機器學習 模型選擇與評價
交叉驗證 首先選擇模型最簡單的方法就是,利用每一種機器學習演算法 邏輯回歸 svm 線性回歸等 計算訓練集的損失值,然後選擇其中損失值最小的模型,但是這樣是不合理的,因為當訓練集不夠 特徵過多時容易過擬合,那麼訓練集的損失值就會不斷變小,但是此時針對測試集可能損失值很高,所以訓練集上的損失值是無法衡...
機器學習模型 知乎 機器學習 建模高階指南 (一)
歡迎來到vitu中級機器學習微課程!解決實際資料集中常見的資料型別 缺失值,分類變數 設計pipelines以提高機器學習 的質量,使用先進的技術進行模型驗證 交叉驗證 建立最先進的模型 xgboost 和 避免常見和重要的資料科學錯誤 洩漏leakage 在此過程中,您將通過每個新主題的實際資料的...
機器學習 基於OpenCV實現最簡單的數字識別
本文將基於opencv實現簡單的數字識別。這裡以遊戲angry birds為例,通過以下幾個主要步驟對其中右上角的分數部分進行自動識別。1.學習分類器 根據訓練樣本,選取模型訓練產生數字分類器。這裡的樣本可以是通用的數字樣本庫 如nist等 也可以是針對應用場景而製作的專門訓練樣本。前者優在泛化性,...