一、什么是感知机?

感知机最早由计算科学家Rosenblatt在1958年提出,他是一种单层(注意,输入层并不计算在内)神经网络。如图为一个二元输入的感知机模型。

其中x1,x2为输入,b为偏置,激活函数被称为符号函数(sign function),我们将激活函数的输出记为,其函数表达式及图像如下所示。

二、感知机可以用来干什么?

感知机可以用来处理线性可分类问题,线性可不可分简单来说,就是可不可以用一条直线把图上两类点划分开。如第二张图所示,无论怎么画直线都无法将两类点分区开。

线性可分

线性不可分

对于线性不可分问题一般用多层神经网络,SVM来处理。

三、感知机如何实现线性分类?

我们举一个最最最简单的分类问题,逻辑运算(这里我们用“与”运算)并且结合matlab代码来说明感知机如何实现线性分类。

X1

X2

y

0

0

0

0

1

0

1

0

0

1

1

1

也就是说,我们要在平面上找到这样一条直线,把点(1,1)与其它点划分开,而这条直线的方程为(decision boundary),如果把符号激活函数向右平移1各单位,那么这条直线方程则为

转化为最优化问题,那如何找这么一个函数来描述优化程度?因为激活函数不平滑,无法用误差的形式来描述。

这里我们提出一种点到直线距离的描述方法J=,对误分类点而言,J>0;

我们对数据集中的训练点逐一进行判别,训练权重,直至无误分类点。

权重训练方法采用的是梯度下降法。

matlab代码:

close all;
clear;
w=[1 0.5];b=0;%随机设置初始权值与阈值
%p,t为给定的训练样本,p为输入,t为对应的输出

%And计算网络迭代训练五次
p=[0 0;0 1;1 0;1 1];

t=[-1;-1;-1;1];

p1=[p;p;p;p;p];

t1=[t;t;t;t;t];

%训练过程传递函数为阶跃函数

for i=1:size(p1,1)
    n=0.5;%学习率
    a=unitstep(p1(i,1:2)*w'+b);
    if t1(i)*(p1(i,1:2)*w'+b)<0
        w=w+n*p1(i,1:2)*t1(i);
        b=b+n*t1(i);   
        
        figure(1)
        plot(i,w(1),'*');
        hold on;
     
    
        figure(2)
        plot(i,w(2),'^');
        hold on;
        
        figure(3)
        x1=0:0.1:1;
        x2=(-w(1)/w(2))*x1-b/w(2);
        plot(x1,x2)
        plot([0 0 1 1],[0 1 0 1],'^');
        axis([0 1 0 1])
        hold on;
 
       
    end
end

%网络输出

a=unitstep(p(1:4,1:2)*w'+b)

转载于:https://www.cnblogs.com/xugong/p/9499098.html

【城北徐公之机器学习】感知机模型相关推荐

  1. 今日机器学习概念:感知机模型

    点击上方"AI有道",选择"设为星标" 关键时刻,第一时间送达! 感知机模型是机器学习二分类问题中的一个非常简单的模型.它的基本结构如下图所示: 感知机的运算过 ...

  2. 【ML】基于机器学习的心脏病预测研究(附代码和数据集,多层感知机模型)

    写在前面: 首先感谢兄弟们的订阅,让我有创作的动力,在创作过程我会尽最大努力,保证作品的质量,如果有问题,可以私信我,让我们携手共进,共创辉煌. 之前创作过心脏病预测研究文章如下: [ML]基于机器学 ...

  3. 机器学习知识点(八)感知机模型Java实现

    感知机模型 假设输入数据集为表示是n个训练数据样本.输出y只有两个值(-1,+1)两个分类.那么感知机模型可以表示为以下函数: 其中sign是符号函数,意义如下.w表示权值,b表示偏置.我们就是需要通 ...

  4. 机器学习:从感知机模型体会随机梯度下降

    文章目录 感知机模型: 感知机模型的随机梯度下降: 感知机模型的算法描述: 感知机的代码实现: 感知机模型: 寻找一个超平面使数据集线性可分,寻找超平面的过程可以转化为最小化一个损失函数的过程: 如何 ...

  5. 【机器学习算法】感知机模型

    文章目录 1. 感知机模型 2. 收敛性证明(Novikoff定理) 3. 感知机对偶形式 4.感知机的缺点 5.感知机的几个变形 5.1 投票感知机 5.2 平均感知机 1. 感知机模型   感知机 ...

  6. 《人工智能》机器学习 - 第6章感知机模型(一 理论讲解)

    6.1引言 PLA全称是Perceptron Linear Algorithm,即线性感知机算法,属于一种最简单的感知机(Perceptron)模型.感知机(perceptron)是二分类的线性分类模 ...

  7. 机器学习历程——人工智能基础与应用导论(8)(神经网络——感知机模型)

    一.概念 1.感知机模型--线性分类器,用于二分类问题.(正类+1.负类-1) 2.物理意义 将输入的空间划分为正负两类分离超平面y={+1,-1}. 3.定义函数 f(x) = sign(wx+b) ...

  8. 1 李航《统计机器学习》之感知机模型

    1.1  感知机模型         类别: 二分类线性分类模型.判别模型         模型:,可以理解为特征空间的一个分割超平面,权重可以理解为分割超平面的法向量,偏置可以理解为超平面的截距. ...

  9. 【机器学习】感知机模型对偶形式

    感知机模型的对偶形式 感知机模型 python感知机实现代码 感知机模型的对偶形式也称累积形式,相对于之前的感知机多了一个 ɑi = nɧ ,n表示使用某实例作为误分类点更新参数w,b的次数,如果未被 ...

最新文章

  1. 如何编写 Nagios 插件
  2. JavaScript的Prototype实现
  3. 【HDU - 2809】 God of War(状压dp)
  4. 抢占朋友圈C位 闪耀世界杯 就要Pick 腾讯云CDN
  5. JavaScript:执行机制
  6. mysql对应systables_mysql5.7中的sys表详解(转)
  7. Css、javascript、dom(一)
  8. 动态爱心(C/C++)
  9. 软件测试笔记2-目的
  10. 2021年3月31最新论文(计算机视觉,图像分割,图像识别,图像分类)
  11. 面试常见的 10 大问题
  12. 戴尔通过F12一次性引导菜单刷新BIOS
  13. 【思维导图】canny滤波 原理步骤细致剖析
  14. R语言入门——猜数小游戏
  15. XMind 8 Update 8 Pro 激活教程(亲测可用) 国外官网下载 破解教程(带离线安装包)
  16. 人工智能开发语言排行榜: 不死Java, 不朽C/C++, 新贵Python
  17. 几种过滤URL和FORM中非法字符的方法
  18. 计算机网络原理fin,一个动画看懂网络原理之TCP建立和释放过程
  19. NETDMIS5.0自动测量球2023
  20. JAVA 爬虫框架webmagic 初步使用Demo

热门文章

  1. 竞赛最好用的平衡树-Size Balanced Tree(SBT)【建议收藏】
  2. 免费资源分享(六) Unity3D 雷达实时定位插件
  3. CSP_201412-2_Z字形扫描
  4. android 阿拉伯语文字方向,android – 如何将RTL文本(阿拉伯语)绘制到位图并正确排序?...
  5. Fumark支持SLI双卡测试设置
  6. 【流体机械原理及设计06】
  7. Django教程 —— Django入门
  8. javascript 判断 flash 插件是否安装
  9. CocosCreator知识库amp;amp;lt;二amp;amp;gt;关于TiledMap的系统学习教程(阶段性更新)
  10. 频域判断波形_股票价格频域特性