机器学习—需求预测
我们将使用需求预测中的一个例子,在这种情况下,你看着产品,试图预测这种产品会不会畅销?
假设你在卖T恤,你想知道一件特定的T恤是否会畅销,所以收集了不同T恤的数据,这些T恤以不同的价格出售以及哪些成为最畅销的,这种类型的应用程序现在被零售商使用,为了计划更好的库存水平和营销活动,如果你知道什么可能是最畅销的,你会计划,例如,提前购买很多的股票,所以在这个例子中,输入特征X是T恤的价格,这就是学习算法的输入,如果你用逻辑回归来拟合Z状结肠函数,可能看起来像这样的数据,那么预测的结果如下图所示,我们把它写成f(x)作为学习算法的输出,为了建立一个神经网络,需要稍微改变一下术语,并使用a表示这个Logistic回归算法的输出,术语a代表激活,它实际上是神经科学的一个术语,它指的是一个神经元发送了多少,即对下游其他神经元的高输出,事实证明,这个逻辑回归单元或这个小的逻辑回归算法可以被认为是大脑中单个神经元的一个非常简化的模型,神经元的作用是把价格X作为输入,然后它在上边计算这个公式,它输出数字B,通过这个公式计算的,它输出了这件T恤最畅销的概率。另一种理解神经元的方法是把它看作一台微型计算机,唯一的工作就是输入一个或几个数字,比如价格,然后输出一个数字或者其他几个数字,在这种情况下,这件T恤很可能是最畅销的,就像之前的文章里写道那样,Logistic回归算法要简单得多,比你大脑或意识中的任何生物神经元。一个过于简化的人脑模型,即使在实践中,深度学习算法确实工作的很好,给出单个神经元的描述,现在建立一个神经网络只需要取一堆这样的神经元,把它们连接在一起。

现在看一个更复杂的需求预测示例,在本例中,我们将有四个特征来预测,一件T恤是否畅销,特征是:T恤的价格,运费,那件T恤的营销量,材料质量。你可能会怀疑一件T恤是否会成为畅销书,实际上取决于几个因素。首先,T恤的价格是多少,第二,潜在偏见对这件T恤的意识程度如何,第三是感知质量对偏见或潜在偏见。所以我要做的是创造一个人工神经元,试图估计这件T恤被认为是非常实惠的可能性,可负担性主要是价格和运输成本的函数,因为你要付的钱价格加上运费总和,所以这里用一点神经元投入价格和运输成本的Logistic回归单元及其预测。创造另一个人工神经元来估计,在这种情况下,意识主要是T恤营销的一个功能,最终创造出另一个神经元,对人们来说这是高质量的,这可能主要是T恤价格的函数以及材料质量,因为不管是幸运还是不幸,如果有很贵的T恤,人们有时会认为这是高质量的,因为它很贵,然后也许人们认为它必须是高质量的,考虑到这些对负担能力的估计意识和感知质量。然后将这三个神经元的输出连接到另一个神经元,在右边这里,这是另一个逻辑回归单元,最后输入这三个数字,并输出这件T恤成为畅销的概率,所以用神经网络的术语来说,我们要把这三个神经元合在一起形成一层,一层是一组神经元,以相同或相似的特征作为输入,反过来又输出几个数字在一起,所以左边的这三个神经元形成了一层,右边的单个神经元也是一层,左边那层有三个神经元或者它也可以有一个神经元,就像右边这一层的情况一样,右边的这一层也叫输出层,因为最后一个神经元的输出是神经网络预测的输出概率。神经网络的术语我们也将称之为可负担性,意识和感知质量是激活,激活这个术语来自生物神经元,它指的是生物神经元发送高输出值的程度,或者向下游的其他神经元发送许多电脉冲,所以这些关于负担能力的数字,意识和感知质量是这一层这三个神经元的激活,这个输出概率就是右边这个神经元的激活,因此,这个特殊的神经网络进行如下计算,它输入四个数字,神经网络的这一层使用这四个数字来计算三个新的数字,也称为激活值。最后一层,神经网络的输出层,使用这三个数字在神经网络中计算一个数字,这个由四个数字组成的列表也称为输入层,那只是四个数字的列表,对这个神经网络做一个简化,我们必须一次一个地检查神经元,并决定它将从上一层获得什么输入。例如,我们说过,负担能力是价格和运输成本的函数,意识是营销的功能,等等。但如果你在建立一个大型神经网络,会有很多工作要做,手动决定哪些神经元应该接受哪些特征作为输入,神经网络的实现方式,在实践中,在某一层的每个神经元,假设中间的这一层可以访问每一个特征到每一个值,从上一层从输入层,这就是为什么我现在从每个输入功能中绘制箭头,中间显示的每一个神经元。你可以想象,如果你试图预测负担能力,它知道代价是什么,运费、营销和材料。也许你会学会忽略营销材料通过适当的设置参数来解决,只关注与负担能力最相关的功能子集,进一步简化该神经网络的符号和描述,我将把这四个输入特征写成变量,我们将把神经网络看作有四个特征,包含这个特征向量X,这个特征向量被馈送到中间的这一层,然后计算三个激活值,而这三个激活值又变成了另一个矢量,它被馈送到最后的输出层,最后输出这件T恤畅销的概率,这就是神经网络的全部,它有几层,其中每一层输入一个向量并输出另一个数字向量,例如,中间这一层输入四个数字X,输出三个数字与负担能力相对应,意识和感知质量添加更多的术语,右边的这一层被称为输出层,左边的这一层叫做输入层,中间的一层叫做隐层,这个术语来自于当你在训练集中有一个训练集时,你可以同时观察X和Y,你的数据告诉你什么是X,什么是Y,所以你得到的数据告诉你,什么是正确的输入和正确的输出,但是你的数据集并没有告诉你什么是正确的负担能力值,意识和感知质量,所以它们的正确值是隐藏的,你在训练场上看不到他们,这就是为什么中间的这一层被称为隐层。

关于神经网络的另一种思考方式,把左半部分隐藏起来,看看还剩什么,你在这里看到的是有一个Logistic回归算法或者作为输入的逻辑回归单元,负担能力,T恤的感知和感知质量,并利用这三个特征来估计T恤成为畅销产品的概率,所以这只是逻辑回归。它没有使用原始的功能,价格,航运,市场营销等,是用一种新的也许更好的功能集,负担能力,意识,而追求品质的都是希望预测这件T恤是否会畅销,所以考虑这个神经网络的一种方法是逻辑回归,但它是逻辑回归的一个版本,可以学习自己的特征,这使得做出准确的预测变得更加容易。

神经网络的作用是不需要手动设计它可以学习的功能,正如你稍后所看到的,它自己的特性使学习问题本身更容易,所以说,这就是神经网络当今世界最强大的学习算法之一。
所以总结一下神经网络是这样做的,输入层有一个由四个数字组成的特征向量,在本例中,它是隐藏层的输入,隐藏层输出三个数字,我将用一个矢量a来表示,这个隐藏层输出的激活变量,然后输出层将这三个数字作为输入,输出一个数字,这将是神经网络的最终激活或最终预测一个音符,神经网络的一个很好的特性是当你从数据训练它时,不需要进入来明确地决定哪些是特性,相反,它自己会弄清楚,他想在这个隐藏层中使用哪些功能。
看一个具有多个隐藏层的示例,这个神经网络有一个输入特征向量X,它被馈送到一个隐藏层,把它叫做第一个隐藏层,所以如果这个隐藏层中有三个神经元,然后它将输出三个激活值的向量,然后可以将这三个数字输入到第二个隐藏层,如果第二层有两个神经元,然后第二个隐藏层将输出另一个向量,现在有两个激活值,他可能会进入输出层,然后输出神经网络的最终预测。

当你建立自己的神经网络时,你需要做的一个决定是你想要多少隐藏层,你希望每个隐藏层有多少个神经元还有隐藏了多少层的问题,每层隐藏多少神经元,是一个关于神经网络结构的问题。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)