perceptron and ANN

 1 %% Perceptron Regression
 2 close all
 3 clear
 4
 5 %%load data
 6 x = load(‘ex4x.dat‘);
 7 y = load(‘ex4y.dat‘);
 8
 9 x=ones(80,2);
10 for i=1:80
11     x(i,1)=mod(i,10);
12     x(i,2)=floor(i/10);
13 end
14
15 for i=1:80
16     if (x(i,1)+x(i,2))<10
17         y(i)=0;
18     else
19         y(i)=1;
20     end
21 end
22
23 [m, n] = size(x);
24
25 % Add intercept term to x
26 x = [ones(m, 1), x];
27
28 %%draw picture
29 % find returns the indices of the
30 % rows meeting the specified condition
31 pos = find(y == 1);
32 neg = find(y == 0);
33 % Assume the features are in the 2nd and 3rd
34 % columns of x
35 figure(‘NumberTitle‘, ‘off‘, ‘Name‘, ‘感知机‘);
36 plot(x(pos, 2), x(pos,3), ‘+‘);
37 hold on;
38 plot(x(neg, 2), x(neg, 3), ‘o‘);
39
40 %进行初始化
41 s = 1;                     % 标识符,当s=0时,表示迭代终止
42 n = 0;                     % 表示迭代的次数
43 N = 10000;                 %定义N为最大分类判别次数,判别次数超过此值则认定样本无法分类。
44 w= [0,0,0]‘;                % 取权向量初始值
45
46 % 开始迭代
47 while s
48     J = 0;                % 假设初始的分类全部正确
49     for i = 1:size(pos)
50         if (x(pos(i),:)*w)<=0   % 查看x1分类是否错误,在x属于w1却被错误分类的情况下,w‘x<0
51             w = w+x(pos(i),:)‘;% 分类错误,对权向量进行修正
52             J = 1;         % 置错误标志位为1
53         end
54     end
55     for i = 1:size(neg)
56         if (x(neg(i),:)*w)>=0    % 查看x2分类是否错误,在x属于w2却被错误分类的情况下,w‘x>0
57             w = w-x(neg(i),:)‘;% 分类错误,对权向量进行修正
58             J = 1;         % 置错误标志位为1
59         end
60     end
61     if J==0                 % 代价为0,即分类均正确
62         s = 0;              % 终止迭代
63     end
64     n = n+1;            % 迭代次数加1
65     if n == N
66         s=0;
67     end
68 end
69
70 w=[1;w(2)/w(1);w(3)/w(1)];
71
72 %%Calculate the decision boundary line
73 plot_x = [min(x(:,2)),  max(x(:,2))];
74 plot_y = (-1./w(3)).*(w(2).*plot_x +w(1));
75 plot(plot_x, plot_y)
76 legend(‘Admitted‘, ‘Not admitted‘, ‘Decision Boundary‘)
77 hold off
时间: 2024-10-16 20:12:20

perceptron and ANN的相关文章

利用Theano理解深度学习——Multilayer Perceptron

一.多层感知机MLP 1.MLP概述 对于含有单个隐含层的多层感知机(single-hidden-layer Multi-Layer Perceptron, MLP),可以将其看成是一个特殊的Logistic回归分类器,这个特殊的Logistic回归分类器首先通过一个非线性变换Φ(non-linear transformation)对样本的输入进行非线性变换,然后将变换后的值作为Logistic回归的输入.非线性变换的目的是将输入的样本映射到一个空间,在该空间中,这些样本是线性可分的.这个中间层

Python_sklearn机器学习库学习笔记(七)the perceptron(感知器)

一.感知器 感知器是Frank Rosenblatt在1957年就职于Cornell航空实验室时发明的,其灵感来自于对人脑的仿真,大脑是处理信息的神经元(neurons)细胞和链接神经元细胞进行信息传递的突触(synapses)构成. 一个神经元可以看做将一个或者多个输入处理成一个输出的计算单元.一个感知器函数类似于一个神经元:它接受一个或多个输入,处理 他们然后返回一个输出.神经元可以实时,错误驱动的学习,神经元可以通过一个训练样本不断的更新参数,而非一次使用整套的数据.实时学习可能有效的处理

人工神经网络--ANN

神经网络是一门重要的机器学习技术.它是目前最为火热的研究方向--深度学习的基础.学习神经网络不仅可以让你掌握一门强大的机器学习方法,同时也可以更好地帮助你理解深度学习技术. 本文以一种简单的,循序的方式讲解神经网络.适合对神经网络了解不多的同学.本文对阅读没有一定的前提要求,但是懂一些机器学习基础会更好地帮助理解本文. 神经网络是一种模拟人脑的神经网络以期能够实现类人工智能的机器学习技术.人脑中的神经网络是一个非常复杂的组织.成人的大脑中估计有1000亿个神经元之多. 图1 人脑神经网络 那么机

OpenCV——ANN神经网络

ANN-- Artificial Neural Networks 人工神经网络 //定义人工神经网络 CvANN_MLP bp; // Set up BPNetwork's parameters CvANN_MLP_TrainParams params; params.train_method=CvANN_MLP_TrainParams::BACKPROP; params.bp_dw_scale=0.1; params.bp_moment_scale=0.1; //params.train_me

目前所有的ANN神经网络算法大全

http://blog.sina.com.cn/s/blog_98238f850102w7ik.html 目前所有的ANN神经网络算法大全 (2016-01-20 10:34:17) 转载▼ 标签: it   概述 1 BP神经网络 1.1 主要功能 1.2 优点及其局限性 2 RBF(径向基)神经网络 2.1 主要功能 2.2 优点及其局限性 3 感知器神经网络 3.1 主要功能 3.2 优点及其局限性 4 线性神经网络 4.1 主要功能 4.2优点及其局限性 5自组织神经网络 5.1 自组织

ann

转自 http://blog.csdn.net/yiluoyan/article/details/45308785 这篇文章接着之前的车牌识别,从输入的车图片中分割识别出车牌之后,将进行下一步:车牌号的识别,这里主要使用光学字符识别车牌字符.对每个检测到的车牌,将其每个字符分割出来,然后使用人工神经网络(artificial neural network,ANN)学习算法识别字符. 1.字符分割 将获得的车牌图像进行直方图均衡,然后采用阈值滤波器对图像进行处理,然后查找字符轮廓. 原图像:  阈

【转】漫谈ANN(2):BP神经网络

上一次我们讲了M-P模型,它实际上就是对单个神经元的一种建模,还不足以模拟人脑神经系统的功能.由这些人工神经元构建出来的网络,才能够具有学习.联想.记忆和模式识别的能力.BP网络就是一种简单的人工神经网络.我们的第二话就从BP神经网络开始漫谈吧. BP的来源 “时势造英雄”,一个伟大的人物的登场总是建立在历史的需求之下,所以我们剖析一个人,得先看看他的出身时代.同样的道理,在讲BP网络的特性和用途之前,我们需要先了解一下它的来源和诞生原因,以便理解它的重要性. 1.1 最简单的神经网络结构——感

【机器学习】人工神经网络ANN

感谢中国人民大学的胡鹤老师,课程理论实践结合,讲得很好~ 神经网络是从生物领域自然的鬼斧神工中学习智慧的一种应用.人工神经网络(ANN)的发展经历的了几次高潮低谷,如今,随着数据爆发.硬件计算能力暴增.深度学习算法的优化,我们迎来了又一次的ANN雄起时代,以深度学习为首的人工神经网络,又一次走入人们的视野. 感知机模型perception 不再处理离散情况,而是连续的数值,学习时权值在变化,从而记忆存储学到的知识 神经元输入:类似于线性回归z =w1x1+w2x2 +? +wnxn= wT?x(

[机器学习]感知机(Perceptron)算法的MATLAB实现

感知机是一种二类分类的线性分类模型,属于判别类型,它是神经网络和支持向量机的基础. 感知机的算法如图所示: 根据以上的算法,使用MATLAB对一组标签为"1"和"-1"的数据进行训练,得到的分类超平面. 数据为: %%perceptron clc clear %load the data 导入数据 data=load('testSet.txt'); %Sometimes you do not need too precise data % data=roundn(d