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. linux mint 18.2 install postgresql

    https://www.postgresql.org/download/linux/ubuntu/ 1 check Xenial16.04 2  创建文件  /etc/apt/sources.list ...

  2. 事务实现,redo,undo,锁

    事务(Transaction)是数据库区别于文件系统的重要特性之一.在文件系统中,如果你正在写文件,但是操作系统突然崩溃了,这个文件就很有可能被破坏.当然,有一些机制可以把文件恢复到某个时间点.不过, ...

  3. SQL Serever学习9——基础查询语句

    SQL语言概述 SQL是结构化查询语言(Structure Query Language),1974年提出,1979年被IBM实现,SQL语言已经成为关系型数据库的标准语言. 包括: DDL数据定义语 ...

  4. Azure 应用服务中的 API 应用、ASP.NET 和 Swagger 入门

    学习内容: 如何通过 Visual Studio 2015 中的内置工具在 Azure 应用服务中创建和部署 API 应用. 如何使用 Swashbuckle NuGet 包动态生成 Swagger ...

  5. ASP.NET 解决在点击Button执行服务器事件之前验证用户输入并阻塞

    在网站项目开发时,为了减少用户的错误性的操作,很多时候我们都需要做一些必要的JS验证来提醒用户,比如:“输入的值不符合规则,请重新输入”.“提交后无法修改,您确定要继续吗?”友好性的提示. 这时候我们 ...

  6. 一:Java基础

    /-- 第一章:概念 --/ 1.java特点:跨平台.面向对象.开源 2.JVM是Java虚拟机的缩写,可以实现跨平台 3.java运行原理: 1).编写java源文件,以.java作为后缀名 2) ...

  7. redux实现原理

    redux基本概念 基本概念 1.store 用来保存数据的地方,使用createStore来生成数据 store = createStore(fn) 2.state,通过拷贝store中的数据得到 ...

  8. 新安装的Apache和php,测试可以解析phpinfo,但是无法打开drupal网站

    没有去掉php.ini中mysql相关的一些扩展的注释

  9. JQuery 更改属性 JQ对象循环 each 全选反选 三元运算

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. Vue.js小案例(1)

    数据绑定 数据绑定是vue.js的基础.本例中就是利用了vue.js的v-model指令在表单元素上创建双向数据绑定. <!--这是我们的View--> <div id=" ...