模式分类 学习笔记 第6章 多层神经网络

6.1引言

线性分类在解决很多问题是取得的最小误差率还显得不够!

一个精确选择的非线性函数,可以得到任意判决边界。但主要的困难是如何选择非线性函数。一个完备的基函数可能得到较好的效果,但可能会有太多的参数需要估计,而训练样本总是有限的!

再或者我们可能有先验知识引导我们选择非线性函数,但如果缺少这些信息,就无法自动选择非线性函数。

多层神经网络是一种在训练线性判别函数的同时学习其非线性程度的方法???决定非线性映射的参数的学习与控制线性判别函数的参数的学习同时进行的???

多层神经网络基本上的执行还是线性判决,知识执行过程是在输入信号的非线性映射空间中进行的。提供相当简单的算法,允许非线性函数的具体形式可以通过训练样本获得。

反向转播算法具有简便性和许多成功应用。

仍然有一些启发式技巧。

网络拓扑结构有重要的作用,与实际问题相关。启发式的选择。

正则化:选择或调整网络的复杂程度。

6.2前馈运算和分类

前馈运算比较简单,其实质就是复合函数,所以比没有复合函数的分类器的运算能力和表达能力更强!

对每一个单元都可以有不同的激活函数,我们先假设所有的激活函数是一样的。

******表达能力的问题比较抽象和复杂,暂时只做了解*****************************

戈尔莫戈罗夫证明:只要给出足够的隐单元,任何一般形式的函数都可以用3层网络表示,

但非线性函数是很复杂的,傅里叶给出了更直观的证明。

表达能力给了我们信心,但没什么实际效用。

模式识别的主要任务是设计和训练神经网络。

6.3反向传播算法

最核心思想是最小化误差函数,使得网络输出值最接近训练样本的真实输出值(期望输出值)

一般采用LMS最小均方差,分类问题也可采用不同的误差函数,见andrewNG的课程。

J(w)=...一个误差函数,w为所有权值

BP算法基于梯度下降,计算梯度,并让权值想着减少误差函数的方向调整。

而计算梯度的核心就是链式法则,这与神经网络实质是复合函数是一致的!

在BP中提出了一个单元敏感度的概念,我的理解是敏感度值表示该单元对梯度贡献的大小,同时也暗示着该单元在网络中的重要性。这里还提到与信用分配问题有关,不是很清楚。

6.3.2训练协议(训练方法)

监督学习的3种最有用的学习协议

随机训练stochastic,模式随机取出

成批训练batch,所有模式在训练前全部送往网络中

在线训练on-line:每种模式只需要提供一次,不需要存储

(我的理解:成批训练外层循环是下降次数,内层循环是模式,而在线训练则刚好相反,使得不用每次更新都要遍历数据集,在数据集庞大时是一种较好的实践(可以只训练一个子集))

(PC里提供的是在线训练每个模式只更新一次!)

PC里先考虑的是单个模式的误差,batch训练考虑的是所有模式的总误差。

当然,大量单次更新也可以降低总误差!

6.8节比较不同协议的优缺点。

6.3.3学习曲线

误差对训练次数的曲线,batch的误差是单调减小的。

误差渐进值取决于贝叶斯误差??(前面的都忘了),数据量和参数个数。

3数据集:训练集,测试集,验证集。见6.8.14。

我的理解:

训练集:用于参数训练

测试集:真是场景的性能(网络的推广能力)

验证集:测试集的仿真,可以用于训练集的停止准则,防止过拟合。

第九章深入介绍验证技术或交叉验证

学习总结:

6.1-6.3较为简单,重要的概念和公式基本上都理解了。

有如下需要继续学习的地方:

信用分配,验证集(理解是否到位,实践怎么操作?),贝叶斯误差(是什么?)

时间: 2024-11-09 14:09:53

模式分类 学习笔记 第6章 多层神经网络的相关文章

【算法导论】学习笔记——第6章 堆排序

堆这个数据结构应用非常广泛,数字图像处理的算法里也见过.似乎记得以前老师上课说需要用树结构实现堆排序,看了一下算法导论才明白其精髓.堆虽然是一棵树,但显然没必要非得用树结构实现堆排序.堆排序的性质很好,算法时间复杂度为O(nlgn). 1. 堆排序的简要说明.二叉堆可以分为两种形式:最大堆和最小堆.在最大堆中,最大堆性质是指除了根以外的所有结点i都要满足: A[PARENT(i)] >= A[i]:在最小堆中,最小堆性质是指除了根以外的所有结点i都要满足: A[PARENT(i)] <= A[

java JDK8 学习笔记——第16章 整合数据库

第十六章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 1.JDBC是java联机数据库的标准规范.它定义了一组标准类与接口,标准API中的接口会有数据库厂商操作,称为JDBC驱动程序. 2.JDBC标准主要分为两个部分:JDBC应用程序开发者接口和JDBC驱动程序开发者接口.应用程序需要联机数据库,其相关API主要在java.sql和javax.sql两个包中. 3.应用程序使用JDBC联机数据库的通用语法: Connection conn = DriverManager.g

APUE学习笔记:第九章 进程关系

9.1 引言 本章将更详尽地说明进程组以及POSIX.1引入的会话的概念.还将介绍登陆shell(登录时所调用的)和所有从登陆shell启动的进程之间的关系. 9.1 终端登陆 系统管理员创建通常名为/etc/ttys的文件,其中每个终端设备都有一行,每一行说明设备名传递给getty程序的参数.当系统自举时,内核创建进程ID为1的进程,依旧是init进程.init进程使系统进入多用户状态.init进程读文件/etc/ttys,对每一个允许登陆的终端设备,init调用一次fork,所生成的子进程则

Stealth视频教程学习笔记(第二章)

Stealth视频教程学习笔记(第二章) 本文是对Unity官方视频教程Stealth的学习笔记.在此之前,本人整理了Stealth视频的英文字幕,并放到了优酷上.本文将分别对各个视频进行学习总结,提炼出其中的知识点和思路思想. 视频地址在(http://www.youku.com/playlist_show/id_23389553.html),是一个Stealth的专辑,这里只放上本章第一个视频,其它的大家在上面的链接中慢慢看吧. 第二章有一个视频是FLV格式的,我没法把字幕嵌入其中,所以优酷

Shell学习笔记——第三章

第三章 /etc/passwd 文件包含一个所有系统用户账户组成的列表,以及一些关于每个用户的基本信息. 例rich:x:501:Rich Blum:/home/rich:/bin/bash 每个条目都有7个数据字段,例使用冒号分隔.系统使用这些字段中的数据向用户分配具体的特性.这些字段分别有 用户名:用户密码(如果密码存储在其他文件中,则为占位符):用户的系统用户ID编号:用户的系统组的ID编号:用户的全名:用户默认的主目录:用户的默认Shell目录: cd 命令 略过 列表命令(ls) 参数

Stealth视频教程学习笔记(第一章)

Stealth视频教程学习笔记(第一章) 本文是对Unity官方视频教程Stealth的学习笔记.在此之前,本人整理了Stealth视频的英文字幕,并放到了优酷上.本文将分别对各个视频进行学习总结,提炼出其中的知识点和思路思想. 视频地址在(http://www.youku.com/playlist_show/id_23389553.html),是一个Stealth的专辑,这里只放上第一个视频,其它的大家在上面的链接中慢慢看吧. 第二章有一个视频是FLV格式的,我没法把字幕嵌入其中,所以优酷上就

APUE学习笔记:第一章 UNUX基础知识

1.2 UNIX体系结构 从严格意义上,可将操作系统定义为一种软件(内核),它控制计算机硬件资源,提供程序运行环境.内核的接口被称为系统调用.公用函数库构建在系统调用接口之上,应用软件即可使用公用函数库,也可使用系统调用.shell是一种特殊的应用程序,它为运行其他应用程序提供了一个接口 从广义上,操作系统包括了内核和一些其他软件,这些软件使得计算机能够发挥作用,并给予计算机以独有的特性(软件包括系统实用程序,应用软件,shell以及公用函数库等) 1.3  shell shell是一个命令行解

学习笔记:第一章——计算机网络概述

学习笔记:第一章--计算机网络概述 1.0 计算机网络的定义:一些互相连接的,自治的计算机的集合称为计算机网路. 1.1 计算机网络在信息时代中的作用:连通和共享. 1.2 因特网概述:       网络的概念:网络(network)是由若干个结点(node)和连接这些结点的链路(link)组成. 网络中的结点可以是计算机,集线器,交换机和路由器: 网络和网络是通过路由器连接: 因特网是世界上最大的网络. 1.3 因特网的组成: 从因特网的工作方式上将其分为以下两大快: (1)边缘部分:由所有的

APUE学习笔记:第二章 UNIX标准化及实现

2.2UNIX标准化 2.2.1 ISO C 国际标准化组织(International Organization for Standardization,ISO) 国际电子技术委员会(International Electrotechnical Commission,IEC) ISO C标准的意图是提供C程序的可移植性,使其能适合于大量不同的操作系统,而不只是UNIX系统.此标准不仅定义了C程序设计语言的语法和语义,还定义了其标准库.因为所有现今的UNIX系统都提供C标准中定义的库例程,所以该