感知器线性分类——MATLAB实现

感知器是一种比较简单的,通过训练样本集合来获取W向量的分类器。在获取W向量之后,可以输入检验集合来将检验集合的每个样本分为两类。

MATLAB编程思路:

(1)设计感知器

创建感知器函数。函数有三个参数,分别是第一类样本集w1,第二类样本集w1以及感知器内部寻找W向量的最大循环次数K。

基于感知器的原理,我们要将原本是二维的向量扩充到三维,即在每个样本的最后一位加一个“1”。

进行标准化。将w1类的样本不变,将w2类的样本取负。将w1和w2合并,作为最终的样本训练集。

进行循环。初始化W向量,W的维度和每个样本维度保持一致。判别每个样本集,如果W的转置乘以当前样本的值小于等于0,那么将W进行更新,W原值加上当前样本的c倍作为新的W的值。c值可以自己设置。直到循环结束或者找到满足所有样本集合的W向量。

(2)对验证集合分类

随机创建n个验证集合,每个样本均为二维纵向量。将每个样本扩充到三维。之后,进行循环,对每个样本,用上面求得的W向量的转置乘以当前样本,如果值大于0 ,则此样本归为第一类,否则就归为第二类。最终,用散点图的形式呈现出来。

代码下载:https://download.csdn.net/download/k1ttyLove/85432566icon-default.png?t=M4ADhttps://download.csdn.net/download/k1ttyLove/85432566

 

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
上一篇 2022年5月22日 下午1:05
下一篇 2022年5月22日 下午1:09

相关推荐

本站注重文章个人版权,不会主动收集付费或者带有商业版权的文章,如果出现侵权情况只可能是作者后期更改了版权声明,如果出现这种情况请主动联系我们,我们看到会在第一时间删除!本站专注于人工智能高质量优质文章收集,方便各位学者快速找到学习资源,本站收集的文章都会附上文章出处,如果不愿意分享到本平台,我们会第一时间删除!