机器学习——感知机算法

感知机算法

感知机(perception)是一种二类线性模型,主要用于分类问题。

一些定义

目标函数:
f(x)=sgn(w*x+b) 其中sgn为符号函数
其中向量w为目标函数向量,向量x为样本。向量w={w1,w2…wn},向量x={x1,x2…xn}

超平面:
w*x+b=0 所构成的平面
向量w为超平面上的法向量。

训练集:
T=(x1,y1),(x2,y2),(x3,y3)…(xn,yn)
其中xn为向量,即为上面的向量x
yn的取值范围为{-1,1}。即正类为1,负类为-1。

线性平分:
若向量w满足,对于所有i,若w*xi+b>0则yi=1,若w*xi+n<0则yi=-1,则称w线性平分x。

负分类:
对于任意i,若满足 yi*(w*xi+b)<0则计为负分类。
通俗地来说也就是分错类。

分类损失/代价函数
L(w,b) = -Σyi*(wi*xi+b) 其中i为所有的负分类
若没有负分类则 L(w,b)=0。
对于感知机算法,我们需要做的是最小化L。

最优化计算

我们取出我们需要最优化的函数 L(w,b) = -Σyi*(wi*xi+b) 其中i为所有的负分类
这东西一般使用随机梯度下降法进行计算。
我们先随机一个向量w0和常数b0。
然后每次随机选择一个负分类x,让它对w和b进行梯度下降。
w=w-α*yi*xi , b=b-α*xi 其中α为学习率。
然后继续操作直到没有负分类点。

猜你喜欢

转载自blog.csdn.net/wcy_1122/article/details/80073067