一、需求预测
1. 例:现在要预测一个T恤衫是否畅销,通过四个特征值进行预测
· T恤衫价格
· T恤衫运费
· 特定T恤衫的营销量
· 材料质量
要解决这个问题,我们需要构建三类神经元:
(这三类神经元决定了人们对这个T恤衫的一系列评价)
(1)预测该T恤衫是否符合大众支付能力
(2)预测该T恤衫在人们认知中的知名度
(3)预测人们深思否认为这件T恤衫质量好
将这三个神经元的预测输出连接到右边的另一个逻辑回归神经元,该神经元通过先前三个神经元的输出值来估计该T恤衫是否是畅销的。
2. 层
以上三个神经元共同组成一个“层”,它们将相同或相似的特征作为输入,然后一并输出值,这个层也被称为“隐藏层”;
右边的一个神经元也是“层”,由于这个神经元的输出是该网络预测的最终输出概率,因此也被称之为“输出层”;
左边的四个特征值列表被称为“输入层”;
· 左边四个输入特征可写成一个特征向量x
· 该特征向量被送到中间层,然后计算三个激活值
· 这些数字和三个激活值依次变为另一个向量,送入最后一个神经元并输出最终预测值
多层隐藏层构成的神经网络:
· 如何决定神经网络隐藏层的层数以及输入输出值的设计,即神经网络的架构问题
二、图像感知
例:构建人脸识别
假设现有一个1000x1000像素的人脸图片,要构建一个神经网络来识别该图片上的人物:
(1000x1000像素在计算机中实际是1000x1000网格,也被称为像素强度值的1000x1000矩阵)
如图所示,该图片所构成的输入的数据值即是一个包含1,000,000个像素强度值的列表/向量;
神经网络构建过程:
· 输入图像—>第一个隐藏层,提取一些初级特征—>输出数据—>第二个隐藏层—>第三个……—>输出层,判断该图片的特征是否符合某个特定人物。
· 第一个隐藏层可能在寻找图像中非常短的短线或边缘;
· 再往下的隐藏层将这些短线组合,来检测某些更大的区域或部位比如眼睛;
· 再往下的隐藏层聚合面部不同的部分,来尝试检测更大、更粗糙的整个面部的形状;
· 最后,检测面部与不同面部形状的对应程度可以组建一组丰富的特征,帮助输出层尝试确定人物图片的身份。
同样的过程也可以用在汽车识别上:
三、神经网络工作原理
在第一个需求预测例子里,第一个隐藏层接受一个4个值的向量作为输入,并传入三个神经元中;
这三个神经元分别都是一个逻辑回归模型,根据输入的4个值向量各自来预测对应的概率;
· 第一个神经元有参数 ,预测值记为激活值
· 三个神经元的激活值 组成一个新向量,然后传递到神经网络的下一层
· 使用上标方括号来索引到不同的神经层
具体工作流程如下所示:
输出层又是一个逻辑函数,将之前传入的激活值作为输入值再预测一个概率,作为最终神经网络的预测概率输出:
四、更复杂的神经网络
对于一个包含许多隐藏层的神经网络,中间的每个隐藏层都会输出一个激活值 ;我们对每个隐藏层进行预测值计算时,需要注意每层模型的输入与输出,所选择的参数等。