谢邀~
机器学习(Machine Learning)是一门专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能的学科。而深度学习是机器学习的一个子领域,受大脑神经网络的结构和功能启发而创造的算法。其主要就是一个多层的神经网络,从统计学上来说,深度学习就是在预测数据的分布,从数据中学到一个模型后,再通过这个模型去预测新的数据,其中要求训练数据与预测数据必须是同分布的。
现有机器学习算法通常分为有监督学习算法和无监督学习算法。在有监督学习算法中不仅把训练的数据输入给计算机,同时还把数据的标签也一并作为输入传给计算机,计算机进行学习之后,再给它传进新的未知的数据,它也能计算出该数据属于某种结果的概率,最后给你一个最接近正确的结果。由于计算机在学习的过程中不仅有训练数据,而且还有结果(标签),因此训练的效果往往都不错。与有监督学习不同的是,无监督学习的输入数据只有原始数据,没有标签,因此计算机无法准确地知道哪些数据属于哪些类,只能凭借强大的计算能力分析数据的特征,从而得到一定的成果,通常得到的是一些集合,集合内的数据在某些特征上相同,或相似。
而我们所说的深度学习大多数情况下指的就是神经网络,现代神经网络是一种非线性统计性数据建模工具。典型的神经网络具有以下三个部分:
结构(Architecture):结构指定了网络中的变量和它们的拓扑关系。例如,神经网络中的变量可以是神经元连接的权重(weights)和神经元的激励值(activities of the neurons)。
激励函数(Activity Rule):大部分神经网络模型具有一个短时间尺度的动力学规则,来定义神经元如何根据其他神经元的活动来改变自己的激励值。一般激励函数依赖于网络中的权重(即该网络的参数)。
学习规则(Learning Rule):学习规则指定了网络中的权重如何随着时间推进而调整。这一般被看做是一种长时间尺度的动力学规则。一般情况下,学习规则依赖于神经元的激励值。它也可能依赖于监督者提供的目标值和当前权重的值。
通常一个简单的神经网络包含3部分:输入层、隐含层和输出层。一般输入层和输出层的节点是固定的,隐含层可以自由指定,图1是一个简单的神经网络结构示意图,图中的圆圈代表神经元,箭头代表数据的流向,每根连线上面都对应一个不同的权重,权重是网络通过学习自己得到的。
图1 简单神经网络结构图
每一个神经元都包含了输入、输出以及计算模型3个部分,可以把神经元看成一个计算与存储单元,计算是神经元对其的输入进行计算功能。存储是神经元会暂存计算结果,并传递到下一层。如图2所示是一个典型的神经元模型,包含3个输入,1个输出以及1个计算功能。
图2 神经元结构图
其中a表示输入,w表示权值,一个表示连接的有向箭头可以这样理解:在初端,传递的信号大小仍然是a,端中间有加权参数w,经过这个加权后的信号会变成a*w,因此在连接的末端,信号的大小就变成了a*w。在神经元处加权信号求和通过函数f就得到了输出Z,公式如下:
事实上,为了使神经元取得更好的效果,通常对每一个输入进行加权之后都会加上一个偏置b,此时Z的计算公式如下:
其中函数f又称为激活函数,常见的激活函数有sigmoid函数、tanh函数和ReLU函数等。
领取专属 10元无门槛券
私享最新 技术干货