演算法理論 PLA

2022-08-09 16:57:12 字數 1695 閱讀 4631

perceptron learning algrithm

二值分類問題,資料線性可分

找到一條直線wtx=0,一邊全為+1,另一邊全為-1。找到了這條線(即,向量w)就得到了分類器。

每次選取分類出錯的樣本點,迭代執行:wt+1

t=wt

t+yn(t)xn(t)  (t代表第t次迭代)

我的問題

這裡是不是預設原點就在分界線上,因為都是圍繞原點進行旋轉的

假設wf就是我們要的目標分界線的向量(下面簡稱為目標向量吧),有:

但現在,我們還沒有達到迭代到目標向量,對於此時,我們的xn(t)和yn(t)有:

先記住上面這個結論,下面也要用到

現在想要知道,我們剛得到的wt+1

t與wf接近程度,可以用兩者的內積來表示。內積的值越大,從某種角度來說,越接近。

由此可知,通過wt

t更新而來的wt+1

t與比原先更接近wf

t但是這不能排除長度對內積的影響。

因此,下面來看看是不是能夠排除長度的影響

易知:又有:

···(2)

wtt的長度最多增加所有樣本中||xn||的最大值。這樣一來,我們可以認為每次更新,其增長速度緩慢。

事實上,可以由式(1)和(2)得出以下結論:

這裡的constant為某常數,在後面給出。

因此,可以得出結論:對乙個線性可分的資料集, 確實每次更新都使當前的分割線更靠近最理想的分割線。

另外,因為cos(wft,wt)<=1,從而得知應用pla能夠在有限的時間內得到最理想的分割線

,接下來推導式(0),求出constant的值,並給出最大迭代次數

推導過程如下:

大功告成!

易執行、快速、適合多維運算。

事實上一開始並不知道是不是線性可分

也不知道到底多久會停,因為並不知道wft

一種修正過的pla演算法:pocket algorithm

簡而言之就是在每次更新之前,判斷是否更新之後的錯誤更多,若更多就不更新,更少就更新。直到達到預定的迭代次數。

FPGrowth演算法理論

背景 頻繁項集挖掘演算法用於挖掘 經常一起出現的item集合 稱為頻繁項集 通過挖掘出這些頻繁項集,當在乙個事務中出現頻繁項集的其中乙個item,則可以把該頻繁項集的其他item作為推薦 比如經典的購物籃分析中啤酒 尿布故事,啤酒和尿布經常在使用者的購物籃中一起出現,通過挖掘出啤酒 尿布這個啤酒項集...

EM演算法理論總結

主要解決具有隱變數的混合模型的引數估計 在高斯模型中,每個聚類都服從某個概率分布,我們要做的就是利用em演算法確定這些分布的引數,對高斯模型來說就是計算均值和方差,對多項式模型那就是概率 個人的理解就是用含有隱變數的含參表示式不斷擬合,最終能收斂並擬合出不含隱變數的含參表示式 假如有人告訴你,那乙個...

模型評估的一些方法理論(演算法理論)

main 一 混淆矩陣 混淆矩陣就是如下圖所示的那樣,也是最簡單的一種模型驗證方法 通過混淆矩陣可以算出模型 精度 a d a b c d 正例覆蓋率 b c d 負例覆蓋率 a a b 等。通過這麼些指標綜合考慮模型的 準確率。二 roc曲線 在講解roc曲線之前,我們先看看幾個定義 sensit...