作为一名分析师,了解技术的实际工作原理至关重要。虽然不需要详细了解推导过程,但了解算法的框架对于多个目的非常有用:首先,它帮助理解数据集在垂直或水平方向上的增加或减少对计算时间的影响;其次,它帮助理解模型最适合的情况或案例;最后,它也帮助解释为什么某些模型在特定环境或情况下表现更好。本文将为提供人工神经网络(ANN)框架的基本理解。不会深入实际推导,但提供的信息足以让欣赏并实施算法。文章结束时,还将分享对上述三个基本目的的理解。
将从理解一个简单隐藏层神经网络的构建开始。一个简单的神经网络可以如下所示图表示:节点之间的连接是ANN中最关键之处。将在讨论框架后讨论“如何找到每个连接的权重”。在上述图中,唯一已知的值是输入值。让将输入称为I1、I2和I3,隐藏状态为H1、H2、H3和H4,输出为O1和O2。连接的权重可以用以下符号表示:W(I1H1)是I1和H1节点之间连接的权重。
人工神经网络(ANN)中的每个连接计算都是相似的。通常,假设输入变量与隐藏节点的激活率之间,或者隐藏节点与输出节点的激活率之间存在Sigmoid关系。让准备一个方程来找到H1的激活率。Logit(H1) = W(I1H1) * I1 + W(I2H1) * I2 + W(I3H1) * I3 + 常数 = f => P(H1) = 1/(1+e^(-f))。这就是Sigmoid关系的样子。
权重的重新校准是一个简单但漫长的过程。唯一知道错误率的节点是输出节点。隐藏节点与输出节点之间连接的权重重新校准是输出节点错误率的函数。但如何找到隐藏节点的错误率呢?可以统计证明:Error @ H1 = W(H1O1)*Error@O1 + W(H1O2)*Error@O2。使用这些错误,可以以类似的方式重新校准隐藏节点与输入节点之间的连接权重。想象一下,这个计算对于训练集中的每个观测值都要进行多次。
算法消耗的时间与数据量之间的关系是什么(与传统模型如逻辑回归相比)?如上所述,对于每个观测值,ANN对每个连接权重进行多次重新校准。因此,算法所需的时间比其他传统算法对于相同数据量增加的增长速度要快得多。
算法最适合的情况是什么?人工神经网络(ANN)很少用于预测建模。原因是ANN通常试图过度拟合关系。ANN通常用于过去发生的事情几乎以相同的方式重复发生的情况。例如,假设正在与计算机玩二十一点游戏。基于ANN的智能对手在这种情况下会是一个非常好的对手(假设他们能够管理计算时间)。随着时间的推移,ANN将为所有可能的牌流训练自己。鉴于不是与发牌员一起洗牌,ANN将能够记住每一个电话。因此,它是一种具有巨大记忆的机器学习技术。但它在评分人群与训练样本显著不同的案例中效果不佳。例如,如果计划使用ANN根据他们过去的响应来定位客户进行活动。可能使用错误的技术,因为它可能过度拟合了响应与其他预测因子之间的关系。