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


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从入门到精通(DAY 1)
Dec 20 Python
python实现简单socket通信的方法
Apr 19 Python
利用Hyperic调用Python实现进程守护
Jan 02 Python
修复 Django migration 时遇到的问题解决
Jun 14 Python
Python+OpenCV采集本地摄像头的视频
Apr 25 Python
selenium跳过webdriver检测并模拟登录淘宝
Jun 12 Python
python twilio模块实现发送手机短信功能
Aug 02 Python
python 公共方法汇总解析
Sep 16 Python
基于Python实现人脸自动戴口罩系统
Feb 06 Python
Pytorch框架实现mnist手写库识别(与tensorflow对比)
Jul 20 Python
在python中实现导入一个需要传参的模块
May 12 Python
Python中递归以及递归遍历目录详解
Oct 24 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 深入理解strtotime函数的使用详解
2013/05/23 PHP
PHP实现简易blog的制作
2016/10/24 PHP
php 后端实现JWT认证方法示例
2018/09/04 PHP
PHP中strtr与str_replace函数运行性能简单测试示例
2019/06/22 PHP
php 实现简单的登录功能示例【基于thinkPHP框架】
2019/12/02 PHP
dojo 之基础篇(三)之向服务器发送数据
2007/03/24 Javascript
Div自动滚动到末尾的代码
2008/10/26 Javascript
Jquery操作Select 简单方便 一个js插件搞定
2009/11/12 Javascript
JavaScript CSS修改学习第一章 查找位置
2010/02/19 Javascript
在JavaScript中获取请求的URL参数
2010/12/22 Javascript
动态创建script在IE中缓存js文件时导致编码的解决方法
2014/05/04 Javascript
js操作iframe父子窗体示例
2014/05/22 Javascript
node.js+Ajax实现获取HTTP服务器返回数据
2014/11/26 Javascript
jQuery+PHP打造滑动开关效果
2014/12/16 Javascript
情人节单身的我是如何在敲完代码之后收到12束玫瑰的(javascript)
2015/08/21 Javascript
AngularJS 让人爱不释手的八种功能
2016/03/23 Javascript
深入理解setTimeout函数和setInterval函数
2016/05/20 Javascript
canvas学习之API整理笔记(二)
2016/12/29 Javascript
JavaScript实现前端实时搜索功能
2020/03/26 Javascript
JS时间控制实现动态效果的实例讲解
2017/07/31 Javascript
Angular实现图片裁剪工具ngImgCrop实践
2017/08/17 Javascript
javascript将url解析为json格式的两种方法
2017/08/18 Javascript
JavaScript创建对象的四种常用模式实例分析
2019/01/11 Javascript
Fetch超时设置与终止请求详解
2019/05/18 Javascript
NestJs使用Mongoose对MongoDB操作的方法
2021/02/22 Javascript
Django 忘记管理员或忘记管理员密码 重设登录密码的方法
2018/05/30 Python
pytorch AvgPool2d函数使用详解
2020/01/03 Python
pycharm下配置pyqt5的教程(anaconda虚拟环境下+tensorflow)
2020/03/25 Python
施华洛世奇匈牙利官网:SWAROVSKI匈牙利
2019/07/06 全球购物
哪些情况下不应该使用索引
2015/07/20 面试题
工商管理本科毕业生求职信范文
2013/10/05 职场文书
入党积极分子学习两会心得体会范文
2014/03/17 职场文书
机关作风建设自查报告
2014/10/22 职场文书
材料员岗位职责
2015/02/10 职场文书
春季运动会加油词
2015/07/18 职场文书
golang 实现两个结构体复制字段
2021/04/28 Golang