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


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 相关文章推荐
教你如何在Django 1.6中正确使用 Signal
Jun 22 Python
python装饰器decorator介绍
Nov 21 Python
一键搞定python连接mysql驱动有关问题(windows版本)
Apr 23 Python
python subprocess 杀掉全部派生的子进程方法
Jan 16 Python
利用python写个下载teahour音频的小脚本
May 08 Python
放弃 Python 转向 Go语言有人给出了 9 大理由
Oct 20 Python
numpy中的ndarray方法和属性详解
May 27 Python
python数据处理之如何选取csv文件中某几行的数据
Sep 02 Python
python3实现elasticsearch批量更新数据
Dec 03 Python
pytorch程序异常后删除占用的显存操作
Jan 13 Python
详解python itertools功能
Feb 07 Python
Python连接Postgres/Mysql/Mongo数据库基本操作大全
Jun 29 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判断搜索引擎蜘蛛并自动记忆到文件的代码
2012/02/04 PHP
PHP、Java des加密解密实例
2015/04/27 PHP
laravel开发环境homestead搭建过程详解
2020/07/03 PHP
javascript下function声明一些小结
2007/12/28 Javascript
为JavaScript类型增加方法的实现代码(增加功能)
2011/12/29 Javascript
jquery实现多行文字图片滚动效果示例代码
2014/10/10 Javascript
深入分析jquery解析json数据
2014/12/09 Javascript
Angularjs注入拦截器实现Loading效果
2015/12/28 Javascript
javascript时间差插件分享
2016/07/18 Javascript
关于RequireJS的简单介绍即使用方法
2016/10/20 Javascript
老生常谈ES6中的类
2017/07/31 Javascript
信息滚动效果的实例讲解
2017/09/18 Javascript
javascript基于牛顿迭代法实现求浮点数的平方根【递归原理】
2017/09/28 Javascript
JavaScript解析机制与闭包原理实例详解
2019/03/08 Javascript
[02:53]DOTA2英雄基础教程 山岭巨人小小
2013/12/09 DOTA
Python自动发邮件脚本
2017/03/31 Python
python使用matplotlib绘图时图例显示问题的解决
2017/04/27 Python
pygame实现弹力球及其变速效果
2017/07/03 Python
几种实用的pythonic语法实例代码
2018/02/24 Python
Python 虚拟空间的使用代码详解
2019/06/10 Python
Django使用 Bootstrap 样式修改书籍列表过程解析
2019/08/09 Python
django+tornado实现实时查看远程日志的方法
2019/08/12 Python
Python操作列表常用方法实例小结【创建、遍历、统计、切片等】
2019/10/25 Python
Python 时间戳之获取整点凌晨时间戳的操作方法
2020/01/28 Python
使用python修改文件并立即写回到原始位置操作(inplace读写)
2020/06/28 Python
澳大利亚儿童和婴儿产品在线商店:Lime Tree Kids
2017/10/05 全球购物
你所知道的集合类都有哪些?主要方法?
2012/12/31 面试题
TCP/IP模型的分界线
2012/12/01 面试题
大学生毕业求职简历的自我评价
2013/10/24 职场文书
积极贯彻学习两会精神总结
2014/03/17 职场文书
终止合同协议书
2014/04/17 职场文书
餐厅周年庆活动方案
2014/08/25 职场文书
婚内分居协议书范文
2014/11/26 职场文书
一篇文章告诉你如何实现Vue前端分页和后端分页
2022/02/18 Vue.js
十大最强电系宝可梦,阿尔宙斯电系之一,第七被称为雷神
2022/03/18 日漫
mysql使用 not int 子查询隐含陷阱
2022/04/12 MySQL