深度神经网络原理 深度学习和普通的机器学习有什么区别?
深度学习和普通的机器学习有什么区别?
一张图片显示了这种关系。机器学习是人工智能的重要领域之一,而深度学习是机器学习的一个分支。深度学习之所以近年来流行起来,是因为它突破了传统机器学习无法解决的一些问题。
机器学习的意义在于代替人工完成重复性工作,识别出统一的规则(模式)。但是对于传统的机器学习来说,特征提取的难度不小(特征可以是像素、位置、方向等)。特征的准确性将在很大程度上决定大多数机器学习算法的性能。为了使特征准确,在特征工程部分需要大量的人力来调整和改进特征。完成这一系列工作的前提是,数据集中所包含的信息量是充分的,并且易于识别。如果不满足这一前提,传统的机器学习算法将在信息的杂乱中失去其性能。深度学习的应用正是基于这个问题。它的深层神经网络使它能够在杂波中学习,自动发现与任务相关的特征(可以看作是自发学习的特征工程),并提取高级特征,从而大大减少了特征工程部分任务所花费的时间。
另一个明显的区别是他们对数据集大小的偏好。传统的机器学习在处理规则完备的小规模数据时表现出良好的性能,而深度学习则表现不好。随着数据集规模的不断扩大,深度学习的效果会逐渐显现出来,并变得越来越好。对比如下图所示。
用同一数据集训练神经网络,每次训练结果不一样,有时正确率很高,有时很低,为什么?
其实这个问题的实质是,如果我们用机器学习算法对数据集上的数据模型进行一次训练,保存模型,然后用同样的算法和同样的数据集以及数据排序对其进行再次训练,那么第一个模型和第二个模型是一样的吗?
这可能是因为神经网络用增益或权重的随机值初始化,然后每个模拟在训练阶段有不同的起点。如果您希望始终保持相同的初始权重,可以尝试为初始权重修复种子以消除问题。
如果我们深入研究这个问题,我们可以根据ml算法的“确定性”来对其进行分类。当从同一个数据集进行训练时:
一个是总是生成相同的模型,并且记录以相同的顺序呈现;
另一个是总是生成不同的模型,并且记录顺序不同。
在实践中,大多数是“不确定的”。模型变化的原因可能是机器学习算法本身存在随机游走、不同权值的随机初始化、不同分量的概率分布抽样来分配优化函数。
虽然模型的“不确定性”可能会对单个训练结果造成干扰,但我们也可以用“不确定性”来确认模型的稳定性,如决策树、支持向量机(SVM)、神经网络等,最终可以通过多次迭代来确认模型的稳定性。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。