简单了解什么是神经网络


Posted in Python onDecember 23, 2017

深度学习这个词指的是训练神经网络。深代表着非常大的神经网络。那么神经网络到底是什么呢?看了这篇文章后你就会有很直观的认识了。

简单了解什么是神经网络

我们从一个房价预测的例子开始吧。因为现在房价太他妈贵了,早8年前我父母说帮我在北京买个房,我觉得不能靠家里人,所以拒绝了,现在想想,我就是个傻逼,那时候买了,我现在就不用写博客了~~

简单了解什么是神经网络

据说房价都是国人自己炒的,但除了炒作,还是有些真实因素影响着房价的,通过对这些因素进行分析,我们就可以预测房价。假设你有一个数据集(六个房屋的面积和价格)。你想要找到一个方法(即构建一个函数)来通过面积预测出价格。如果你熟悉线性回归(不熟悉也没关系,你就把它看作是一个数学理论),那么可以根据这个理论在实际数据附近画出一条直线,如上图中红色的线,它附近的蓝色的小圆圈代表着六个房子的面积与房价对应的点,即根据这条线(这个函数)来找某一个面积对应的房价,那么除了些误差外,基本上是准的。另外我们知道价格永远不会是负的,除非你是黑社会,占了别人的房子还要让别人给你钱。所以,当面积为零,价格也为零,所以上面的直线要拐个弯。你可以把上面这个根据面积来预测价格的函数看作一个非常简单的神经元网络(这几乎是最简单的神经元网络)。如右边的图,黄色的圈为一个神经元,房子的大小为x,它作为输入进入这个神经元,然后神经元输出房价y。

在神经网络相关文献中,你会经常看到这个函数(上面红色的线)。这个函数在一定时间内为0,然后突然起飞飙升。它被称为线性单元函数(ReLU ,全称为rectified linear unit)。现在不懂没有关系,后面慢慢就懂了!

简单了解什么是神经网络

上面用面积预测房价的例子是一个单神经元的小得不能再小的神经网络,通过将多个这样的神经元堆叠在一起就可以形成更大的神经网络。你可以认为一个神经元就像一个积木块,你可以通过将许多这样的积木块堆叠在一起来获得一个更大的神经网络。就房价的例子来说,如上图,影响房价的因素不仅仅只有面积,还有例如卧室的数量。除了面积,卧室的数量也决定了房屋是否适合你的家庭,例如家里有3个人或5个人。另一个因素是邮政编码。邮政编码在这里代表了地理位置,地理位置繁华,那么生活会方便一些。然后还有一个因素是学校质量等级,在中国素有学区房一说。这些因素,我们也称之为特征。根据面积以及卧室的数量,可以推算是否满足家庭大小。根据邮政编码,可以估算生活便利性,包括去学校的便利性。最后学校等级可以评估教育质量。人们在买房时会考虑这四个因素,即它们决定了房价,还有他妈的炒作,这里我们暂时忽略炒作这个因素吧。所以在这个例子中,x是代表了这4个输入,y是要预测的价格。上面左图是我们人为分析的过程,我们分析出哪些输入会影响家庭大小的匹配度、生活便利性、教育质量,进而得出心中的价格。神经网络之所以神奇的一点是,我们只需要提供输入x(面积,卧室数量…)以及想要得到的结果y(房价),以及用于训练的真实数据(上面六个房子的面积,卧室数量…以及价格),那么中间部分的家庭大小匹配度、生活便利性、教育质量都会由神经网络自己根据实际数据训练而得出,如右图。当你再次输入第7个房子的特征(面积,邮编…)后,这个神经网络会根据之前训练好的中间部分给出你最终的房价。即神经网络的内部过程取代了人类的分析过程。再举一个例子,例如当我们教小孩子认识猫时,我们拿来一些白猫,告诉他这是猫,再拿来一些黑猫,告诉他这也是猫,然后拿来一些狗,告诉他这不是猫,最后拿来一些花猫,问他,他会告诉你这是猫,但是他是怎么知道的?这个中间的判断过程是怎么样的?我们不知道。这就是为什么说神经网络很恐怖的原因——它的工作原理太像人类了——我们都不知道它内部具体是如何运作的,即我们不知道它是怎么想的,就像我们不知道小孩具体是如何分辨猫和狗的。马斯克说人工智能很危险,可能会毁灭人类也不无道理。

简单了解什么是神经网络

上面所说的中间部分的神经元称为隐藏神经元。可能你注意到了,右图的神经网络中,每一个隐藏神经元都获取了所有特征输入。左图中,是我们人的分析过程,我们分析出面积和卧室数这两个特征与家庭大小有关,而在右图中,我们把所有特征都提供给每个隐藏神经元,让神经网络自己来分析哪些特征会从哪些方面影响房价。说不定神经网络的分析比人类更高效更全面,之前看到过一个新闻,Facebook的神经网络自己发明了一种沟通方式,因为它觉得用人类的语言沟通起来效率太低~~

看完这篇文章后,你应该还是对神经网络比较朦胧…… 这就对了,如果就凭一篇文章就让你懂了神经网络,那你是天才。

以上就是本文关于简单了解什么是神经网络的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:

如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

Python 相关文章推荐
python使用marshal模块序列化实例
Sep 25 Python
Python中使用PIPE操作Linux管道
Feb 04 Python
Python实现将n个点均匀地分布在球面上的方法
Mar 12 Python
用Python创建声明性迷你语言的教程
Apr 13 Python
python中virtualenvwrapper安装与使用
May 20 Python
python pandas修改列属性的方法详解
Jun 09 Python
Django MEDIA的配置及用法详解
Jul 25 Python
window环境pip切换国内源(pip安装异常缓慢的问题)
Dec 31 Python
Pytorch使用PIL和Numpy将单张图片转为Pytorch张量方式
May 25 Python
Python生成并下载文件后端代码实例
Aug 31 Python
基于Python实现体育彩票选号器功能代码实例
Sep 16 Python
Python函数式编程中itertools模块详解
Sep 15 Python
python用户管理系统的实例讲解
Dec 23 #Python
python队列通信:rabbitMQ的使用(实例讲解)
Dec 22 #Python
python3写爬取B站视频弹幕功能
Dec 22 #Python
机器学习经典算法-logistic回归代码详解
Dec 22 #Python
利用python将xml文件解析成html文件的实现方法
Dec 22 #Python
python实现数据预处理之填充缺失值的示例
Dec 22 #Python
NetworkX之Prim算法(实例讲解)
Dec 22 #Python
You might like
ThinkPHP、ZF2、Yaf、Laravel框架路由大比拼
2015/03/25 PHP
WordPress网站性能优化指南
2015/11/18 PHP
windows7配置Nginx+php+mysql的详细教程
2016/09/04 PHP
PHP实现表单提交时去除斜杠的方法
2016/12/26 PHP
PHP进程通信基础之信号量与共享内存通信
2017/02/19 PHP
jquery.validate使用攻略 第三部
2010/07/01 Javascript
JS定时刷新页面及跳转页面的方法
2013/07/04 Javascript
JQuery给元素绑定click事件多次执行的解决方法
2014/05/29 Javascript
基于豆瓣API+Angular开发的web App
2015/01/02 Javascript
Js控制滑轮左右滑动实例
2015/02/13 Javascript
JS实现鼠标点击展开或隐藏表格行的方法
2015/03/03 Javascript
jQuery实现返回顶部效果的方法
2015/05/29 Javascript
基于jQuery倾斜打开侧边栏菜单特效代码
2015/09/15 Javascript
实例讲解jquery与json的结合
2016/01/07 Javascript
Bootstrap3 内联单选和多选框
2016/12/29 Javascript
js弹出窗口简单实现代码
2017/03/22 Javascript
NodeJS加密解密及node-rsa加密解密用法详解
2018/10/12 NodeJs
如何用原生js写一个弹窗消息提醒插件
2019/05/24 Javascript
Vue-CLI与Vuex使用方法实例分析
2020/01/06 Javascript
[44:41]Fnatic vs Liquid 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
Python中矩阵库Numpy基本操作详解
2017/11/21 Python
Django admin美化插件suit使用示例
2017/12/12 Python
Python 错误和异常代码详解
2018/01/29 Python
Python 实现字符串中指定位置插入一个字符
2018/05/02 Python
详解基于python的多张不同宽高图片拼接成大图
2019/09/26 Python
python opencv根据颜色进行目标检测的方法示例
2020/01/15 Python
python实例化对象的具体方法
2020/06/17 Python
python-jwt用户认证食用教学的实现方法
2021/01/19 Python
会计毕业生自荐信
2013/11/21 职场文书
毕业生自荐书模版
2014/01/04 职场文书
愚人节活动策划方案
2014/03/11 职场文书
挂职个人工作总结
2015/03/05 职场文书
2015年财政局工作总结
2015/05/21 职场文书
Navicat for MySQL的使用教程详解
2021/05/27 MySQL
spring cloud 配置中心native配置方式
2021/09/25 Java/Android
在CSS中使用when/else的方法
2022/01/18 HTML / CSS