神经网络相关之基础概念的讲解


Posted in Python onDecember 29, 2018

人工神经网络需要一定的数学基础,但是一般来说比较简单,简单的高数基础即可,这里整理了一些所需要的最基础的概念的理解,对于神经网络的入门,非常基础和重要,而且理解了之后,会发现介绍不需要在看,磨刀不误砍柴工,强烈建议理解清楚之后在去使用诸如tensorflow这样的利器。

自变量/因变量/函数

因为E文文档的阅读时不可避免的接触这些内容,一般将英文也列出来,尽量记住,阅读时会大大提高速度。

神经网络相关之基础概念的讲解

导数

作为高数最为基础的导数概念,这里不在赘述,简单烈一下内容能够大体理解即可, 借用一张图形来进行解释: 

神经网络相关之基础概念的讲解

神经网络相关之基础概念的讲解

基本概念

导数/偏导数/方向导数/梯度,这四个概念无比重要,无比理解,简单整理如下,比如在理解BP算法有所困难时请以此四概念为中心重新学习相关部分高数内容。

神经网络相关之基础概念的讲解

为何线性分类模型无法处理异或问题

异或是计算机中非常简单的操作,而诸如感知机这样的线性模型则无法解决异或问题的分类。严格的证明可以参看Minsky的文章。

简单地来看,根据结果进行分类,可以分为两类(0/1),但是如果显示在一个平面上,你会发现无法找到一条直线将这两类结果直接分开,所以可以直观地看出是线性分类模型连异或这种简单的分类都无法解决。

而这个悲伤的观点,早在1969年Minsky就曾经在著名的Perceptron中已经被详细地证明了,从而带来了后来人工智能长达10年左右的冰冻期。这个问题并非无解,使用两层的感知机即可解决这种问题,但是Minsky认为,这将会带来巨大的计算量而且没有有效的学习算法,直到诸如BP等算法的出现。1986年,Rumelhart,Geoffrey Hinton和Ronald Williams所发表的Learning representations by back-propagating errors一文中引入了BP算法到神经网络模型之中,通过在神经网络中添加隐含层,同时将误差进行反向传播,将纠错的运算量下降到仅和神经元数目成正比的程度,解决了感知机的异或分类问题,同时为多层感知机的模型提供了学习算法。

回归分析

在算法的入门时会学习使用线性回归和逻辑回归等,所以需要对回归分析有一定的了解。回归分析研究的是因变量和自变量之间的关系,在预测模型中被广泛地应用。自变量的个数/因变量的类型/回归线的形状都是需要考虑的,常见的回归分析方式如下:

  • Linear Regression:线性回归
  • Logistic Regression:逻辑回归
  • Polynomial Regression:多项式回归
  • Lasso Regression:套索回归
  • ElasticNet Regression:ElasticNet回归

详细可参看:

https://www.analyticsvidhya.com/blog/2015/08/comprehensive-guide-regression/

小结

时至今日,1986年所提出的应用与多层神经网络的误差反向传播的BP算法仍在活跃,虽然人工智能非常火热,但是冷饭热炒的嫌疑仍然存在。在1969年Minsky先生随手提出的线性感知机模型无法解决异或分类以及多层模型所需要的巨大计算量的问题在将近五十年的时间才有了一点突破。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。如果你想了解更多相关内容请查看下面相关链接

Python 相关文章推荐
python中类的一些方法分析
Sep 25 Python
python类继承用法实例分析
May 27 Python
Python读写Json涉及到中文的处理方法
Sep 12 Python
使用python采集脚本之家电子书资源并自动下载到本地的实例脚本
Oct 23 Python
总结python中pass的作用
Feb 27 Python
Python闭包和装饰器用法实例详解
May 22 Python
Django的用户模块与权限系统的示例代码
Jul 24 Python
pytorch中nn.Conv1d的用法详解
Dec 31 Python
解决pyecharts运行后产生的html文件用浏览器打开空白
Mar 11 Python
Python描述符descriptor使用原理解析
Mar 21 Python
Pytorch自定义Dataset和DataLoader去除不存在和空数据的操作
Mar 03 Python
python3 hdf5文件 遍历代码
May 19 Python
Python实现的KMeans聚类算法实例分析
Dec 29 #Python
Python使用pyshp库读取shapefile信息的方法
Dec 29 #Python
Python实现的线性回归算法示例【附csv文件下载】
Dec 29 #Python
Python 确定多项式拟合/回归的阶数实例
Dec 29 #Python
Python 普通最小二乘法(OLS)进行多项式拟合的方法
Dec 29 #Python
Python实现高斯函数的三维显示方法
Dec 29 #Python
Python3 SSH远程连接服务器的方法示例
Dec 29 #Python
You might like
php中使用array_filter()函数过滤空数组的实现代码
2014/08/19 PHP
php检测url是否存在的方法
2015/04/14 PHP
优化WordPress的Google字体以加速国内服务器上的运行
2015/11/24 PHP
JAVASCRIPT IE 与 FF中兼容问题小结
2009/02/18 Javascript
如何获取select下拉框的值(option没有及有value属性)
2013/11/08 Javascript
node.js中的console.timeEnd方法使用说明
2014/12/09 Javascript
jQuery中ready事件用法实例
2015/01/19 Javascript
js动态切换图片的方法
2015/01/20 Javascript
JavaScript+CSS实现仿天猫侧边网页菜单效果
2015/08/25 Javascript
jqGrid中文文档之选项设置
2015/12/02 Javascript
JavaScript中的this机制
2016/01/30 Javascript
easyui validatebox验证
2016/04/29 Javascript
js判断数组key是否存在(不用循环)的简单实例
2016/08/03 Javascript
浅谈jquery中next与siblings的区别
2016/10/27 Javascript
js图片延迟加载(Lazyload)三种实现方式
2017/03/01 Javascript
Vue 2中ref属性的使用方法及注意事项
2017/06/12 Javascript
vue引入新版 vue-awesome-swiper插件填坑问题
2018/01/25 Javascript
JavaScript实现拖拽盒子效果
2020/02/06 Javascript
基于js实现逐步显示文字输出代码实例
2020/04/02 Javascript
JavaScript设计模式之观察者模式与发布订阅模式详解
2020/05/07 Javascript
VUE和Antv G6实现在线拓扑图编辑操作
2020/10/28 Javascript
[01:03:27]NAVI vs EG 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
Python分治法定义与应用实例详解
2017/07/28 Python
使用Python & Flask 实现RESTful Web API的实例
2017/09/19 Python
Django实现简单分页功能的方法详解
2017/12/05 Python
对numpy的array和python中自带的list之间相互转化详解
2018/04/13 Python
python实现鸢尾花三种聚类算法(K-means,AGNES,DBScan)
2019/06/27 Python
pytorch 实现打印模型的参数值
2019/12/30 Python
浅谈python之自动化运维(Paramiko)
2020/01/31 Python
python json.dumps中文乱码问题解决
2020/04/01 Python
Set里的元素是不能重复的,那么用什么方法来区分重复与否呢?
2016/08/18 面试题
环境建设实施方案
2014/03/14 职场文书
2014年教师节寄语
2014/08/11 职场文书
软弱涣散基层党组织整改方案
2014/10/25 职场文书
导游词之河北野三坡
2019/12/11 职场文书
淡雅古典唯美少女娇媚宁静迷人写真
2022/03/21 杂记