感知机-1

神经元:

单个神经细胞有2中状态: 1.兴奋  2.抑制 。通过突触传递介质,当介质(信号)超过某个值时,细胞就会兴奋。

Frank Rosenblatt 模拟 突触/阈值/细胞体兴奋  等特征 发明一种称之为 感知机 的 机器,数学表达式如下:

f(x)为细胞体,为1 表示兴奋;为0 表示抑制

w 为 模拟突触的强度

b 为 激活的阈值

x为向量 反映的是一系列突触对细胞体的影响

易见,可以用感知机进行二元分类。同时,可以看到可以通过调节权值,学习二元分类。

感知机的学习算法:

  1. 首先将所有权值设为0, 这样, 输入值预设为对结果不产生任何影响。同时,偏移量也被预设为0。
  2. 我们使用参数MaxIter。这个参数是整个算法中唯一一个超参数(hyper-parameter)。这个超参数表示当我们一直无法找到准确答案时,我们要最多对权重和偏移量进行几次优化。
  3. 在算法PerceptronTrain第5行,我们用之前提到的加法公式计算出当前激发值a。由于这个简单的感知器算法只可以产生二维结果,我们 只检查激发值a的符号是否与实际值同号(第6行)。如果同号,这意味着算法为当前数据的输入值找到了合适的权重和偏移量,算法结束。
  4. 如果激发值与实际值异号,感知器算法就要进行自调节的过程(第7, 8行)。自调节过程分成两步:

新的激发值a 受影响于  新的权值w和新的偏置b

这个是比较直观的形式,更加一般的推导过程如下:

内积的数学概念:

感知分类的学习策略是, 假设训练数据集是线性可分的,感知机学习的目标是求得一个能够将训练集正实例点和负实例点完全正确分开的分离超平面

先看看感知机的几何解释:

               线性方程:  

定义一个经验损失函数,并将损失最小化。

损失函数可以选择误分点的总数,也可以选择误分点到超平面的距离。为了确保连续可导的,选择误分点到超平面的距离作为经验损失函数。

注意 y = 1 或者 -1

感知器学习算法的一般形式:

当 n 为1时,退化到上面的特殊学习形式

修正错误的几何意义:

  • 看右上方y=+1的图,正确的是正的,却算出来负的,说明w 和 x的夹角太大,要把w转向x,因为此时y=+1所以w+yx是 w+x,相当于图中的中间那条向量;
  • 再看y=-1的图,正确的是负的,但是算出来是正的,说明w和x的夹角太小了,要把w向远离x的方向转,此时w+yx=w-x,所以结果就转向远离x的方向了。
时间: 2024-10-05 15:35:25

感知机-1的相关文章

17-占领记忆,从更新权重开始——小而美的感知机

一个人和另一个人的相遇是很奇妙的.人生若只如初见,Wi全都是0.有的人之间自带化学反应,初次见面就噼里啪啦更新权重,经过激活函数得出--1:看你顺眼:-1:负分滚粗(原谅群主的简单粗暴).所谓权重,深藏于生活的每个细节中.曾经看过一篇文章,说即使关系亲密的人之间也是自带评分表的:今天你做了一件事让我开心,score++:明天你惹到我让我不爽,score--.所以无论和关系多好的人相处我们都需要反省,不断调整自己的行为,且行且珍惜.机器学习也是有温度的,你可以把它看作一个活生生的人,感觉触角多且灵

【统计学习】随机梯度下降法求解感知机模型

1. 感知机学习模型 感知机是一个二分类的线性分类问题,求解是使误分类点到超平面距离总和的损失函数最小化问题.采用的是随机梯度下降法,首先任意选取一个超平面w0和b0,然后用梯度下降法不断地极小化目标损失函数,极小化过程中不是一次使所有误分类点的梯度下降,而是一次随机选取一个误分类点使其梯度下降.假设误分类点集合M是固定的,那么损失函数L(w,b)的梯度: 随机选取一个误分类点,对w和b进行更新: 其中n是步长,又称为学习率(learning rate),这样通过迭代可以使损失函数L(w,b)不

感知机算法(MATLAB)

感知机算法属于比较简单的分类器算法,但是跟逻辑回归和支持向量机一样属于构建分类超平面. 不同的是感知机采用分错的样本与分类超平面的距离作为损失函数,下面的算法基于随机梯度下降法,采用异步方式达到收敛状态 function [w,b]=perceptionLearn(x,y,learningRate,maxEpoch) % Perception Learn Algorithm % x,y 一行为一个样本,y取值{-1,+1} [m,n]=size(x); w=zeros(n,1); b=0; fi

[机器学习]感知机(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

使用感知机训练加法模型

感知机此处不介绍,这里只是简单的做了一个使用感知机思路,训练一个y=a+b计算模型. 1 # -*-coding:utf-8-*- 2 '@author: xijun.gong' 3 import numpy as np 4 import random 5 import math 6 7 8 class Perceptron: 9 def __init__(self, learnRate, maxIter, bit_len): 10 """ 11 :param bit_len

统计学习方法(第2章)感知机 学习笔记

第2章 感知机 感知机是二类分类的线性分类模型,其输入为实例的特征向量,感知机对应于输入空间(特征空间)中将实例划分为正负两类的分离超平面,属于判别模型.导入基于误分类的损失函数,利用梯度下降法对损失函数进行极小化,求得感知机模型.感知机学习算法分为原始形式和对偶形式,是神经网络和支持向量机的基础. 1.感知机模型 感知机定义: 假设输入空间(特征空间)是X,输出空间是Y,Y的取值为+1和-1,输入x表示实例的特征向量,对应于输入空间(特征空间)的:输入y表示实例的类别.由输入空间到输出空间的如

感知机学习算法 python实现

参考李航<统计学习方法> 一开始的感知机章节,看着不太复杂就实现一下... 1 """ 2 感知机学习算法的原始形式 3 例2.1 4 """ 5 import numpy as np 6 7 class Perceptron: 8 def __init__(self,w,b,alpha): 9 self.w = w 10 self.b = b 11 self.alpha = alpha 12 13 def loss(self,x,y

机器学习-李航-统计学习方法学习笔记之感知机(2)

在机器学习-李航-统计学习方法学习笔记之感知机(1)中我们已经知道感知机的建模和其几何意义.相关推导也做了明确的推导.有了数学建模.我们要对模型进行计算. 感知机学习的目的是求的是一个能将正实例和负实例完全分开的分离超平面.也就是去求感知机模型中的参数w和b.学习策略也就是求解途径就是定义个经验损失函数,并将损失函数极小化.我们这儿采用的学习策略是求所有误分类点到超平面S的总距离.假设超平面s的误分类点集合为M,那么所有误分类点到超平面S的总距离为 显然损失函数L(w,b)是非负的,如果没有误分

统计学习方法:感知机

作者:桂. 时间:2017-04-16  11:53:22 链接:http://www.cnblogs.com/xingshansi/p/6718503.html 前言 今天开始学习李航的<统计学习方法>,考虑到之前看<自适应滤波>,写的过于琐碎,拓展也略显啰嗦,这次的学习笔记只记录书籍有关的内容.前段时间朋友送了一本<机器学习实战>,想着借此增加点文中算法的代码实现,以加深对内容的理解.本文梳理书本第二章:感知机(Perceptron). 1)原理介绍 2)代码实现

使用Python来编写一个简单的感知机

https://blog.dbrgn.ch/2013/3/26/perceptrons-in-python/ 目前,我在HSR上参加了一个神经网络和机器学习的课程,其中学习到一个最简单的神经网络模型,就是感知机(perceptronperceptronperceptron). 背景资料 最简单的神经网络的模型就是感知机分类器,它有不同的输入(x1, x2,......xn),然后有不同的权重值(w1, w2,......Wn),如下式计算: 每个对应的权重值与输入值进行相乘,再相加在一起,然后通