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


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中的is和id用法分析
Jan 26 Python
Python类的用法实例浅析
May 27 Python
使用Python操作MySQL的一些基本方法
Aug 16 Python
解决python2.7 查询mysql时出现中文乱码
Oct 09 Python
python实现简易版计算器
Jun 22 Python
python实现字符串中字符分类及个数统计
Sep 28 Python
在Python中表示一个对象的方法
Jun 25 Python
python 列表推导式使用详解
Aug 29 Python
logging level级别介绍
Feb 21 Python
keras.layer.input()用法说明
Jun 16 Python
解决python 执行shell命令无法获取返回值的问题
Dec 05 Python
Python爬虫基础之简单说一下scrapy的框架结构
Jun 26 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
BBS(php & mysql)完整版(五)
2006/10/09 PHP
PHP安全配置详细说明
2011/09/26 PHP
使用php判断服务器是否支持Gzip压缩功能
2013/09/24 PHP
PHP 验证码不显示只有一个小红叉的解决方法
2013/09/30 PHP
PHP实现UTF-8文件BOM自动检测与移除实例
2014/11/05 PHP
php网站被挂木马后的修复方法总结
2014/11/06 PHP
thinkphp 抓取网站的内容并且保存到本地的实例详解
2017/08/25 PHP
js 提交和设置表单的值
2008/12/19 Javascript
poshytip 基于jquery的 插件 主要用于显示微博人的图像和鼠标提示等
2012/10/12 Javascript
使用jquery动态加载javascript以减少服务器压力
2012/10/29 Javascript
js单向链表的具体实现实例
2013/06/21 Javascript
javascript刷新父页面的各种方法汇总
2014/09/03 Javascript
初识NodeJS服务端开发入门(Express+MySQL)
2017/04/07 NodeJs
简单的React SSR服务器渲染实现
2018/12/11 Javascript
jQuery+vue.js实现的多选下拉列表功能示例
2019/01/15 jQuery
vue3.0中使用postcss-pxtorem的具体方法
2019/11/20 Javascript
vue远程加载sfc组件思路详解
2019/12/25 Javascript
JavaScript中的类型检查
2020/02/03 Javascript
js函数柯里化的方法和作用实例分析
2020/04/11 Javascript
解决vue项目运行提示Warnings while compiling.警告的问题
2020/09/18 Javascript
Vue+Bootstrap收藏(点赞)功能逻辑与具体实现
2020/10/22 Javascript
[04:49]2014DOTA2国际邀请赛 Newbee顺利挺进总决赛 ImbaTV独家专访
2014/07/19 DOTA
Python入门_浅谈for循环、while循环
2017/05/16 Python
对Python3.6 IDLE常用快捷键介绍
2018/07/16 Python
Python并发之多进程的方法实例代码
2018/08/15 Python
Python 统计位数为偶数的数字代码详解
2020/03/15 Python
python和php哪个更适合写爬虫
2020/06/22 Python
CSS3——齿轮转动关键代码
2013/05/02 HTML / CSS
Ray-Ban雷朋美国官网:全球领先的太阳眼镜品牌
2016/07/20 全球购物
职业生涯规划书基本格式
2014/01/06 职场文书
中专自我鉴定
2014/02/05 职场文书
雷锋观后感
2015/06/10 职场文书
《秦兵马俑》教学反思
2016/02/24 职场文书
如何使用flask将模型部署为服务
2021/05/13 Python
苹果M1芯片安装nginx 并且部署vue项目步骤详解
2021/11/20 Servers
Java 获取Word中所有的插入和删除修订的方法
2022/04/06 Java/Android