文档章节

【模式识别】学习笔记(4)>>>【感知器、梯度法、最小平方误差(LMSE)算法】

Parser7
 Parser7
发布于 2016/03/21 20:02
字数 1101
阅读 121
收藏 3

感知器的出发点则类似于这样的例子:当我们面前摆放着一盆水的时候,想要知道水温是热还是烫,是冷还是温。

如果我们事先知道自己如果用手去摸会被烫着或者会被冻着,我们就会慢慢将将手伸过去,慢慢地接近容器或者水面。

但是当我们事先并不知道会发生上述的痛觉,我们首先需要伸手,但是伸多远这就完全是一个随机过程了。

还有一个例子,我们都上过显微镜的课,当需要观察载玻片上的样本时,最先做的工作就是对准调焦直到能看到比较清晰的图像,那么在调焦的过程中,经常会出现多调或者少调的情况,此时就需要往回调。

感知器的原理就是这样,在确定判别函数系数的过程当中,首先会设定一个初值,可以人工给定也可以机器自己抉择;然后以从初值开始,迭代每一个模式样本,比如在x1上计算判别函数值,如果判别函数<0,则可判断某个类别过分类/少分类(两者是相对的),那么相应地根据x1对判别函数进行修正(类似调焦的回调),反之亦然。

 

梯度法

梯度法的修正步长与感知器的相同,但修正因子就不再是x1等模式样本了,而是一个对错误分类敏感的准则函数J(w, x)的梯度,因此,如果正确地选择了一个准则函数J的话,将会收敛得很快,直到函数J达到一个很小的值,甚至是等于零。

 

最小平方误差(LMSE)算法

相对复杂,需要求逆(维数高时求逆比较困难),但对两类情况,提供了线性可分的测试特征。模式类别可分性的判别:

(i) 若e(k)=0,即Xw(k)=b(k)>0,有解。
(ii) 若e(k)>0,此时隐含 的条件,有解。若继续进行迭代,可使e(k)->0。
(iii) 若e(k)的全部分量停止变为正值(但不是全部为零),表明该模式类别线性不可分。因此,若e(k)没有一个分量为正值,则b(k)不会再变化,所以不能求得解。

理解:步长C的符号又是不变的,e(k)为修正因子的一部分,当其理论上停止变号的时候,也就是说在回调过程中不仅调过头了,而且收敛不回来,所以就不能求解了。

 

但是在确定以上判别函数的系数时,有一个经验之处就是,特别是对于非线性判别函数(也包括映射成线性函数的),如果训练很准确的话,反而会降低其泛化能力,如下图,虽然训练后达到了100%的准确率,但是当新的测试样本被加入时就很容易出错。

然而,排除模式类间的可分性不显著的情况,会出现这样的样本分布,往往是因为采样、特征量等带来的误差。如果能够理想地避免这些误差,可能得到的判别函数就是下图的绿线。根据前面讲到的Fisher准则,很容易目测得到绿线具有更好泛化能力的结论,然而上图的黑线就带来了很多我们所未知的不确定性。

 

© 著作权归作者所有

共有 人打赏支持
Parser7
粉丝 25
博文 16
码字总数 21280
作品 1
杭州
程序员
私信 提问
【转】脉络清晰的BP神经网络讲解,赞

本文转自编程小翁博客园博客,原文链接:http://www.cnblogs.com/wengzilin/archive/2013/04/24/3041019.html,如需转载请自行联系原作者...

文艺小青年
2017/11/17
0
0
GBDT总结笔记

[TOC] Supervised learning 监督学习的要点: 数据:对于输入数据 $$$xi in R^d$$$,训练数据里的第i个样本。 模型:如何对于给定的 $$$xi$$$预测 $$$hat{y}_i$$$。 线性模型: $$$hat{y}i=sumj{w...

跑得比谁都慢
2017/07/22
0
0
深度学习背景中的基础算法代码和故事

深度学习发展到如今的地位,离不开下面这几段代码。本文介绍了这些代码的创作者及其完成这些突破性成就的故事背景。每个故事都有简单的代码示例 1. 最小二乘法 1805 年由 Adrien-Marie Legen...

gaoshine
2017/10/28
0
0
机器学习与神经网络

5、神经网络 在机器学习中,神经网络一般指的是“神经网络学习”,是机器学习与神经网络两个学科的交叉部分。所谓神经网络,目前用得最广泛的一个定义是“神经网络是由具有适应性的简单单元组...

qq_37634812
2017/11/29
0
0
【caffe 深度学习】3.各类优化器介绍

1.主要优化器: tf.train.GradientDescentOptimizer tf.train.AdadeltaOptimizer tf.train.AdagradOptimizer tf.train.AdagradDAOptimizer tf.train.MomentumOptimizer tf.train.AdamOptimiz......

qq_40314507
2018/04/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Java并发编程

并发与并行 并发指的是同时应对多个事件的能力,并行指的是同时做多件事的能力。 位级并行:32位计算机能够同时处理32位数运算,而8位计算机却要进行多次运算。 指令级并行:表面上看cpu是串...

春哥大魔王的博客
35分钟前
3
0
js数组遍历和对象遍历

数组遍历 for for(var i=0,len=arr.length;i<len;i++){console.log(arr[i]);} forEach - ES5语法,性能比for弱,不能使用break终止循环,不能使用return arr.forEach(function(item,inde......

祖达
54分钟前
3
0
Spring "reg:zookeeper" 的前缀 "reg" 未绑定等类似问题解决方案。

今天同事遇到一个Spring启动加载配置文件时,不识别reg:zookeeper标签的问题。 我查看配置,发现是Spring配置文件的头部没有引入reg标签的命名空间,具体如下图: 所以,以后遇到类似的标签未...

花漾年华
今天
2
0
阿里云领衔云市场

近期,2018年Q4及全年的全球云基础设施服务市场数据新鲜出炉,发布方是美国市场研究机构Synergy Research Group。这个机构是专做电信网络市场情报的公司,成立于1999年,每年都会公布各大公有...

linuxCool
今天
2
0
C++友元函数和友元类(C++ friend)详解

私有成员只能在类的成员函数内部访问,如果想在别处访问对象的私有成员,只能通过类提供的接口(成员函数)间接地进行。这固然能够带来数据隐藏的好处,利于将来程序的扩充,但也会增加程序书...

shzwork
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部