1700509890
15.3.2 线性关系
1700509891
1700509892
线性关系是所有关系中最简单的一种模型,也因此成为许多人希望一开始就尝试利用的关系假说。这个关系假说就是一个多维向量x和w矩阵的内积关系与偏置b的加和的形式。
1700509893
1700509894
f(x)=wx+b
1700509895
1700509896
这个形式在本书中多次提到,我们对它已经很熟悉了。尤其在x是一维向量的时候,公式会退化成f(x)=wx+b的形式。在训练过程中,要注意观察损失函数Loss的下降情况,确认Loss已经下降到业务允许的范围内才可以使用。在使用最小二乘法作为Loss函数时,Loss函数的值就是样本点和拟合值之差的欧氏距离的平方和。
1700509897
1700509899
15.3.3 复杂的非线性关系
1700509900
1700509901
太复杂的线性和非线性回归的叠加,产生的回归模型往往会异常复杂,而且给特征的提取带来了很大的挑战。在很多新的研究领域,会把特征提取这个环节也交给计算机来做。用什么来做?用深度学习。
1700509902
1700509903
深度学习就是各种深度神经网络的组合应用。在第11章,我们已经对BP、CNN、RNN这3种网络进行了介绍。由于网络的输入层维度可以有几十万甚至上百万维,网络的深度也可以有三四十层甚至更多,所以其中容纳的线性和非线性空间解也是极为丰富的。
1700509904
1700509905
在训练过程中,可以通过梯度下降的方式寻找一个最为合适的W矩阵
1700509906
1700509907
1700509908
1700509909
1700509910
从而在没有产生过拟合的情况下使损失函数极小化。
1700509911
1700509912
不过,这里的问题也是显而易见的。即使这个模型最后产生的召回率和精确率很高,得到的W矩阵实际上也只一个纯粹的“黑盒子”——没有任何明确物理解释的模型。老实说,这种方法在“科学性”方面可能只是比较好地满足了“精确性”,而在“体系性”上让人觉得略显不足。对深度神经网络的研究,目前还有很多问题没有解决。对于纯粹以应用为导向的环境来说,只要能够提高业务水平,使用这样一个“黑盒子”或许没有人会介意,例如使用深度神经网络来做推荐系统。而反过来,如果希望在这个模型中得到业务层面的指导知识就不行了,因为这种推导不可逆,即使发生了转化率的提高,我们也无法推定是由哪个或哪些因素造成的影响。例如,卷积层上的权重w没有统计学加权平均中的权重解释,通过可视化查看卷积层的输出,就是一块一块的光斑,这就导致无法在现实中通过改进构成业务的因素来最终实现整体业务的提高(如图15-2和图15-3所示)。所以,在这种情况下,如果想要逆向理解影响因素,就需要使用统计学中的AB对照方法。
1700509913
1700509914
1700509915
1700509916
图15-2 卷积网络分类器 图15-3 卷积层可视化
1700509917
1700509918
1700509920
数据科学家养成手册 15.4 算法的哲学
1700509921
1700509922
所有有关数据建模方面的算法,套路都已经固定了(如图15-4所示)。
1700509923
1700509924
1700509925
1700509926
1700509927
图15-4 模型的构建流程
1700509928
1700509929
第1步:拿到一定量的样本数据。
1700509930
1700509931
第2步:从样本数据中拿出一定量的数据做“训练”,留下一些数据准备做验证。在训练的过程中,把误差(损失函数)Loss描述成一个与待定系数有关的凸函数,或者通过统计与概率获得结果。
1700509932
1700509933
第3步:对损失函数进行优化,使其逐步收敛到满足模型精度需求的程度。
1700509934
1700509935
第4步:使用剩余的数据来做验证(Validation),看看在第3步训练中得到的模型的召回率和精确度是否仍旧保持不变。如果保持不变,就说明这种模型的泛化性比较好;如果发现召回率和精确度不如训练集的表现好,就说明训练中产生了过拟合现象,需要进行调整。
1700509936
1700509937
第5步:这是一个可选步骤,叫作测试(Testing)。拿一些训练样本以外的数据对模型再进行一次检验,看看召回率和精确度是不是和训练集的表现一致。如果不一致,则仍需对模型进行检验(Review),以找到问题所在并加以改进。
1700509938
[
上一页 ]
[ :1.700509889e+09 ]
[
下一页 ]