感知器线性分类——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

 

  • 1
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
单层感知器神经网络是一种简单的神经网络模型,常用于线性分类问题。它基于感知器算法,通过一个线性函数将输入数据映射到输出类别。 在Matlab中,可以使用CSDN(中国最大的IT开发者社区)提供的文档和代码来实现单层感知器神经网络。首先,需要加载神经网络工具箱,该工具箱提供了一些函数和方法用于实现神经网络的建模和训练。 接着,我们需要准备训练数据集和测试数据集,其中包含输入特征和对应的输出类别。可以使用Matlab提供的数据导入工具函数将数据导入到Matlab工作空间中。 接下来,我们可以使用CSDN提供的代码来创建一个单层感知器神经网络模型。该代码使用了Matlab的神经网络工具箱提供的函数和方法。 神经网络模型创建后,我们需要对模型进行训练。可以使用Matlab的神经网络工具箱中的训练函数对模型进行训练,例如使用梯度下降法或者牛顿法等优化算法进行训练。 训练完成后,我们可以使用测试数据集对模型进行评估,测试模型在新数据上的分类性能。可以使用Matlab提供的评估函数进行分类性能的评估,例如计算准确率、召回率、F1值等指标。 通过以上步骤,我们可以使用Matlab和CSDN提供的工具和代码来实现单层感知器神经网络的线性分类功能。这种简单的神经网络模型在一些简单的线性分类问题上具有良好的性能,但对于复杂的非线性分类问题可能不够有效。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嘟噜猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值