感知器线性分类——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日
下一篇 2022年5月22日

相关推荐