神经网络基础-感知机(Perceptron)

虽然说感知机这个模型,现在基本不会被用到了,但是基础还是要打牢。感知机是svm和mlp(Multilayer Perceptron)的前身。以下关于公式和推导参考了其他博客(有说明出处知乎引用),另外加入了自己的理解。

1.总体概括

感知机,是解决二分类问题的模型,在空间中找到一个最优的超平面,把样本分成两类。超平面表达式,感知机的预测函数:神经网络基础-感知机(Perceptron)_第1张图片,在超平面上方,预测为正类,在超平面下方,预测为负类。理想目标是全部样本预测正确,实际不一定能实现,预测值和真实值相乘小于0,取负大于0,,yi属于{1,-1},点xi到超平面的距离为神经网络基础-感知机(Perceptron)_第2张图片,损失定义为所有分错样本与超平面的距离之和:神经网络基础-感知机(Perceptron)_第3张图片其中M是分错的样本集合。最小化损失,那我把w扩大无限倍,是不是分母就大了,整体就小了,这显然不是我们的目标,超平面wx+b=0 两边同乘任何数,超平面不变,因此可以限制||w||=1,求解最优超平面,所以最小化损失函数:神经网络基础-感知机(Perceptron)_第4张图片

 然后对w和b求导:神经网络基础-感知机(Perceptron)_第5张图片神经网络基础-感知机(Perceptron)_第6张图片

可以转成一个简化形式(多个博客称为对偶,不知道为什么叫对偶,也没用到maxmin和minmax?

每次一个分错的样本都会对w和b进行修正,所以可以按照N个样本来化简w和b的求解公式,比如一共有X次的修正,这X次可能来自这N个样本中若干个,并且可能存在一个样本xi点贡献了多次,设样本点xi贡献了ni次,那么给w带来的增量就是n_{i}*\eta*y_{i}*x_{i},定义\alpha _{i}=n_{i}*\eta,就有了下面的公式。从对偶形式的迭代过程可以看到,能节省时间的就是先把向量xi和xj算好存起来,类似于用空间换时间。所以当特征量大的时候,使用起来效果显著。

下面算法流程摘自知乎:https://zhuanlan.zhihu.com/p/38098165

神经网络基础-感知机(Perceptron)_第7张图片

神经网络基础-感知机(Perceptron)_第8张图片

引身问题,感知机和svm有什么区别和联系?

 

 

你可能感兴趣的:(深度学习,机器学习)