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


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 28 Python
Python即时网络爬虫项目启动说明详解
Feb 23 Python
查看django执行的sql语句及消耗时间的两种方法
May 29 Python
python 多线程串行和并行的实例
Feb 22 Python
python tkinter基本属性详解
Sep 16 Python
django序列化serializers过程解析
Dec 14 Python
Python序列类型的打包和解包实例
Dec 21 Python
Python爬虫库requests获取响应内容、响应状态码、响应头
Jan 25 Python
基于python实现破解滑动验证码过程解析
May 28 Python
新手常见Python错误及异常解决处理方案
Jun 18 Python
Python Selenium异常处理的实例分析
Feb 28 Python
python实现简单聊天功能
Jul 07 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程序检查字符串中的中文字符个数的实例分享
2016/03/17 PHP
详解PHP数据压缩、加解密(pack, unpack)
2016/12/17 PHP
PHPUnit测试私有属性和方法功能示例
2018/06/12 PHP
Javascript的匿名函数小结
2009/12/31 Javascript
javascript 进阶篇3 Ajax 、JSON、 Prototype介绍
2012/03/14 Javascript
验证控件与Button的OnClientClick事件详细解析
2013/12/04 Javascript
如何判断元素是否为HTMLElement元素
2013/12/06 Javascript
showModalDialog模态对话框的使用详解以及浏览器兼容
2014/01/11 Javascript
jQuery实现DIV层收缩展开的方法
2015/02/27 Javascript
PHP+mysql+Highcharts生成饼状图
2015/05/04 Javascript
使用jQuery制作浮动工具栏的实例分享
2016/05/13 Javascript
用AngularJS的指令实现tabs切换效果
2016/08/31 Javascript
微信小程序之仿微信漂流瓶实例
2016/12/09 Javascript
基于JS实现bookstore静态页面的实例代码
2017/02/22 Javascript
js a标签点击事件
2017/03/30 Javascript
angular.js指令中的controller、compile与link函数的不同之处
2017/05/10 Javascript
前端构建工具之gulp的配置与搭建详解
2017/06/12 Javascript
使用JS实现导航切换时高亮显示的示例讲解
2018/08/22 Javascript
微信小程序实现动态显示和隐藏某个控件功能示例
2018/12/14 Javascript
JS多个表单数据提交下的serialize()应用实例分析
2019/08/27 Javascript
详解vue beforeEach 死循环问题解决方法
2020/02/25 Javascript
vue 解决provide和inject响应的问题
2020/11/12 Javascript
[26:24]完美副总裁、DOTA2负责人蔡玮专访:电竞如人生
2014/09/11 DOTA
Python易忽视知识点小结
2015/05/25 Python
python中实现迭代器(iterator)的方法示例
2017/01/19 Python
Python使用flask框架操作sqlite3的两种方式
2018/01/31 Python
Python3 pandas 操作列表实例详解
2019/09/23 Python
Python chardet库识别编码原理解析
2020/02/18 Python
Python新建项目自动添加介绍和utf-8编码的方法
2020/12/26 Python
PyQt实现计数器的方法示例
2021/01/18 Python
详解Django中的FBV和CBV对比分析
2021/03/01 Python
css3与html5实现响应式导航菜单(导航栏)效果分享
2014/02/12 HTML / CSS
贸易跟单员英文求职信
2014/04/19 职场文书
软件项目开发计划书
2014/05/01 职场文书
公积金具结保证书
2015/05/11 职场文书
聋哑人盗窃罪辩护词
2015/05/21 职场文书