人工神经网络

Artificial Neural Nerworks

基本术语概念:

人工神经网络(Artificial Neural Networks,ANN)

感知器(Perceptron:以一个实数值向量作为输入,计算输入的线性组合,如果结果大于某个阈值输出1,否则输出-1。

权值(weight:贡献率。

线性可分(linearly separable)

Delta法则(delta rule:LMS的一个变态,采用梯度下降。

感知器训练法则(perceptron training rule)

梯度下降(gradient descent)

反向传播算法(The Backpropagation Algorithm)

1 适合神经网络学习的问题

  • 实例使用很多"属性-值"对表示的。
  • 目标函数的输出可能是离散值。
  • 训练数据可能包含错误。
  • 可容忍长时间的训练。
  • 可能需要快速求出目标函数值。
  • 人类能否理解学到的目标函数是不重要的。

2 感知器(perceptron)

感知器:ANN系统的基础单元

其中,w是一个实数常量,叫做权值(weight)。

学习一个感知器意味着选择权w的值。

2.1 感知器的表征能力

单独的感知器可以解决线性可分(linearly separable)样例集合,例如很多布尔函数,AND,OR,但不能解决线性不可分的函数,例如异或函数XOR。

2.2 感知器训练法则

  • 感知器法则(perceptron training rule):

该法则收敛的前提是训练样例线性可分。

  • Delta法则:

    如果训练样本不是线性可分的,那么delta法则会收敛到目标概念的最佳近似。它的关键思想是使用梯度下降(gradient descent)来进行搜索。

先制定一个度量标准来衡量假设相对于训练样本的训练误差(training error)。

其中,D是训练样例集合,t是训练样例d的目标输出,o是线性单元对训练样例d的输出。

接下来要是误差最小,计算E相对w每个分量的导数。

这个向量导数被称为E对于w的梯度(gradient)。

通过求导得:

3 多层网络和反向传播算法(The Backpropagation Algorithm)

3.1 可微阈值单元(A Differentiable Threshold Unit)

这里需要的单元应该是,它的输出是输入的非线性函数,并且输出是输入的可微函数,这样我们就能表征非线性函数的网络。Sigmoid单元满足。

Sigmoid单元:

3.2 反向传播算法(The Backpropagation Algorithm)

这里描述的算法适用于包含两层sigmoid单元的分层前馈网络,它采用梯度下降方法试图最小化网络输出值和目标值之间的误差平方,来学习这个网络的权值。一些符号意义:

3.3 反向传播法则的推导

符号表示:

ML三(人工神经网络)的更多相关文章

  1. SIGAI深度学习第三集 人工神经网络2

    讲授神经网络的理论解释.实现细节包括输入与输出值的设定.网络规模.激活函数.损失函数.初始化.正则化.学习率的设定.实际应用等 大纲: 实验环节: 理论层面的解释:两个方面,1.数学角度,映射函数h( ...

  2. C#中调用Matlab人工神经网络算法实现手写数字识别

    手写数字识别实现 设计技术参数:通过由数字构成的图像,自动实现几个不同数字的识别,设计识别方法,有较高的识别率 关键字:二值化  投影  矩阵  目标定位  Matlab 手写数字图像识别简介: 手写 ...

  3. 人工神经网络(Artificial Neural Networks)

    人工神经网络的产生一定程度上受生物学的启发,因为生物的学习系统是由相互连接的神经元相互连接的神经元组成的复杂网络.而人工神经网络跟这个差不多,它是一系列简单的单元相互密集连接而成的.其中每个单元有一定 ...

  4. 人工神经网络简介和单层网络实现AND运算--AForge.NET框架的使用(五)

    原文:人工神经网络简介和单层网络实现AND运算--AForge.NET框架的使用(五) 前面4篇文章说的是模糊系统,它不同于传统的值逻辑,理论基础是模糊数学,所以有些朋友看着有点迷糊,如果有兴趣建议参 ...

  5. 人工神经网络 Artificial Neural Network

    2017-12-18 23:42:33 一.什么是深度学习 深度学习(deep neural network)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高 ...

  6. 微软“小冰”识狗与人工神经网络(I)

    2014年8月21日,微软"小冰"网络机器人推出了一项图像识别技能:"小冰识狗". "小冰"怎么会"识狗"呢? 依据微软 ...

  7. 人工神经网络--ANN

    神经网络是一门重要的机器学习技术.它是目前最为火热的研究方向--深度学习的基础.学习神经网络不仅可以让你掌握一门强大的机器学习方法,同时也可以更好地帮助你理解深度学习技术. 本文以一种简单的,循序的方 ...

  8. 人工神经网络反向传播算法(BP算法)证明推导

    为了搞明白这个没少在网上搜,但是结果不尽人意,最后找到了一篇很好很详细的证明过程,摘抄整理为 latex 如下. (原文:https://blog.csdn.net/weixin_41718085/a ...

  9. neurosolutions 人工神经网络集成开发环境 keras

    人工神经网络集成开发环境 :  http://www.neurosolutions.com/ keras:   https://github.com/fchollet/keras 文档    http ...

随机推荐

  1. Ubuntu14下Hadoop开发<1> 基础环境安装

    准备了一台淘汰的笔记本.单核CPU.3G内存.160G硬盘:准备一个2G的U盘 在官网下载了64位的14.04版本号(麒麟)的ISO.下载UNetbootin(Ubuntu专用U盘安装工具) 使用UN ...

  2. unity3d动态加载资源

    在Unity3D的网络游戏中实现资源动态加载 分类: 最新学习2012-06-14 13:35 1127人阅读 评论(0) 收藏 举报 网络游戏nullvectorjson游戏string 用Unit ...

  3. php实现等比例不失真缩放上传图片的方法

    本文实例分析了php实现等比例不失真缩放上传图片的方法.分享给大家供大家参考,具体如下: 有时上传图片时因为图片太大了,不仅占用空间,消耗流量,而且影响浏(图片的尺寸大小不一).下面分享一种等比例不失 ...

  4. ps -ef 和 aux 区别

    Linux中的ps命令是Process Status的缩写.ps命令用来列出系统中当前运行的那些进程.ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信 ...

  5. 【BZOJ2081】[Poi2010]Beads hash+调和级数

    [BZOJ2081][Poi2010]Beads Description Zxl有一次决定制造一条项链,她以非常便宜的价格买了一长条鲜艳的珊瑚珠子,她现在也有一个机器,能把这条珠子切成很多块(子串), ...

  6. 开启貌似已经过时很久的新坑:SharePoint服务器端对象模型

    5年前(嗯,是5年前),SharePoint 2010刚发布的时候,曾经和kaneboy试图一起写一本关于SharePoint 2010开发的书,名字叫<SharePoint 2010 应用开发 ...

  7. Ajax之基础总结

    一.Ajax 简介 Ajax 由 HTML.JavaScript技术.DHTML 和 DOM 组成,这一杰出的方法可以将笨拙的 Web 界面转化成交互性的 Ajax 应用程序.在详细探讨 Ajax 是 ...

  8. Java编码规范之数据对象命名

    数据对象分多种,为方便阅读并区分各数据对象的用途,习惯将数据对象分为以下几类,供参考: 持久对象 PO(persistant object)对象关系映射(ORM)概念的产物,基本上对象的成员变量对应了 ...

  9. WINDOWS的用户和用户组说明

    1.基本用户组 Administrators 属于该administators本地组内的用户,都具备系统管理员的权限,它们拥有对这台计算机最大的控制权限,可以执行整台计算机的管理任务.内置的系统管理员 ...

  10. 九度OJ 1182:统计单词 (计数)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:3920 解决:1443 题目描述: 编一个程序,读入用户输入的,以"."结尾的一行文字,统计一共有多少个单词,并分别输出 ...