感知机算法是一个比较基础的算法,应用于神经网络和支持向量机算法中,感知机默认数据是线性可分的,主要解决二分类问题
公式:
f(x)=sign(w∙x+b)
其中x表示样本的特征向量,w和b为感知机模型参数(w也叫权值,b也叫偏置),f(x)是模型的预测结果,因为是分类问题,所以结果是[+1,-1]
,sign是符号函数(当sign中的值 ≥0时f(x)=+1;<0时f(x)=−1 )
注意这里的x是向量,w也是向量,w和x是求向量的内积
问题1:求这个模型就是求w和b,怎么求?
对于w和b来说要确定一个学习的策略,即定义损失函数,然后求损失函数极小值时的w和b
问题2:损失函数怎么定义?
感知机是基于误分类的样本点作为损失函数,所以定义误分类的点到超平面的总距离为损失函数(因为当误分类的点到超平面的距离越小时,证明模型的分类效果越好,为啥呢?因为离超平面越远证明这个点对于分类的特征越明显,特征那么明显还预测错了,那这模型就不好了)
损失函数定义:
L(w,b)=−∑xi⊂Myi(w∙xi+b)
跟上面的公式有点变化,多了个 yi ,首先这个公式时针对误分类点集合M,也就是 w∙xi+b 这个结果和给定数据的分类 yi 的符号时不一样的(预测错了一定不一样啊,如果原给定这个点是+1类的,那预测错了一定是-1,所以乘 -yi ,把符号全变成正的好计算距离,要不还得加绝对值)
解释:
L(w,b) 表示关于w和b的损失函数, w∙xi+b