针对线性回归的认识
- 和大多数深度学习一样,对于线性回归这样的一种单层神经网路,它的基本要素包括模型、训练数据、损失函数和优化算法。
- 既可以用神经网络图表示线性回归,又可以用矢量计算表示该模型。
- 应该尽可能采用矢量计算,以提升计算效率。
使用线性模型来生成数据集,生成一个1000个样本的数据集。为了简单起见,这里我们假设价格只取决于房屋状况的两个因素,即面积(平方米)和房龄(年)。接下来我们希望探索价格与这两个因素的具体关系。线性回归假设输出与各个输入之间是线性关系:
price=warea⋅area+wage⋅age+b
Loss=∣y^(i)−y(i)∣2/2
课后错题
假如你正在实现一个全连接层,全连接层的输入形状是
7×8,输出形状是
7×1,其中
7是批量大小,则权重参数
w和偏置参数
b的形状分别是____和____。
正确答案:
8×1,
1×1
答案解析:设输入批量为
X∈R7×8,对应的输出为
Y∈R7×1,令权重参数为
w∈R8×1,则
Xw∈R7×1,然后我们给
Xw中的每个元素加上的偏置是一样的,所以偏置参数
b∈R1×1,基于加法的广播机制,可以完成得到输出
Y=Xw+b。参数的形状与批量大小没有关系,也正是因为如此,对同一个模型,我们可以选择不同的批量大小。
针对Softmax与分类模型的认识
softmax回归是一个单层神经网络
一个简单的图像分类问题,输入图像的高和宽均为2像素,色彩为灰度。
图像中的4像素分别记为
x1,x2,x3,x4。
假设真实标签为狗、猫或者鸡,这些标签对应的离散值为
y1,y2,y3。
我们通常使用离散的数值来表示类别,例如
y1=1,y2=2,y3=3。
o1=x1w11+x2w21+x3w31+x4w41+b1
o2=x1w12+x2w22+x3w32+x4w42+b2
o3=x1w13+x2w23+x3w33+x4w43+b3
既然分类问题需要得到离散的预测输出,一个简单的办法是将输出值
oi当作预测类别是
i的置信度,并将值最大的输出所对应的类作为预测输出,即输出
iargmaxoi。例如,如果
o1,o2,o3分别为
0.1,10,0.1,由于
o2最大,那么预测类别为2,其代表猫。
softmax运算符(softmax operator)解决了以上两个问题。它通过下式将输出值变换成值为正且和为1的概率分布:
y^1,y^2,y^3=softmax(o1,o2,o3)
其中
y^1=∑i=13exp(oi)exp(o1),y^2=∑i=13exp(oi)exp(o2),y^3=∑i=13exp(oi)exp(o3).
容易看出
y^1+y^2+y^3=1且
0≤y^1,y^2,y^3≤1,因此
y^1,y^2,y^3是一个合法的概率分布。这时候,如果
y^2=0.8,不管
y^1和
y^3的值是多少,我们都知道图像类别为猫的概率是80%。
- 交叉熵损失函数
H(y(i),y^(i))=−j=1∑qyj(i)logy^j(i),
ℓ(Θ)=n1i=1∑nH(y(i),y^(i)),
针对多层感知机的认识
表达公式
具体来说,给定一个小批量样本
X∈Rn×d,其批量大小为
n,输入个数为
d。假设多层感知机只有一个隐藏层,其中隐藏单元个数为
h。记隐藏层的输出(也称为隐藏层变量或隐藏变量)为
H,有
H∈Rn×h。因为隐藏层和输出层均是全连接层,可以设隐藏层的权重参数和偏差参数分别为
Wh∈Rd×h和
bh∈R1×h,输出层的权重和偏差参数分别为
Wo∈Rh×q和
bo∈R1×q。
我们先来看一种含单隐藏层的多层感知机的设计。其输出
O∈Rn×q的计算为
HO=XWh+bh,=HWo+bo,
也就是将隐藏层的输出直接作为输出层的输入。如果将以上两个式子联立起来,可以得到
O=(XWh+bh)Wo+bo=XWhWo+bhWo+bo.
从联立后的式子可以看出,虽然神经网络引入了隐藏层,却依然等价于一个单层神经网络:其中输出层权重参数为
WhWo,偏差参数为
bhWo+bo。不难发现,即便再添加更多的隐藏层,以上设计依然只能与仅含输出层的单层神经网络等价。
多层感知机就是含有至少一个隐藏层的由全连接层组成的神经网络,且每个隐藏层的输出通过激活函数进行变换。多层感知机的层数和各隐藏层中隐藏单元个数都是超参数。以单隐藏层为例并沿用本节之前定义的符号,多层感知机按以下方式计算输出:
HO=ϕ(XWh+bh),=HWo+bo,
其中
ϕ表示激活函数。
关于激活函数的选择
ReLu函数是一个通用的激活函数,目前在大多数情况下使用。但是,ReLU函数只能在隐藏层中使用。
用于分类器时,sigmoid函数及其组合通常效果更好。由于梯度消失问题,有时要避免使用sigmoid和tanh函数。
在神经网络层数较多的时候,最好使用ReLu函数,ReLu函数比较简单计算量少,而sigmoid和tanh函数计算量大很多。
在选择激活函数的时候可以先选用ReLu函数如果效果不理想可以尝试其他激活函数。
课后错题
对于只含有一个隐藏层的多层感知机,输入是
256×256的图片,隐藏单元个数是1000,输出类别个数是10,则模型的所有权重矩阵
Wi的元素数量之和是_______。
正确答案:65546000
答案解析:
256×256×1000+1000×10=65546000