机器学习学习笔记(2)---感知器学习算法
上文所说的学习过程中,要有用来学习的数据和一个用于学习的假设函数h。还是以发行信用卡为例,客户的资料为输入x, 最后的结果是要么给该客户办理信用卡,要么就不给。输出为{+1, -1}。
x = (x1, x2, ... , xd), x中不同的项代表该客户的不同属性。由着d个数可以计算出一个加权的“分数”
办理银行卡 ∑di=1wixi>阈值
不给办理 ∑di=1wixi<阈值
输出y:{+1(good), -1(bad)}, 0忽略。
线性假设函数为:h(x)=sign((∑di=1wixi)−threshold)
合并函数得
h(x)=sign((∑i=1dwixi)−threshold)
=sign((∑i=1dwixi)+(−threshold)w0∗(+1)x0
=sign(∑i=0dwixi)
=sign(wTx)
在二维平面R2上,h(x)=sign(w0+w1x1+w2x2)
h(x)代表的是分割不同符号的二维平面上的线。x是平面上的点,y={+1, -1},正负表示点在直线的两侧。
猜想的集合H里有很多h(x),我们想得到的是g≈f,方法是根据所给的数据D不断调整h(x)。这种算法就是感知器学习算法(PLA).
for t = 0, 1, ...
1.发现一个wt的错误点
(xn(t),yn(t))
即
sign(wTx)≠yn(t)
2.更正错误
wt+1←wt+yn(t)xn(t)直到 没有错误
返回 最后的w.