感知机 matlab,【详细】用matlab实现感知机

本文详细介绍了如何使用MATLAB实现感知机算法,包括关键的迭代更新规则和停止条件。通过实例展示了感知机在二维空间中的分类效果,并提供了完整的MATLAB代码。
摘要由CSDN通过智能技术生成

【详细】用matlab实现感知机

【详细】用matlab实现感知机

最近在看李航老师的统计学习,故学习使用matlab语言实现了一下感知机的算法,下面简单总结一下一些注意事项。

a20600b8f63220fa342eb0e9daaeb805.png

1.注意判断误分类点,没有误分类点后要及时退出迭代循坏,不然会一直迭代。

2.感知机绘制出来的分类超平面不止一个,采用不同的初始值和迭代时选取误分类点的顺序不同,得出的解也不同。

3.话不多说,上代码。

(1) Perceptron.m函数

function [W,b] = Perceptron(X,y,Maxstep)

%感知机学习算法

%W为待求的权重向量,b为偏差

%X为输入空间,本次取二维的,y为输出空间,取值为[-1,1]

[n,m] = size(X);%求解矩阵X的大小

%给权值和偏差赋初始值,指定学习步长

W = zeros(m,1);%W为m行的列向量

b = 0;%设置偏差的初始值为0

mu = 0.5;%将学习步长设置为0.5,0

for step = 1:Maxstep%迭代更新参数值

miss_flag = true;%设置一个标志位用来判断是否存在误分类点

for i = 1:n %

if (y(i)*(X(i,:)*W&#

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值