床长人工智能教程 - 神经网络是如何进行预测的?
朋友们,如需转载请标明出处:http://blog.csdn.net/jiangjunshow
上一篇文章中我们已经知道了如何将数据输入到神经网络中。那么神经网络是如何根据这些数据进行预测的呢?我们将一张图片输入到神经网络中,神经网络是如何预测这张图中是否有猫的呢??
这个预测的过程其实只是基于一个简单的公式:z = dot(w,x) + b。看到这个公式,完全不懂~不少同学可能被吓得小鸡鸡都萎缩了一截。不用怕,看完我下面的解说后,你就会觉得其实它的原理很简单。就像玻璃栈道一样,只是看起来可怕而已。
上面公式中的x代表着输入特征向量,假设只有3个特征,那么x就可以用(x1,x2,x3)来表示。如下图所示。w表示权重,它对应于每个输入特征,代表了每个特征的重要程度。b表示阈值[yù zhí],用来影响预测结果。z就是预测结果。公式中的dot()函数表示将w和x进行向量相乘。(不用怕,在后面的文章《向量化》中我会用很通俗易懂的语言来给大家介绍向量相乘有关的高等数学知识)。我们现在只需要知道上面的公式展开后就变成了z = (x1 * w1 + x2 * w2 + x3 * w3) + b。
那么神经网络到底是如何利用这个公式来进行预测的呢?下面我通过一个实例来帮助大家理解。
假设周末即将到来,你听说在你的城市将会有一个音乐节。我们要预测你是否会决定去参加。音乐节离地铁挺远,而且你女朋友想让你陪她宅在家里搞事情,但是天气预报说音乐节那天天气特别好。也就是说有3个因素会影响你的决定,这3个因素就可以看作是3个输入特征。那你到底会不会去呢?你的个人喜好——你对上面3个因素的重视程度——会影响你的决定。这3个重视程度就是3个权重。
如果你觉得地铁远近无所谓,并且已经精力衰竭不太想搞事情了,而且你很喜欢蓝天白云,那么我们将预测你会去音乐节。这个预测过程可以用我们的公式来表示。我们假设结果z大于0的话就表示会去,小于0表示不去。又设阈值b是-5。又设3个特征(x1,x2,x3)为(0,0,1),最后一个是1,它代表了好天气。又设三个权重(w1,w2,w3)是(2,2,7),最后一个是7表示你很喜欢好天气。那么就有z = (x1 * w1 + x2 * w2 + x3 * w3) + b = (0 * 2 + 0 * 2 + 1 * 7) + (-5) = 2。预测结果z是2,2大于0,所以预测你会去音乐节。
如果你最近欲火焚身,并且对其它两个因素并不在意,那么我们预测你将不会去音乐节。这同样可以用我们的公式来表示。设三个权重(w1,w2,w3)是(2,7,2),w2是7表示你有顶穿钢板的欲火。那么就有z = (x1 * w1 + x2 * w2 + x3 * w3) + b = (0 * 2 + 0 * 7 + 1 * 2) + (-5) = -3。预测结果z是-3,-3小于0,所以预测你不会去,会呆在家里搞事情。
(CSDN会定期扫黄,如果看不到图片,纯属正常)
预测图片里有没有猫也是通过上面的公式。经过训练的神经网络会得到一组与猫相关的权重。当我们把一张图片输入到神经网络中,图片数据会与这组权重以及阈值进行运算,结果大于0就是有猫,小于0就是没有猫。
你平时上网时有没有发现网页上的广告都与你之前浏览过的东西是有关联的?那是因为很多网站都会记录下你平时的浏览喜好,然后把它们作为权重套入到上面的公式来预测你会购买什么。如果你发现你朋友电脑手机上的网页里面老是出现一些情趣用品或SM道具的广告,那你朋友肯定是个性情中人。
上面那个用于预测的公式我们业界称之为逻辑回归,这个名字有点奇怪,大家记住就行了,只是个名字而已。
最后再稍微提一下激活函数。在实际的神经网络中,我们不能直接用逻辑回归。必须要在逻辑回归外面再套上一个函数。这个函数我们就称它为激活函数。激活函数非常非常重要,如果没有它,那么神经网络的智商永远高不起来。而且激活函数又分好多种。后面我会花好几篇文章来给大家介绍激活函数。在本篇文章的末尾,我只给大家简单介绍一种叫做sigmoid的激活函数。它的公式和图像如下。
我们在这里先只介绍它的一个用途——把z映射到[0,1]之间。上图中的横坐标是z,纵坐标我们用y’来表示,y’就代表了我们最终的预测结果。从图像可以看出,z越大那么y’就越靠近1,z越小那么y’就越靠近0。那为什么要把预测结果映射到[0,1]之间呢?因为这样不仅便于神经网络进行计算,也便于我们人类进行理解。例如在预测是否有猫的例子中,如果y’是0.8,就说明有80%的概率是有猫的。
激活函数就只介绍这些,后面的文章再详细介绍它。有些同学可能会不乐意,要求我多说一些,其实我也想口若悬河地扒拉扒拉说一大堆,因为把一件简单的事给说复杂了是很容易的,而要把一件复杂的事给说简单了是非常非常难的。每篇文章我都是改了又改,删了又删,目的就是让它尽可能的通俗易懂。说多了反而让你们变得晕头转向。例如其实在逻辑回归公式中,w其实应该写成w.T,因为实际运算中我们需要w的转置矩阵。你是不是有点晕头转向了~~我在教程前面的文章里通常会省略掉一些细节,因为那些细节较难,而且他们对于大家理解最重要的理论部分又没有帮助;在后面的文章,我会慢慢地把他们给介绍出来,让你们循序渐进,快乐地在不知不觉中学会人工智能这一尖端的高科技。
在本篇文章中,我们知道了神经网络是如何进行预测的。那么它又是如何判断自己是否预测正确了的呢?如果发现自己预测错误了,他又是如何从错误中进行学习,使自己越来越聪明的呢?后面的文章我将给大家揭晓!
床长人工智能教程 - 神经网络是如何进行预测的?相关推荐
- python人工智能pdf_床长人工智能教程pdf下载网校——Python爬虫实战八
. 声明:本人只是分享一些床长人工智能教程相关的免费pdf下载文档而已,并非床长人工智能网校的收费文章.尊重版权,支持原创! 更新 其实本文的初衷是为了获取淘宝的非匿名旺旺,在淘宝详情页的最下方有相关 ...
- 从小白开始的人工智能:神经网络是如何进行预测的
上一篇文章中我们已经知道了如何将数据输入到神经网络中.那么神经网络是如何根据这些数据进行预测的呢?我们将一张图片输入到神经网络中,神经网络是如何预测这张图中是否有猫的呢?? 这个预测的过程其实只是基于 ...
- 一个巨牛的人工智能教程
无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家.教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家. 床长人工智能教程
- 神经网络是如何进行预测的?
笔记来源于: 床长人工智能教程 吴恩达深度学习deeplearning.ai 上一篇文章,我们初步了解到了神经网络的原来,神经网络是怎么一回事儿,神经网络的分类以及数据是以何种形式传入神经网络,下 ...
- 人工智能教程 - 1.1.1 什么是神经网络
什么是人工智能?通俗来讲,就是让机器能像人一样思考.这个无需解释太多,因为通过各种科幻电影我们已经对人工智能很熟悉了.大家现在感兴趣的应该是--如何实现人工智能? 从1956年夏季首次提出" ...
- 人工智能教程 - 1.2.2 神经网络是如何进行预测的?
总目录(请务必点击总目录从前言看起,这样你才能充分理解本篇文章) 上一篇文章中我们已经知道了如何将数据输入到神经网络中.那么神经网络是如何根据这些数据进行预测的呢?我们将一张图片输入到神经网络中,神经 ...
- 【转】人工智能-1.2.2 神经网络是如何进行预测的
上一篇文章中我们已经知道了如何将数据输入到神经网络中.那么神经网络是如何根据这些数据进行预测的呢?我们将一张图片输入到神经网络中,神经网络是如何预测这张图中是否有猫的呢?? 这个预测的过程其实只是基于 ...
- [Python人工智能] 六.神经网络的评价指标、特征标准化和特征选择
从本系列文章开始,作者正式开始研究Python深度学习.神经网络及人工智能相关知识.前五篇文章讲解了神经网络基础概念.Theano库的安装过程及基础用法.theano实现回归神经网络.theano实现 ...
- 2019年上半年收集到的人工智能卷积神经网络干货文章
2019年上半年收集到的人工智能卷积神经网络干货文章 了解CNN这一篇就够了--关于卷积神经网络的介绍 关于卷积的6个基本知识 一文读懂深度学习中的各种卷积 CNN卷积神经网络的三种基本模式(不懂的话 ...
最新文章
- C++关键字static
- python extractall函数_Pandas从str.extractall('#')中给出错误
- 【鸿蒙 HarmonyOS】UI 组件 ( 进度条 ProgressBar 和 RoundProgressBar 组件 )
- SQLite学习(三) - SQLite源代码文件结构
- Eclipse分栏显示同一个代码文件的设置
- 全球及中国散热市场投资需求与运营格局现状分析报告2022年
- SAP UI5 Dialog wrong location
- MySQL——binlog,redo log
- 双非计算机专业考研西安交通大学,2020双非一战计算机专硕初试403经验贴
- 2021年 CentOS 快速安装 最新版Nginx
- Java中七个潜在的内存泄露风险,你知道几个?
- string类用法Java_Java中String类的用法
- Go语言中的面向对象
- c语言 数据结构面试题及答案,数据结构c语言版试题大全(含答案).docx
- 【学习随记】Word域代码相关
- wpa_supplicant 的使用
- raid硬盘速度测试软件,RAID 0模式下固态硬盘性能测试
- Python(arcpy) 批量shp转raster
- oracle 亿级数据存储方案
- PhysX3.4文档(3) --Geometry
热门文章
- 系统集成资质取消后 ,偷偷崛起的ICSCE资质(信息化能力和信用评价资质)
- virtualbox E_INVALIDARG (0x80070057) 和 E_FAIL (0x80004005) SessionMachine
- 怎样输入字符型数据技巧
- 分享一次联想笔记本的售后体验
- 华为Nova 4 HL1VCEM (VCE-L22/VCE-AL00)手机图纸电路原理图+主板高清图片
- Hive的Parquet存储与LZO压缩
- Java选择题(四)
- TikTok独立站推广教程
- struct timeval用法与时间溢出问题
- TFT屏的驱动ST7735S使用实例