感知器是一种比较简单的,通过训练样本集合来获取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 ,则此样本归为第一类,否则就归为第二类。最终,用散点图的形式呈现出来。
文章出处登录后可见!
已经登录?立即刷新