data=load('data.txt');
x=[data(:,1),data(:,2)];
y=data(:,3);
k=length(y); %绘制散点图
for j=1:k
if y(j)==1
plot(x(j,1),x(j,2),'o');
hold on
end
if y(j)==-1
plot(x(j,1),x(j,2),'x');
hold on
end
end %初始化参数
w=[0,0];
b=0;
r=0.5; %学习速度
con=0;
t=0; %记录迭代次数
br=[]; %记录b的变化
wr=[]; %记录w的变化 while con==0
for i=1:k
if (y(i)*(dot(w,x(i,:))+b))<=0 %判断是否分类错误
w(1)=w(1)+r*y(i)*x(i,1);
w(2)=w(2)+r*y(i)*x(i,2);
b=b+r*y(i);
w=[w(1),w(2)];
wr=[wr,w];
br=[br,b];
t=t+1;
end
end for i=1:k
con1(i)=(y(i)*(dot(w,x(i,:))+b));
end
con=(all(con1(:)>0));
end xt=0:0.1:10;
yt=(-w(1)*xt-b)/w(2);
plot(xt,yt);

  

  数据:

1.2435 4.1728 -1.0000
1.3435 6.6935 -1.0000
1.4435 5.6401 -1.0000
1.5435 3.7946 -1.0000
1.6435 4.2596 -1.0000
1.7435 6.2168 -1.0000
1.8435 5.1952 -1.0000
1.9435 4.7744 -1.0000
2.0435 3.6288 -1.0000
2.1435 5.6932 -1.0000
2.2435 6.1607 -1.0000
8.2858 5.0430 1.0000
8.3858 6.1396 1.0000
8.4858 4.8663 1.0000
8.5858 3.1537 1.0000
8.6858 5.7617 1.0000
8.7858 4.8398 1.0000
8.8858 6.4166 1.0000
8.9858 5.7650 1.0000
9.0858 4.0198 1.0000
9.1858 5.3157 1.0000
9.2858 4.8547 1.0000

运行结果:

perceptron感知机 mtalab的更多相关文章

  1. 机器学习算法--Perceptron(感知机)算法

    感知机: 假设输入空间是\(\chi\subseteq R^n\),输出空间是\(\gamma =\left( +1,-1\right)\).输入\(\chi\in X\)表示实例的特征向量,对应于输 ...

  2. 从下往上看--新皮层资料的读后感 第四部分 来自神经元的设计-perceptron 感知机

    搬地方了,其他的部分看知乎:https://zhuanlan.zhihu.com/p/22114481 直到50年代,perceptron被Frank Rosenblatt搞了出来.perceptro ...

  3. Perceptron Learning Algorithm (PLA)

    Perceptron - 感知机,是一种二元线性分类器,它通过对特征向量的加权求和,并把这个”和”与事先设定的门槛值(threshold)做比较,高于门槛值的输出1,低于门槛值的输出-1.其中sign ...

  4. 神经网络和Deep Learning

    参考资料: 在线免费书籍 http://neuralnetworksanddeeplearning.com/chap1.html Chapter 1 1.  perceptron 感知机 it's a ...

  5. Machine Learning Algorithms Study Notes(2)--Supervised Learning

    Machine Learning Algorithms Study Notes 高雪松 @雪松Cedro Microsoft MVP 本系列文章是Andrew Ng 在斯坦福的机器学习课程 CS 22 ...

  6. OpenCV 之 神经网络 (一)

    人工神经网络(ANN) 简称神经网络(NN),能模拟生物神经系统对真实物体所作出的交互反应,是由具有适应性的简单单元(称为神经元)组成的广泛并行互连网络. 1  神经元 1.1  M-P 神经元 如下 ...

  7. 学习笔记TF034:实现Word2Vec

    卷积神经网络发展趋势.Perceptron(感知机),1957年,Frank Resenblatt提出,始祖.Neocognitron(神经认知机),多层级神经网络,日本科学家Kunihiko fuk ...

  8. 《神经网络算法与实现-基于Java语言》的读书笔记

    文章提纲 全书总评 读书笔记 C1.初识神经网络 C2.神经网络是如何学习的 C3.有监督学习(运用感知机) C4.无监督学习(自组织映射) Rreferences(参考文献) 全书总评 书本印刷质量 ...

  9. Deep Learning - 1 神经网络

    Artificial Neuron 人工神经元有: Perceptrons(感知机) Sigmoid Perceptron 感知机input是多个二进制,output是一个二进制. graph LR ...

随机推荐

  1. 发布 .Net Core WebAPI 应用程序到 Docker

    目录 1. 创建 .net core webapi 项目 2. 编译应用 3. 创建 Dockerfile 文件 4. 上传文件到服务器 5. 生成Docker Image 6. 在Docker Co ...

  2. TCP/IP提供网络传输速率

    丢包(超时)->减少超时时间->ECN(有网络设备通知终端,有丢包发生)->DCTCP(优化快恢复) 丢包是超时的充分条件,但不是必要条件,因此也可通过其他方式获得丢包是否发生,比如 ...

  3. webpack工具、Vue、react模块化

    一.为什么要有webpack print('hello,world') fsdl fdsf title2 title3 引用 斜体字 加粗 有序列表1 有序列表2 无序列表1 无序列表2 行内code ...

  4. memcached 细究(二)

    { CentOS ping命令 分布式部署服务器时用到ping命令 #ping -c 4 192.168.16.1 //ping4次后结束. }   使用telnet 查看memcached 运行状态 ...

  5. GIT使用log命令显示中文乱码

    背静: 公司项目使用GIT进行代码同步. 问题: 之前代码提交后,有中文备注,但是在使用git log查看代码历史记录的时候发现显示乱码,如下: 后查询相关资料,现将解决办法总结如下: 1.运行Git ...

  6. Tempter of the Bone 搜索---奇偶性剪枝

    Tempter of the Bone Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other) ...

  7. java 自定义异常处理

    package com.direct.work; import java.io.FileNotFoundException; import java.io.IOException; import ja ...

  8. git杂记-分支简介

    分支创建 //只创建分支不切换: $ git branch testing //创建并切换分支$ git checkout -b iss53 查看各个分支的指向对象 $ git log --oneli ...

  9. SDOI2017 树点涂色——LCT the END

    Description Bob有一棵n个点的有根树,其中1号点是根节点.Bob在每个点上涂了颜色,并且每个点上的颜色不同.定义一条路 径的权值是:这条路径上的点(包括起点和终点)共有多少种不同的颜色. ...

  10. BZOJ5465: [APIO 2018] 选圆圈(K-D Tree)

    题意 题目链接 Sol 下面是错误做法,正解请看这里 考虑直接用K-D tree模拟.. 刚开始想的是维护矩形最大最小值,以及子树中最大圆的位置,然后... 实际上最大圆的位置是不用维护的,直接把原序 ...