简单了解什么是神经网络


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中利用sorted()函数排序的简单教程
Apr 27 Python
Python检测QQ在线状态的方法
May 09 Python
独特的python循环语句
Nov 20 Python
python 第三方库的安装及pip的使用详解
May 11 Python
django1.11.1 models 数据库同步方法
May 30 Python
scrapy-redis的安装部署步骤讲解
Feb 27 Python
Python之修改图片像素值的方法
Jul 03 Python
numpy ndarray 取出满足特定条件的某些行实例
Dec 05 Python
python基于TCP实现的文件下载器功能案例
Dec 10 Python
PyTorch 随机数生成占用 CPU 过高的解决方法
Jan 13 Python
Python ORM编程基础示例
Feb 02 Python
python如何实现递归转非递归
Feb 25 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
php 获得汉字拼音首字母的函数
2009/08/01 PHP
php设计模式 FlyWeight (享元模式)
2011/06/26 PHP
PHP getallheaders无法获取自定义头(headers)的问题
2016/03/23 PHP
PHP模板引擎Smarty内置变量调解器用法详解
2016/04/11 PHP
PHP处理二进制数据的实现方法
2016/06/13 PHP
几行代码轻松实现PHP文件打包下载zip
2017/03/01 PHP
PHP PDO数据库操作预处理与注意事项
2019/03/16 PHP
javascript 45种缓动效果 非常酷
2011/06/28 Javascript
利用js制作html table分页示例(js实现分页)
2014/04/25 Javascript
JQuery分屏指示器图片轮换效果实例
2015/05/21 Javascript
一个字符串中出现次数最多的字符 统计这个次数【实现代码】
2016/04/29 Javascript
JS未跨域操作iframe里的DOM
2016/06/01 Javascript
jstree创建无限分级树的方法【基于ajax动态创建子节点】
2016/10/25 Javascript
Bootstrap缩略图的创建方法
2017/03/22 Javascript
微信小程序实现多个按钮toggle功能的实例
2017/06/13 Javascript
vue登录注册及token验证实现代码
2017/12/14 Javascript
vue渲染时闪烁{{}}的问题及解决方法
2018/03/28 Javascript
vue-router重定向不刷新问题的解决
2018/06/25 Javascript
微信小程序实现底部导航
2018/11/05 Javascript
详解小程序不同页面之间通讯的解决方案
2018/11/23 Javascript
Postman无法正常返回结果问题解决
2020/08/28 Javascript
js轮播图之旋转木马效果
2020/10/13 Javascript
python中如何使用正则表达式的非贪婪模式示例
2017/10/09 Python
python循环定时中断执行某一段程序的实例
2019/06/29 Python
python3常用的数据清洗方法(小结)
2019/10/31 Python
Python自动发送和收取邮件的方法
2020/08/12 Python
python 利用toapi库自动生成api
2020/10/19 Python
高中自我鉴定范文
2013/11/03 职场文书
营销总经理的岗位职责
2013/12/15 职场文书
工商管理专业大学生职业生涯规划范文
2014/03/09 职场文书
网络管理员岗位职责
2014/03/17 职场文书
解除劳动合同协议书
2014/09/17 职场文书
2014年国庆节广播稿
2014/09/19 职场文书
大学考试作弊检讨书
2015/05/06 职场文书
完美解决golang go get私有仓库的问题
2021/05/05 Golang
NodeJs使用webpack打包项目的方法详解
2022/02/28 NodeJs