全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 数据分析与数据挖掘
748 0
2020-11-30
人工神经网络
神经网络是机器学习领域中的一种方法。该领域旨在建立预测模型,以通过将灵活的系统暴露于大量数据来帮助解决复杂的任务。然后允许系统自己学习如何最好地形成其预测。
下面显示了此类问题的一个示例,其中一个神经网络负责根据二维空间中各个点的位置来预测它们的颜色。
从上图可以看出,神经网络由三部分组成:输入,数据特征;网络,神经元层;和输出,即训练模型的预测。另外,需要一种训练网络的方法,以使其预测有用。
神经网络的基本组成部分是神经元。很简单,这将数学函数应用于输入并将结果传递给其他神经元。每个输入到神经元的权重,这些权重是自由参数,需要在训练过程中进行调整。数学函数称为激活函数。在ML领域内,有几种常用的激活函数选择(稍后将详细介绍),但是原则上任何可连续微分的东西都是适用的。一个(著名的)乙状结肠功能可能是一个例子:
这样,网络便是多层神经元堆叠在一起并连接起来的。一层的输出用作下一层的输入。通过将各层堆叠在一起,基本激活函数可用于形成更复杂的数学函数。目的是能够构建一个将输入映射到所需输出的函数,如上图所示,其中输出只是两个输入的复数函数。
由于每个神经元的激活功能(通常)是相同的,因此必须通过调整每个神经元应用于其输入的权重来构建此复杂功能。一种执行此方法的方法可能是测试权重的随机设置,但这对于除小型网络以外的任何其他方法都不太有效。相反,我们采用某种方式来智能地训练网络。为此,我们首先需要能够量化网络的性能。
我们称其为损失函数。本质上,它衡量的是网络对一组训练数据的预测与输出应该是什么(真实值)之间的差异。常见的选择是均方误差:
这将获取每个数据点的预测值和真实值之间的平方差的一组数据的平均值。还有其他几种定义损失函数的方法,使用哪种选择取决于要解决的问题的类型。例如,在分类问题中,使用交叉熵通常会提供更好的结果。
现在,我们有了一种量化网络当前性能的方法,对其进行培训就成为使损失函数最小化的优化问题。函数优化领域非常先进,其模拟退火和遗传算法等方法能够找到黑盒函数的全局最小值。但是,由于大量的自由参数(可能在区域O(10?)-O(10?)中),这些方法的收敛速度非常慢。
幸运的是,尽管损失函数包含许多局部极小值,但高级算法旨在处理的事情,每个极小值与其他极小值都差不多。实际上,我们只需要找到一个高维碗的中心,为此,谦逊的梯度下降算法是完美的。
题库
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群