对常用的机器学习和深度学习算法进行总结

新智元 2018-07-10 08:58 次阅读

很多人在学机器学习深度学习的时候都有一个感受:所学的知识零散、不系统,缺乏整体感,这是普遍存在的一个问题。这篇文章对常用的机器学习和深度学习算法进行了总结,整理出它们之间的关系,以及每种算法的核心点,各种算法之间的比较。由此形成了一张算法地图,以帮助大家更好的理解和记忆这些算法。

下面先看这张图:

(关注公众号SIGAICN,回复“算法地图”,即可获得高清原图链接)

图的左半部分列出了常用的机器学习算法与它们之间的演化关系,分为有监督学习,无监督学习,强化学习3大类。右半部分列出了典型算法的总结比较,包括算法的核心点如类型,预测函数,求解的目标函数,求解算法。

理解和记忆这张图,对你系统化的掌握机器学习与深度学习会非常有帮助!

我们知道,整个机器学习算法可以分为有监督学习,无监督学习,强化学习3大类。除此之外还有半监督学习,但我们可以把它归到有监督学习中。算法的演变与发展大多在各个类的内部进行,但也可能会出现大类间的交叉,如深度强化学习就是深度神经网络与强化学习技术的结合。

根据样本数据是否带有标签值(label),可以将机器学习算法分成有监督学习和无监督学习两类。如果要识别26个英文字母图像,我们要将每张图像和它是哪个字符即其所属的类型对应起来,这个类型就是标签值。

有监督学习(supervised learning)的样本数据带有标签值,它从训练样本中学习得到一个模型,然后用这个模型对新的样本进行预测推断。它的样本由输入值x与标签值y组成:

其中x为样本的特征向量,是模型的输入值;y为标签值,是模型的输出值。标签值可以是整数也可以是实数,还可以是向量。有监督学习的目标是给定训练样本集,根据它确定映射函数:

确定这个函数的依据是函数能够很好的解释训练样本,让函数输出值f(x)与样本真实标签值y之间的误差最小化,或者让训练样本集的对数似然函数最大化。这里的训练样本数是有限的,而样本所有可能的取值集合在很多情况下是一个无限集,因此只能从中选取一部分样本参与训练。

日常生活中的很多机器学习应用,如垃圾邮件分类,手写文字识别,人脸识别,语音识别等都是有监督学习。这类问题需要先收集训练样本,对样本进行进行标注,用标注好的训练样本训模型,然后根据模型对新的样本进行预测。

无监督学习(unsupervised learning)对没有标签的样本进行分析,发现样本集的结构或者分布规律。无监督学习的典型代表是聚类和数据降维。

强化学习是一类特殊的机器学习算法,它根据输入数据确定要执行的动作,在这里。输入数据是环境参数。和有监督学习算法类似,这里也有训练过程中。在训练时,对于正确的动作做出奖励,对错误的动作做出惩罚,训练完成之后就用得到的模型进行预测。

在有监督学习算法中,我们列出了5个分支:

(关注公众号SIGAICN,回复“算法地图”,即可获得高清原图链接)

分别是决策树,贝叶斯,线性模型,kNN,LDA(线性判别分析),集成学习。LDA也可以归类到线性模型中,但因为它是一种有监督的投影技术,我们单独列出。

决策树是一种基于规则的方法,它的规则是通过训练样本学习得到的,典型的代表是ID3,C4.5,以及分类与回归树。

集成学习是机器学习中一类重要的算法,它通过将多个简单的模型进行集成,得到一个更强大的模型,简单的模型称为弱学习器。决策树与集成学习算法相结合,诞生了随机森林,Boosting这两类算法(事实上,Boosting算法的弱学习器不仅可以用决策树,还可以用其他算法)。

线性模型是最大的一个分支,从它最后衍生除了一些复杂的非线性模型。如果用于分类问题,最简单的线性模型是线性回归,加上L2和L1正则化项之后,分别得到岭回归和LASSO回归。对于分类问题,最简单的是感知器模型,从它衍生出了支持向量机,logistic回归,神经网络3大分支。而神经网络又衍生出了各种不同的结构。包括自动编码器,受限玻尔兹曼机,卷积神经网络,循环神经网络,生成对抗网络等。当然,还有其他一些类型的神经网络,因为使用很少,所以在这里不列出。

kNN算法基于模板匹配的思想,是最简单的一种机器学习算法,它依赖于距离定义,而距离同样可以由机器学习而得到,这就是距离度量学习。

贝叶斯也是有监督学习算法中的一个大分支,最简单的是贝叶斯分类器,更复杂的有贝叶斯网络。而贝叶斯分类器又有朴素贝叶斯和正态贝叶斯两种实现。

接下来说无监督学习,它可以分为数据降维算法和聚类算法两大类。演变关系如下图所示:

(关注公众号SIGAICN,回复“算法地图”,即可获得高清原图链接)

无监督的降维算法可以分为线性降维和非线性降维两大类。前者的典型代表是主成分分析(PCA),通过使用核技术,可以把它扩展为非线性的版本。流形学习是非线性降维技术的典型实现,代表性的算法有局部线性嵌入(LLE),拉普拉斯特征映射,等距映射,局部保持投影,它们都基于流形假设。流形假设不仅在降维算法中有用,在半监督学习、聚类算法中同样有使用。

聚类算法可以分为层次距离,基于质心的聚类,基于概率分布的距离,基于密度的聚类,基于图的聚类这几种类型。它们从不同的角度定义簇(cluster)。基于质心的聚类典型代表是k均值算法。基于概率分布的聚类典型代表是EM算法。基于密度的聚类典型代表是DBSCAN算法,OPTICS算法,Mean shift算法。基于图的聚类典型代表是谱聚类算法。

强化学习是机器学习中的一个特殊分支,用于决策、控制问题。这类算法的演变关系如下图所示:

(关注公众号SIGAICN,回复“算法地图”,即可获得高清原图链接)

整个强化学习的理论模型可以抽象成马尔可夫决策过程。核心任务是求解使得回报最大的策略。如果直接用动态规划求解,则有策略迭代和价值迭代两类算法。他们都要求有精确的环境模型,即状态转移概率和奖励函数。如果做不到这一点,只能采用随机算法,典型的代表是蒙特卡罗算法和时序差分算法。强化学习与深度学习相结合,诞生了深度强化学习算法,典型代表是深度Q网络(DQN)以及策略梯度算法(策略梯度算法不仅可用神经网络作为策略函数的近似,还可以用其他函数)。

下面我们来分别介绍每种算法的核心知识点以及它们之间的关系。

有监督学习

先看有监督学习算法,它是当前实际应用中使用最广的机器学习算法。进一步可以分为分类问题与回归问题两大类。前面说过,有监督学习算法的预测函数为:

即根据输入数据x预测出输出数据y。如果y是整数的类别编号,则称为分类问题;如果y是实数值,则为回归问题。

贝叶斯分类器

分类问题中样本的特征向量取值x与样本所属类型y具有因果关系。因为样本属于类型y,所以具有特征值x。分类器要做的则相反,是在已知样本的特征向量为x的条件下反推样本所属的类别y。根据贝叶斯公式有:

只要知道特征向量的概率分布p(x),每一类出现的概率p(y),以及每一类样本的条件概率p(x|y),就可以计算出样本属于每一类的概率p(y|x)。如果只要确定类别,比较样本属于每一类的概率的大小,找出该值最大的那一类即可。因此可以忽略p(x),因为它对所有类都是一样的。简化后分类器的判别函数为:

训练时的目标是确定p(x|y)的参数,一般使用最大似然估计。如果假设样本特征向量的各个分量之间相互独立,则称为朴素贝叶斯分类器。如果假设特征向量x服从多维正态分布,则称为正态贝叶斯分类器。正态贝叶斯分类器的预测函数为:

贝叶斯分类器是一种生成模型,是非线性模型,它天然的支持多分类问题。下图是正态贝叶斯分类器对异或问题的分类结果(来自SIGAI云端实验室):

决策树家族

决策树是基于规则的方法,它用一组嵌套的规则进行预测,在树的每个决策节点处,根据判断结果进入一个分支,反复执行这种操作直到到达叶子节点,得到决策结果。决策树的这些规则通过训练得到,而不是人工制定的。下图是决策树的一个例子:

决策树是一种判别模型,也是非线性模型,天然支持多类分类问题。它既可以用于分类问题,也可以用于回归问题,具有很好的解释性,符合人类的思维习惯。常用的决策树有ID3,C4.5,分类与回归树(CART)等。

分类树对应的映射函数是多维空间的分段线性划分,即用平行于各个坐标轴的超平面对空间进行切分;回归树的映射函数是一个分段常数函数。决策树是分段线性函数但不是线性函数,它具有非线性建模的能力。只要划分的足够细,分段常数函数可以逼近闭区间上任意函数到任意指定精度,因此决策树在理论上可以对任意复杂度的数据进行分类或者回归。

下图是决策树进行空间划分的一个例子。在这里有红色和蓝色两类训练样本,用下面两条平行于坐标轴的直线可以将这两类样本分开(来自SIGAI云端实验室):

这个划分方案对应的决策树如下图所示:

对于分类与回归树,训练每个节点时的目标是要让Gini不纯度最小化,这等价于让下面的值最大化:

决策树训练求解时采用了枚举搜索和贪婪法的思想,找到的不一定是结构最优的树。如果想要了解决策树的原理,请阅读SIGAI之前的公众号文章“理解决策树”。

kNN算法

kNN算法基于以下思想:要确定一个样本的类别,可以计算它与所有训练样本的距离,然后找出和该样本最接近的k个样本,统计这些样本的类别进行投票,票数最多的那个类就是分类结果。因为直接比较样本和训练样本的距离,kNN算法也被称为基于实例的算法,这实际上是一种模板匹配的思想。

下图是使用k近邻思想进行分类的一个例子:

在上图中有红色和绿色两类样本。对于待分类样本即图中的黑色点,我们寻找离该样本最近的一部分训练样本,在图中是以这个矩形样本为圆心的某一圆范围内的所有样本。然后统计这些样本所属的类别,在这里红色点有12个,圆形有2个,因此把这个样本判定为红色这一类。上面的例子是二分类的情况,我们可以推广到多类,k近邻算法天然支持多类分类问题,它是一种判别模型,也是非线性模型。下图是kNN算法对异或问题的分类结果(来自SIGAI云端实验室):

kNN算法依赖于样本距离值,常用的距离有欧氏距离,Mahalanobis距离等。这些距离定义中的参数可以通过学习得到,如Mahalanobis距离中的矩阵S,这称为距离度量学习。

线性模型家族

线性模型的预测函数是线性函数,既可以用于分类问题,也可以用于回归问题,这是机器学习算法中的一个庞大家族。从线性模型中衍生出了多种机器学习算法,对于回归问题问题,有岭回归,LASSO回归;对于分类问题,有支持向量机,logistic回归,softmax回归,人工神经网络(多层感知器模型),以及后续的各种深度神经网络。

对于分类问题,线性模型的预测函数为:

其中sgn是符号函数。最简单的线性分类器是感知器算法,它甚至无法解决经典的异或问题,不具有太多的实用价值。

对于回归问题,线性模型的预测函数为:

训练时的目标是最小化均方误差:

可以证明,这是一个凸优化问题,可以得到全局极小值。求解时可以采用梯度下降法或者牛顿法。

岭回归是线性回归的L2正则化版本,训练时求解的问题为:

如果系数,这个问题是一个严格凸优化问题,可用用梯度下降法,牛顿法求解。

LASSO回归是线性回归的L1正则化版本,训练时求解的问题为:

同样的,这是一个凸优化问题,可以用梯度下降法和牛顿法求解。

线性判别分析(LDA)是一种有监督的线性投影技术,它寻找向低维空间的投影矩阵W,样本的特征向量x经过投影之后得到的新向量y:

投影的目标是同一类样投影后的结果向量差异尽可能小,不同类的样本差异尽可能大。直观来看,就是经过这个投影之后同一类的样本进来聚集在一起,不同类的样本尽可能离得远。下图是这种投影的示意图:

训练时的求解目标是最大化类间差异与类内差异的比值:

最后归结为求解矩阵的特征值和特征向量:

如果我们要将向量投影到c-1维,则挑选出最大的c-1个特征值以及它们对应的特征向量,组成矩阵W。线性判别分析不能直接用于分类问题,它只是完成投影,投影之后还需要用其他算法进行分类,如kNN。下图是LDA降维之后用最小距离分类器分类的结果:

从这张图可以看出,决策面是直线。LDA是一种线性模型,也是判别模型,只能用于分类问题。

logistic回归即对数几率回归,它的名字虽然叫“回归”,但却是一种用于二分类问题的分类算法,它用sigmoid函数估计出样本属于某一类的概率。这种算法可以看做是对线性分类器的改进。

预测函数为:

其中为线性映射权向量,由训练算法确定。训练时的优化目标是最大化对数似然函数:

这是一个凸优化问题,可以得到全局最优解,求解时可以采用梯度下降法或者牛顿法。分类时的判断规则为:

logistic回归是一种判别模型,也是线性模型,它只支持二分类问题。下图是用logistic回归进行分类的结果(来自SIGAI云端实验室):

从上图可以看到,分界面是一条直线,这也说明了它是一个线性模型。

logistic回归只能用于二分类问题,将它进行推广可以得到处理多类分类问题的softmax回归。softmax回归按照下面的公式估计一个样本属于每一类的概率:

模型的输出为一个k维向量,其元素之和为1,每一个分量为样本属于该类的概率。训练时的损失函数定义为:

上式是对logistic回归损失函数的推广。这个损失函数是凸函数,可以采用梯度下降法求解。Softmax回归是一种判别模型,也是线性模型,它支持多分类问题。

支持向量机

支持向量机是对线性分类器的改进,加上了最大化分类间隔的约束,另外还使用了核技术,通过非线性核解决非线性问题。一般情况下,给定一组训练样本可以得到不止一个可行的线性分类器,下图就是一个例子:

在上图中两条直线都可以将两类样本分开。问题是:在多个可行的线性分类器中,什么样的分类器是好的?为了得到好的泛化性能,分类平面应该不偏向于任何一类,并且离两个类的样本都尽可能的远。这种最大化分类间隔的目标就是支持向量机的基本思想。支持向量机在训练时优化的目标是让训练样本尽量分类正确,而且决策面离两类样本尽可能远。原问题带有太多的不等式约束,一般转化为对偶问题求解,使用拉格朗日对偶,加上核函数之后,优化的对偶问题为:

预测函数为:

这是一个凸优化问题,可以得到全局最优解,求解时一般采用SMO算法,这是一种分治法,每次挑选出两个变量进行优化,对这两个变量的优化问题求公式解。优化变量的选择使用了KKT条件。

支持向量机是一种判别模型,既支持分类问题,也支持回归问题,如果使用非线性核,则是一种非线性模型,这从它的预测函数也可以看出来。标准的支持向量机只能解决二分类问题,通过多个二分类器组合,可以解决多分类问题,另外一种思路是直接构造多类的损失函数来解决多分类问题。下图是用支持向量机对异或问题进行分类的结果(来自SIGAI云端实验室):

神经网络

人工神经网络是一种仿生方法,受启发于人脑的神经网络。从数学上看,它本质上是一个多层复合函数。如果使用sigmoid作为激活函数,它的单个神经元就是logistic回归。假设神经网络的输入是n维向量x,输出是m维向量y,它实现了如向量到向量的映射:

将这个函数记为:

神经网络第层的变换写成矩阵和向量形式为:

如果采用欧氏距离,训练时的优化目标为:

这不是一个凸优化问题,因此不能保证得到全局极小值。可以采用梯度下降法求解,因为是一个复合函数,需要对各层的权重与偏置求导,采用了反向传播算法,它从多元函数求导的链式法则导出。误差项的计算公式为,对于输出层:

对于隐含层:

根据误差项可以得到权重和偏置的梯度值:

然后用梯度下降法更新。神经网络是一个判别模型,并且是非线性模型,它既支持分类问题,也支持回归问题,并且支持多分类问题。下图是用神经网络对异或问题的分类结果(来自SIGAI云端实验室):

深度神经网络家族

深度神经网络是对多层感知器模型的进一步发展,它可以完成自动的特征提取,端到端的训练,是深度学习的核心技术。可以分为自动编码器,受限玻尔兹曼机,卷积神经网络,循环神经网络,生成对抗网络这几种类型。

自动编码器用一个单层或者多层神经网络对输入数据进行映射,得到输出向量,作为从输入数据提取出的特征。在这种框架中,神经网络的前半部分称为编码器,用于从原始输入数据中提取特征;后半部分称为解码器,训练时根据提取的特征重构原始数据,它只用于训练阶段。

训练时的做法是先经过编码器得到编码后的向量,然后再通过解码器得到解码后的向量,用解码后的向量和原始输入向量计算误差。如果编码器的映射函数为h,解码器的映射函数为g,训练时优化的目标函数为:

在这里同样采用梯度下降法和反向传播算法。自动编码器的改进型有去噪自动编码器,收缩自动编码器,变分自动编码器,稀疏编码等。

单个自动编码器只能进行一层特征提取,可以将多个自动编码器组合起来使用,得到一种称为层叠编码器的结构。层叠自动编编码器由多个自动动编码器串联组成,能够逐层提取输入数据的特征,在此过程中逐层降低输入数据的维度,将高维的输入数据转化成低维的特征。

受限玻尔兹曼机由Hinton等人提出,是一种生成式随机神经网络,这是一种概率模型。在这种模型中,神经元的状态值是以随机的方式确定的,而不像之前介绍的神经网络那样是确定性的。

受限玻尔兹曼机的数据分为可见变量和隐变量两种类型,并定义了它们之间的概率关系。可见变量是神经网络的输入数据,如图像;隐变量是从输入数据中提取的特征。在受限玻尔兹曼机中,可见变量和隐藏变量都是二元变量,即其取值只能为0或1,整个神经网络是一个二部图。

可见节点用向量表示为v,隐藏节点用向量表示为h。任意可见节点和隐藏节点之间都有边连接。(v, h)的联合概率服从玻尔兹曼分布,联合概率定义为:

训练时迭代更新权重参数直至网络收敛,这种方法称为Contrastive Divergence。

和自动编码器类似,可以将多个受限玻尔兹曼机层叠加起来使用,在种结构称为深度玻尔兹曼机(Deep Boltzmann Machine),简称DBM。通过多层的受限玻尔兹曼机,可以完成数据在不同层次上的特征提取和抽象。

在DBM中,所有层的节点之间的连接关系是无向的,如果我们限制某些层之间的连接关系为有向的,就得到了另外一种结构,称为深信度网络(Deep Belief Network),简称DBN。在DBN中,靠近输入层的各个层之间的连接关系是有向的,是贝叶斯置信网;靠近输出层的各个层之间的连接关系是无向的,是受限玻尔兹曼机。

在所有深度学习框架中,卷积神经网络应用最为广泛,在机器视觉等具有空间结构的数据问题上取得了成功。标准的卷积神经网络由卷积层,池化层,全连接层构成。可以看做是权重共享的全连接神经网络。

训练时同样采用梯度下降法和反向传播算法。对于卷积层,根据误差项计算卷积核梯度的计算公式为:

卷层误差项的递推公式为:

也可以用矩阵乘法来实现卷积,这种做法更容易理解,可以方便的计算出对卷积核的梯度值。

循环神经网络是仅次于卷积神经网络的第二大深度神经网络结构,在语音识别、自然语言处理等问题上取得了成功。循环神经网络具有记忆功能,用于时间序列数据预测。循环层实现的映射为:

输出层实现的映射为:

对单个样本,训练时的损失函数为各个时刻的损失函数之和:

这里的反向传播算法称为BPTT(Back Propagation Through Time),在时间轴上进行反向传播。误差项的递推计算公式为:

根据误差项计算权重和偏置的公式为:

生成对抗网络(Generative Adversarial Network,简称GAN)是用机器学习的方法来解决数据生成问题的一种框架,它的目标是生成服从某种随机分布的数据,由Goodfellow在2014年提出。 这种模型能够找出样本数据内部的概率分布规律,并根据这种规律产生出新的数据。

整个框架由一个生成模型和一个判别模型组成。生成模型用于学习真实数据的概率分布,并生成符合这种分布的数据;判别模型的任务是判断一个输入数据是来自于真实数据集还是由生成模型生成的。在训练时,通过两个模型之间不断的竞争,从而分别提高这两个模型的生成能力和判别能力。

生成模型的输入是随机噪声z,输出是产生的数据G(z)。判别模型的输入是真实样本,或者生成网络生成的数据,得到的是它们的分类结果D(x)。

训练的目标是让判别模型能够最大程度的正确区分真实样本和生成模型生成的样本;同时要让生成模型使生成的样本尽可能的和真实样本相似。即:判别模型要尽可能将真实样本判定为真实样本,将生成模型产生的样本判定为生成样本;生成模型要尽量让判别模型将自己生成的样本判定为真实样本。基于以上3个要求,对于生成模型生成的样本,要最小化如下目标函数:

这意味着如果生成模型生成的样本和真实样本越接近,被判别模型判断为真实样本的概率就越大,即D(G(z))的值越接近于1,目标函数的值越小。另外还要考虑真实的样本,对真实样本要尽量将它判别成1。这样要优化的目标函数定义为:

在这里判别模型和生成模型是目标函数的自变量,它们的参数是要优化的变量。求解时采用了交替优化的策略,先固定住生成网络,训练判别网络;然后固定住判别网络,训练生成网络。每个网络的训练都采用梯度下降法和反向传播算法。

集成学习家族

集成学习(ensemble learning)是一类机器学习算法,它通过多个模型的组合形成一个精度更高的模型,参与组合的模型称为弱学习器(weak learner)。在预测时使用这些弱学习器模型联合进行预测;训练时需要用训练样本集依次训练出这些弱学习器。随机森林和AdaBoost算法是这类算法的典型代表。

随机森林由多棵决策树组成。用多棵决策树联合预测可以提高模型的精度,这些决策树用对训练样本集随机抽样构造出样本集训练得到。由于训练样本集由随机抽样构造,因此称为随机森林。随机森林不仅对训练样本进行抽样,还对特征向量的分量随机抽样,在训练决策树时,每次分裂时只使用一部分抽样的特征分量作为候选特征进行分裂。下图是随机森林对异或问题的分类结果(来自SIGAI云端实验室):

对应的随机森林如下图所示:

随机森林是一种判别模型,也是一种非线性模型,它既支持分类问题,也支持回归问题,并且支持多分类问题,有很好的解释性。

Boosting算法也是一种集成学习算法。它的分类器由多个弱分类器组成,预测时用每个弱分类器分别进行预测,然后投票得到结果;训练时依次训练每个弱分类器,在这里和随机森林采用了不同的策略,不是对样本进行随机抽样构造训练集,而是重点关注被前面的弱分类器错分的样本。弱分类器是很简单的分类器,它计算量小且精度不用太高。

AdaBoost算法由Freund等人提出,是Boosting算法的一种实现版本。在最早的版本中,这种方法的弱分类器带有权重,分类器的预测结果为弱分类器预测结果的加权和。训练时训练样本具有权重,并且会在训练过程中动态调整,被前面的弱分类器错分的样本会加大权重,因此算法会关注难分的样本。

强分类器的计算公式为:

分类时的判定规则为:

训练目标是最小化指数损失函数:

求解时采用了分阶段优化的策略,先把弱分类器的权重当做常数,优化弱分类器。得到弱分类器之后,再优化它的权重。弱分类器的权重计算公式为:

样本权重的更新公式为:

AdaBoost算法的原则是关注之前被错分的样本,准确率高的弱分类器有更大的权重。

AdaBoost算法是一个判别模型,也是非线性模型,它只支持二分类问题。下图是用AdaBoost算法对异或问题的分类结果(来自SIGAI云端实验室):

无监督学习

相对于有监督学习,无监督学习的研究进展更为缓慢,算法也相对较少。无监督学习可以分为聚类和降维两大类,下面分别介绍。

聚类算法家族

聚类属于无监督学习问题,其目标是将样本集划分成多个类,保证同一类的样本之间尽量相似,不同类的样本之间尽量不同。这些类被称为簇(cluster)。与有监督的分类算法不同,聚类算法没有训练过程,直接完成对一组样本的划分从而确定每个样本的类别归属。我们一般将距离算法分为层次距离,基于质心的聚类,基于密度的聚类,基于概率分布的聚类,基于图的聚类这几种类型,它们从不同的角度定义簇。

k均值算法是一种被广为用于实际问题的聚类算法。它将样本划分成k个类,参数k由人工设定。算法将每个样本分配到离它最近的那个类中心所属的类,而类中心的确定又依赖于样本的分配方案。假设样本集有l个样本,给定参数k的值,算法将这些样本划分成k个集合:

最优分配方案是如下最优化问题的解:

其中为类中心向量。这个问题是NP难问题,不易求得全局最优解,只能近似求解。实现时采用迭代法近似求解,只能保证收敛的局部最优解处。每次迭代时,首先计算所有样本离各个类中心的距离,然后将其分配到最近的那个类;接下来再根据这种分配方案更新类中心向量。下图为k均值算法的聚类结果(来自SIGAI云端实验室):

基于概率分布的算法假设每一个簇的样本服从相同的概率分布,这是一种生成模型。经常使用的是多维正态分布,如果服从这种分布,则为高斯混合模型,在求解时一般采用EM算法。

EM算法是一种迭代法,其目标是求解似然函数或后验概率的极值,而样本中具有无法观测的隐含变量z。例如有一批样本分属于3个类,每个类的样本都服从正态分布,均值和协方差未知,并且每个样本属于哪个类也是未知的,需要在这种情况下估计出每个正态分布的均值和协方差。算法在实现时分为两步:

E步,基于当前的参数估计值,计算在给定x时对z的条件概率的数学期望:

M步,求解如下极值问题,更新的值:

实现时可以按照下面的公式计算:

迭代终止的判定规则是相邻两次函数值之差小于指定阈值。

DBSCAN算法是一种基于密度的算法,对噪声鲁棒。它将簇定义为样本密集的区域,算法从一个种子样本开始,反复向密集的区域生长,直至到达边界。

算法首先找出核心点,即周围样本非常密集的那些样本点。然后从某一核心点出发,不断向密度可达的区域扩张,得到一个包含核心点和边界点的最大区域,这个区域中任意两点密度相连。下图是DBSCAN算法的聚类结果(来自SIGAI云端实验室):

OPTICS算法是对DBSCAN算法的改进,对参数更不敏感。它不直接生成簇,而是对本进行排序,这种排序包含了聚类信息。

均值漂移(Mean Shift)算基于核密度估计技术,是一种寻找概率密度函数极值点的算法。在用于聚类任务时,它寻找概率密度函数的极大值点,即样本分别最密集的位置,以此得到簇。

基于图的算法把样本数据看成图的顶点,通过数据点之间的距离构造边,形成带权图。通过图的切割实现聚类,即将图切分成多个子图,这些子图就是对应的簇。基于图的聚类算法典型的代表是谱聚类算法。谱聚类算法首先构造数据的邻接图,得到图的拉普拉斯矩阵。接下来对矩阵进行特征值分解,通过特征值和特征向量构造出簇。

数据降维

在有些应用中,向量的维数非常高。以图像数据为例,对于高度和宽度分别为100像素的图像,如果将所有像素值拼接起来形成一个向量,这个向量的维数是10000。另外向量的各个分量之间可能存在相关性。直接将向量送入机器学习算法中处理效率会很低,也影响算法的精度。为了可视化显示数据,我们也需要把向量变换到低维空间中。

主成分分析(principal component analysis,简称PCA)是一种数据降维和去除相关性的方法,它通过线性变换将向量投影到低维空间。对向量进行投影就是让向量左乘一个矩阵得到结果向量,这也是线性代数中讲述的线性变换:

降维要确保的是在低维空间中的投影能很好的近似表达原始向量,即重构误差最小化。下图是主分量投影示意图:

图7.1  主分量投影示意图

在上图中样本用红色的点表示,倾斜的直线是它们的主要变化方向。将数据投影到这条直线上即完成数据的降维,把数据从2维降为1维。

寻找投影矩阵时要优化的目标是使得重构误差最小化:

使得该函数取最小值的为散度矩阵最大的个特征值对应的单位长度特征向量。即求解下面的优化问题:

矩阵W的列是我们要求解的基向量。散度矩阵是实对称矩阵,因此属于不同特征值的特征向量是正交的。下图是主成分分析对手写数字图像的降维结果(来自SIGAI云端实验室):

虽然都是线性投影算法,但主成分分析和线性判别分析有本质的不同,前者是无监督的,后者是有监督的,计算过程中使用了类别标签信息。

主成分分析是一种线性降维技术,对于高度非线性的数据具有局限性,而在实际应用中很多时候数据是非线性的。此时可以采用非线性降维技术,流形学习(manifold learning)是非线性降维技术的典型代表。

流形是微分几何中的一个概念,它是高维空间中的几何结构,即空间中的点构成的集合,可以简单的理解成二维空间的曲线,三维空间的曲面在更高维空间的推广。下图是三维空间中的一个流形,这是一个卷曲的曲面:

假设有一个N维空间中的流形M,即:

流形学习降维要实现的是如下映射:

其中n<

局部线性嵌入(简称LLE)将高维数据投影到低维空间中,并保持数据点之间的局部线性关系。其核心思想是每个点都可以由与它相近的多个点的线性组合来近似,投影到低维空间之后要保持这种线性重构关系,并且有相同的重构系数。

每个数据点和它的邻居位于或者接近于流形的一个局部线性片段上,即可以用它邻居点的线性组合来重构,组合系数刻画了这些局部面片的几何特性:

权重系数通最小化下面的重构误差确定:

假设非线性映射将向量从D维空间的x映射为d维空间的y。每个点在d维空间中的坐标由下面的最优化问题确定:

这里的权重和上一个优化问题的值相同,在前面已经得到。下图为用LLE算法将手写数字图像投影到3维空间后的结果(来自SIGAI云端实验室):

等距映射(Isomap)使用了微分几何中测地线的思想,它希望数据在向低维空间映射之后能够保持流形上的测地线距离。

测地线源自于大地测量学,是指地球上任意两点之间在球面上的最短路径。在三维空间中两点之间的最短距离是它们之间线段的长度,但如果要沿着地球表面走,最短距离就是测地线的长度,因为我们不可能从地球内部穿过去。算法计算任意两个样本之间的测地距离,然后根据这个距离构造距离矩阵。最后通过距离矩阵求解优化问题完成数据的降维,降维之后的数据保留了原始数据点之间的距离信息。

降维过求解如下最优化问题实现:

这个目标函数的意义是向量降维之后任意两点之间的距离要尽量的接近在原始空间中这两点之间的最短路径长度,因此可以认为降维尽量保留了数据点之间的测地距离信息。下图是等距映射对手写数字图像降维后的结果(来自SIGAI云端实验室):

强化学习

强化学习是一类特殊的机器学习算法,如果说有监督学习和无监督学习是要根据预测函数来确定输出标签信息或者聚类类别、降维后的向量,则强化学习算法是要根据当前的状态确定要执行的动作。

强化学习与有监督学习和无监督学习的目标不同,它借鉴于行为主义心理学。算法要解决的问题是智能体在环境中怎样执行动作以获得最大的累计奖励。对于自动行驶的汽车,强化学习算法控制汽车的动作,保证安全行驶。智能体指强化学习算法,环境是类似车辆当前状态与路况这样的由若干参数构成的系统,奖励是我们期望得到的结果,如汽车正确的在路面上行驶而不发生事故。

很多控制、决策问题都可以抽象成这种模型。和有监督学习不同,这里没有标签值作为监督信号,系统只会给算法执行的动作一个评分反馈,这种反馈一般还具有延迟性,当前的动作所产生的后果在未来才会完全得到,另外未来还具有随机性。

强化学习要解决的问题可以抽象成马尔可夫决策过程(Markov Decision Process,简称MDP)。马尔可夫过程的特点是系统下一个时刻的状态由当前时刻的状态决定,与更早的时刻无关。与马尔可夫过程不同的是,在MDP中系智能体可以执行动作,从而改变自己和环境的状态,并且得到惩罚或奖励。

马尔可夫决策过程可以表示成一个五元组:

其中S和A分别为状态和动作的集合。假设t时刻状态为st,智能体执行动作a,下一时刻进入状态st+1。下一时刻的状态由当前状态以及当前采取的动作决定,是一个随机性变量,这一状态转移的概率为:

这是当前状态为s时行动作a,下一时刻进入状态的条件概率。这个公式表明下一时刻的状态与更早时刻的状态和动作无关,状态转换具有马尔可夫性。有一种特殊的状态叫做终止状态(也称为吸收状态),到达该状态之后不会再进入其他后续状态。对于围棋,终止状态是一局的结束。

执行动作之后,智能体会收到一个立即回报:

立即回报和当前状态、当前采取的动作以及下一时刻进入的状态有关。在每个时刻t,智能体选择一个动作at执行,之后进入下一状态st+1,环境给出回报值。智能体从某一初始状态开始,每个时刻选择一个动作执行,然后进入下一个状态,得到一个回报,如此反复:

问题的核心是执行动作的策略,它可以抽象成一个函数,定义了在每种状态时要选择执行的动作。这个函数在状态s所选择的动作为:

这是确定性策略。对于确定性策略,在每种状态下智能体要执行的动作是唯一的。另外还有随机性策略,智能体在一种状态下可以执行的动作有多种,策略函数给出的是执行每种动作的概率:

即按概率从各种动作中选择一种执行。策略只与当前所处的状态有关,于历史时间无关,在不同时刻对于同一个状态所执行的策略是相同的。

强化学习的目标是要达到我们的某种预期,当前执行动作的结果会影响系统后续的状态,因此需要确定动作在未来是否能够得到好的回报,这种回报具有延迟性。对于围棋,当前走的一步棋一般不会马上结束,但会影响后续的棋局,需要使得未来赢的概率最大化,而未来又具有随机性,这为确定一个正确的决策带来了困难。

选择策略的目标是按照这个策略执行后,在各个时刻的累计回报值最大化,即未来的预期回报。按照某一策略执行的累计回报定义为:

这里假设状态转移概率以及每个时刻的回报是已知的,算法要寻找最佳策略来最大化上面的累计回报。

如果每次执行一个动作进入的下一个状态是确定的,则可以直接用上面的累计回报计算公式。如果执行完动作后进入的下一个状态是随机的,则需要计算各种情况的数学期望。为此定义状态价值函数的概念,它是在某个状态s下,按照策略执行动作,累计回报的数学期望。状态价值函数的计算公式为:

动作价值函数是智能体按照策略执行,在状态s时执行具体的动作a后的预期回报,计算公式为:

除了指定初始状态与策略之外,还指定了在状态s时执行的动作a。这个函数衡量的是给定某一策略,在某一状态时执行各种动作的价值。

给定一个策略,可以用动态规划算法计算它的状态价值函数,即策略评估(Policy Evaluation)。在每种状态下执行的动作有多种可能,需要对各个动作计算数学期望。按照定义,状态价值函数的计算公式为:

求解时使用迭代法,首先为所有状态的价值函数设置初始值,然后用公式更新所有状态的价值函数,第k次迭代时的更新公式为:

算法最后会收敛到真实的价值函数值。

策略评估的目的是为了得到更好的策略,即策略改进。策略改进通过按照某种规则对当前策略进行调整,得到更好的策略。

策略迭代是策略评估和策略改进的结合。从一个初始策略开始,不断的改进这个策略达到最优解。每次迭代时首先用策略估计一个策略的状态价值函数,然后根据策略改进方案调整该策略,再计算新策略的状态价值函数,如此反复直到收敛。这一过程如下图所示:

在策略迭代算法中,策略评估的计算量很大,需要多次扫描所有状态并不断的更新状态价值函数。实际上不需要知道状态价值函数的精确值也能迭代到最优策略,值迭代就是其中的一种方法。

根据贝尔曼最优化原理,如果一个策略是最优策略,整体最优的解局部一定也最优,因此最优策略可以被分解成两部分:从状态s到采用了最优动作,在状态是采用的策略也是最优的。根据这一原理,每次选择当前回报和未来回报之和最大的动作,价值迭代的更新公式为:

策略迭代算法和价值迭代算法虽然都可以得到理论上的最优解,但是它们的计算过程依赖于状态转移概率以及回报函数。对于很多应用场景,我们无法得到准确的状态模型和回报函数。因此前面介绍的这两种算法在实际问题中使用价值有限。

对于无法建立精确的环境模型的问题,我们只能根据一些状态、动作、回报值序列样本进行计算,估计出价值函数和最优策略。基本思想是按照某种策略尝试执行不同的动作,观察得到的回报,然后进行改进。

蒙特卡洛算法和时序差分算法是解决这这类问题的两种方法。蒙特卡洛算法是一种随机数值算法,它通过使用随机数来近似解决某些难以直接求解的问题。在强化学习中,蒙特卡洛算法可以根据样本得到状态价值函数以及动作价值函数的估计值,用于近似数学期望值。

在上面的例子中,样本是一些随机的点,在用于计算强化学习的价值函数时,样本是一些片段。在这里先定义片段(episode)的概念,它是从某一状态开始,执行一些动作,直到终止状态为止的一个完整的状态和动作序列,这类似于循环神经网络中的时间序列样本。蒙特卡洛算法从这些片段样本中学习,估算出状态价值函数和动作价值函数。实现时的做法非常简单:

按照一个策略执行,得到一个状态和回报序列,即片段。多次执行,得到多个片段。接下来根据这些片段样本估计出价值函数。

蒙特卡洛算法需要使用完整的片段进行计算,这在有些问题中是不现实的,尤其是对于没有终止状态的问题。时序差分算法(Temporal Difference learning,简称TD学习)在执行一个动作之后就进行价值函数估计,无需使用包括终止状态的完整片段,它结合了蒙特卡洛算法与动态规划算法的思想。与蒙特卡洛算法一样,TD算法无需依赖状态转移概率,直接采样计算。TD算法用贝尔曼方程估计价值函数的值,然后构造更新项。迭代更新公式为:

算法用当前动作的立即回报值与下一状态当前的状态价值函数估计值之和构造更新项,更新本状态的价值函数:

在上式中没有使用状态转移概率,而是和蒙特卡洛算法一样随机产生一些样本来进行计算,因此称为无模型的算法。用于估计状态价值函数时,算法的输入为策略,输出为该策略的状态值函数。

Sarsa算法用于估计给定策略下的动作价值函数,同样是每次执行一个动作之后就进行更新。它的迭代更新公式为:

由于更新值的构造使用了

这5个变量,因此被命名为Sarsa算法。根据所有状态-动作对的价值函数可以得到最优策略。

Q学习算法估计每个动作价值函数的最大值,通过迭代可以直接找到价值函数的极值,从而确定最优策略,类似于价值迭代算法的思想。

实现时需要根据当前的动作价值函数的估计值为每个状态选择一个动作来执行,这里有两种方案。第一种方案是随机选择一个动作,这称为探索(exploration)。第二种方案是根据当前的动作函数值选择一个价值最大的动作执行:

这称为利用(exploitation)。第三种方案是二前两者的结合,即贪心策略。执行完动作之后,进入状态,然后寻找状态下所有动作的价值函数的极大值,构造更新项。算法最终会收敛到动作价值函数的最优值。用于预测时,在每个状态下选择函数值最大的动作执行,这就是最优策略,具体实现时同样可以采用贪心策略。

前面介绍的算法只能用于状态和动作的集合是有限的离散基且状态和动作数量较少的情况,状态和动作需要人工预先设计。实际应用中的场景可能会很复杂,很难定义出离散的状态;即使能够定义,数量也非常大,无法用数组存储。用一个函数来逼近价值函数或策略函数成为解决这个问题的一种思路,函数的输入是原始的状态数据,函数的输出是价值函数值或策略函数值。

在有监督学习中,我们用神经网络来实现分类或回归函数,同样的,也可以用神经网络可来拟合强化学习中的价值函数和策略函数,这就是深度强化学习的基本思想。在这里,神经网络被用于从原始数据如图像中直接预测出函数值。

在Q学习中用表格存储动作价值函数的值,如果状态和动作太多这个表将非常大,在某些应用中也无法列举出所有的状态形成有限的状态集合。解决这个问题的方法是用一个函数来近似价值函数,深度Q学习用神经网络来近似动作价值函数。网络的输入是状态,输出是各种动作的价值函数值。下面用一个例子进行说明。算法要实现自动驾驶,将当前场景的图像作为状态,神经网络的输入是这种图像,输出是每个动作对应的Q函数值,这里的动作是左转,右转,刹车,加油门等。显然,神经网络输出层的尺寸与动作数相等。

DeepMind提出了一种用深度Q解决Atari游戏的方法,使用卷积神经网络拟合Q函数,称为深度Q网络(简称DQN)。网络的输入为经过处理后游戏图像画面,原始的画面是210x160的彩色图像,每个像素的值为[0, 255]之间的整数,所有可能的状态数为:

这个规模的矩阵无法直接用表格存储。网络的输出值是在输入状态下执行每个动作的Q函数值,在这里有18个值,代表游戏中的18种动作。神经网络用于近似最优Q函数:

其中是网络的参数。网络结构如下图所示:

关键问题是训练样本标签值的与损失函数的设计。这里的目标是逼近最优策略的Q函数值,因此可以采用Q学习的做法。损失函数用神经网络的输出值与Q学习每次迭代时的更新值构造,定义为:

在这里采用了欧氏距离损失,是神经网络的输出值与Q函数估计值之间的误差,与Q学习中的更新项相同。另一个问题是如何得到训练样本,和Q学习类似,可以通过执行动作来生成样本。实现时,用当前的神经网络进行预测,得到所有动作的价值函数,然后按照策略选择一个动作执行,得到下一个状态以及回报值,以此作为训练样本。

这里还使用了经验回放(Experience Replay)技术。神经网络要求训练样本之间独立同分布,而Atari游戏的训练样本是一个时间序列,前后具有相关性。解决这个问题的做法是经验池,将样本存储在一个集合中,然后从中随机采样得到每次迭代所用的训练样本。

深度Q学习基于动作价值函数,它用神经网络拟合Q函数的最优值,通过函数值间接得到最优策略。如果动作集合是连续的或维数很高,这种方法将面临问题。例如算法要控制机器人在和方向上移动,每个方向上的移动距离是[-1.-, +1.0]之间的实数,移动距离无法穷举出来离散化成动作集合,因此无法使用基于价值函数的方法。此时可以让神经网络根据输入的状态直接输出和方向的移动距离,从而解决连续性动作问题。

策略梯度(Policy Gradient)算法是这种思想的典型代表,策略函数网络的输入是图像之类的原始数据。策略函数根据这个输入状态直接预测出要执行的动作:

其中是神经网络的参数。对于随机性策略,神经网络的输出是执行每种动作的概率值:

这是一种更为端到端的方法,神经网络的映射定义了在给定状态的条件下执行每种动作的概率,根据这些概率值进行采样可以得到要执行的动作。对于离散的动作,神经网络的输出层神经元数量等于动作数,输出值为执行每个动作的概率。对于连续型动作,神经网络的输出值为高斯分布的均值和方差,动作服从此分布。

这里的关键问题是构造训练样本和优化目标函数,在这两个问题解决之后剩下的就是标准的神经网络训练过程。在样本生成问题上,策略梯度算法采用的做法和DQN类似,用神经网络当前的参数对输入状态进行预测,根据网络的输出结果确定出要执行的动作,接下来执行这个动作,得到训练样本,并根据反馈结果调整网络的参数。如果最后导致负面的回报,则更新网络的参数使得在面临这种输入时执行此动作的概率降低;否则加大这个动作的执行概率。策略梯度算法在优化目标上和深度Q学习不同,深度Q学习是逼近最优策略的Q函数,而策略梯度算法是通过最大化回报而逼近最优策略。

原文标题:【算法地图】一张地图带你玩转机器学习

文章出处:【微信号:AI_era,微信公众号:新智元】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
分享:

评论

相关推荐

探讨可用性对人工智能技术的影响力

安德鲁·摩尔是谷歌云AI业务的新主管,这个部门致力于提供机器学习工具和技术在普通企业中的可用性和实用....

的头像 摄像头观察 发表于 11-14 15:55 189次 阅读
探讨可用性对人工智能技术的影响力

中国超美、日成全球AI专利申请第一,自然语言处理受全球热捧

本文摘选自中国专利保护协会报告,对人工智能技术在世界范围内和在我国的专利申请数据进行了深入分析,旨在....

发表于 11-14 14:13 106次 阅读
中国超美、日成全球AI专利申请第一,自然语言处理受全球热捧

机器学习的关键点是什么 数据量比算法还重要

相关性并不意味着因果关系这一点被频繁提起,以至于都不值得再批评。但是,我们讨论的某类模型可能只学习相....

发表于 11-14 10:19 30次 阅读
机器学习的关键点是什么 数据量比算法还重要

值得研究的四大机器学习策略分析

机器学习有四种广受认可的形式:监督式、无监督式、半监督式和强化式。在研究文献中,这些形式得到了深入的....

发表于 11-14 10:17 27次 阅读
值得研究的四大机器学习策略分析

GitHub上25个最受欢迎的开源机器学习库

除了 TensorFlow 、Keras 和 Scikit-learn 之外,Apache 的 MX....

的头像 电子发烧友网工程师 发表于 11-14 09:23 164次 阅读
GitHub上25个最受欢迎的开源机器学习库

谷歌大脑提出了一种简单的方法,用于将概率编程嵌入到深度学习生态系统

要在程序中指定随机选择,我们使用了Edward的RandomVariables。RandomVari....

的头像 新智元 发表于 11-14 09:15 355次 阅读
谷歌大脑提出了一种简单的方法,用于将概率编程嵌入到深度学习生态系统

根据数据科学家最常使用的四种编程语言推荐相应的IDE

PyCharm包括很多工具,集成的调试器和测试运行器,性能调试工具,内置终端,集成主要版本控制系统(....

的头像 论智 发表于 11-14 09:01 115次 阅读
根据数据科学家最常使用的四种编程语言推荐相应的IDE

通信原理基础课程之通信基本的概念资料概述

本文档的主要内容详细介绍的是通信原理基础课程之通信基本的概念资料概述主要内容包括了:一、什么是通信?....

发表于 11-14 08:00 13次 阅读
通信原理基础课程之通信基本的概念资料概述

机器学习技术如何解决5G承载网运营难题

5G商用时间越来越近,留给运营商建设5G承载网的时间已经不多了。根据预测,5G时代普通用户的每个月数....

发表于 11-13 16:53 66次 阅读
机器学习技术如何解决5G承载网运营难题

使用机器学习的方法来管理自动、半自动和有人类驾驶车辆共享道路的交通

要想建立一个公平的具有可比性的框架,首先要解决怎么比对的问题:“除非我们处理同样的问题,否则很难比较....

的头像 将门创投 发表于 11-13 09:38 235次 阅读
使用机器学习的方法来管理自动、半自动和有人类驾驶车辆共享道路的交通

AI画作被佳士得拍卖无疑是一座里程碑,但外界对此有什么看法呢?

对抗网络的基本概念是非常强大的,如今各种生成式对抗网络(GAN)是机器学习的基石。它们为 AI 艺术....

的头像 电子发烧友网工程师 发表于 11-13 09:26 298次 阅读
AI画作被佳士得拍卖无疑是一座里程碑,但外界对此有什么看法呢?

递归指的是在函数的定义中使用函数自身的方法

C语言支持递归,即一个函数可以调用其自身。但在使用递归时,程序员需要注意定义一个从函数退出的条件,....

的头像 电子发烧友网工程师 发表于 11-12 15:06 110次 阅读
递归指的是在函数的定义中使用函数自身的方法

C语言errno、perror()和strerror()

让我们来模拟一种错误情况,尝试打开一个不存在的文件。您可以使用多种方式来输出错误消息,在这里我们使用....

的头像 电子发烧友网工程师 发表于 11-12 15:01 70次 阅读
C语言errno、perror()和strerror()

基于深度学习的人脸识别技术全解

全面解析人脸识别技术原理、领域人才情况、技术应用领域和发展趋势。

的头像 悟空智能科技 发表于 11-12 14:54 1726次 阅读
基于深度学习的人脸识别技术全解

C语言中的动态内存管理

但是,如果您预先不知道需要存储的文本长度,例如您向存储有关一个主题的详细描述。在这里,我们需要定义一....

的头像 电子发烧友网工程师 发表于 11-12 14:46 85次 阅读
C语言中的动态内存管理

AI会不会像Android和iOS一样,五年后归于平淡?转型AI真的有必要吗?

工业界未来需要什么样的机器学习人才?老生常谈,能将模型应用于专业领域的人,也就是跨领域让机器学习落地....

的头像 电子发烧友网 发表于 11-12 11:10 320次 阅读
AI会不会像Android和iOS一样,五年后归于平淡?转型AI真的有必要吗?

七大大咖嘉宾主题报告,指明AI发展新趋势

大会的第一位嘉宾是亚马逊资深主任科学家、Alexa&Echo 技术负责人 Nikko Strom,他....

的头像 电子发烧友网工程师 发表于 11-12 10:55 452次 阅读
七大大咖嘉宾主题报告,指明AI发展新趋势

CSDN三倍速定律,透过技术社区看未来趋势

最近,我们针对一些AI Top公司做了一些调查报告,希望了解这些大公司的人才分布,公开论文的发表情况....

的头像 电子发烧友网工程师 发表于 11-12 10:51 273次 阅读
CSDN三倍速定律,透过技术社区看未来趋势

TensorFlow:面向公众的机器学习库

2009年,Hinton领导的研究小组大大减少使用DistBelief的神经网络的错误数量,通过Hi....

的头像 新智元 发表于 11-12 10:31 289次 阅读
TensorFlow:面向公众的机器学习库

专家告诉你中国如何成为AI头雁

那中国目前的AI发展有哪些短板需要补齐呢?杨静认为,中国在人工智能产业发展里存在“脚重头轻”症状,具....

的头像 新智元 发表于 11-12 10:25 257次 阅读
专家告诉你中国如何成为AI头雁

谷歌组建专门道德团队,对抗AI偏见问题

这种关于人AI技术的新立场是受到谷歌出现问题的影响而提出的。除了“大猩猩”事件之外,哈佛大学研究人员....

的头像 新智元 发表于 11-12 10:22 331次 阅读
谷歌组建专门道德团队,对抗AI偏见问题

用AI打击论文图像造假,仍有4000多篇医学“问题论文”

宾夕法尼亚大学生物工程副教授Arjun Raj早在2012年就指出,平均一篇生物医学研究论文背后的科....

的头像 新智元 发表于 11-12 10:19 493次 阅读
用AI打击论文图像造假,仍有4000多篇医学“问题论文”

物联网的未来等于全自动化经济

这可能是一些微不足道的事情,例如冰箱向您展示其储藏室的实时景象,或者当牛奶即将用完时提醒您;它可以是....

发表于 11-12 10:03 106次 阅读
物联网的未来等于全自动化经济

在数据科学领域,真正的“全科专家”屈指可数

当我还在大学读书的时候,我写了一篇关于数据科学和建筑能源审计的长论文,这是我第一个真正意义上的数据科....

的头像 论智 发表于 11-12 09:42 253次 阅读
在数据科学领域,真正的“全科专家”屈指可数

词对嵌入技术,可以改善现有模型在跨句推理上的表现

这种做法其实和词嵌入一脉相承。词嵌入同样面临计算所有上下文(softmax)过于复杂的问题。因此,w....

的头像 论智 发表于 11-12 09:38 181次 阅读
词对嵌入技术,可以改善现有模型在跨句推理上的表现

如何用单独的GPU,在CIFAR-10图像分类数据集上高效地训练残差网络

现在我们假设在一个英伟达Volta V100 GPU上用100%的计算力,训练将需要多长时间。网络在....

的头像 论智 发表于 11-12 09:35 214次 阅读
如何用单独的GPU,在CIFAR-10图像分类数据集上高效地训练残差网络

LED闪烁开发之while循环函数和delay延时函数的资料概述

本文档的主要内容详细介绍的是LED闪烁开发之C语言常用的预处理命令和while循环函数及delay延....

发表于 11-12 08:00 28次 阅读
LED闪烁开发之while循环函数和delay延时函数的资料概述

通过人工智能分析青少年近视状况

过去,青少年近视眼研究数据量小,无法完全反映其发展规律,因此不能有效进行预测及早期精准干预。近期,中....

的头像 高工智能未来 发表于 11-10 11:21 459次 阅读
通过人工智能分析青少年近视状况

关于机器学习的超全总结

根据训练数据是否有标记,机器学习任务大致分为两大类:监督学习和非监督学习,监督学习主要包括分类和回归....

的头像 将门创投 发表于 11-10 10:55 300次 阅读
关于机器学习的超全总结

人工智能和机器学习的爆炸式发展正在改变计算的本质

Young认为,由于传统芯片难以实现更高的性能和效率,来自AI研究人员的需求正在激增。他一口气列举了....

的头像 新智元 发表于 11-10 10:49 699次 阅读
人工智能和机器学习的爆炸式发展正在改变计算的本质

A12X仿生芯片全面拆解,爆表式性能碾压

全新发布的 2018 iPad Pro 有许多亮点,但最亮眼的莫过于A12X仿生芯片。苹果在产品发布....

的头像 新智元 发表于 11-10 10:45 703次 阅读
A12X仿生芯片全面拆解,爆表式性能碾压

《深度学习500问》通过问答的形式对深度学习相关的各类热点问题进行梳理阐述

本章开始进入主题,为了描述神经网络,书中从最简单的神经网络说起,然后层层深入,列举了神经网络的常用模....

的头像 新智元 发表于 11-10 10:43 367次 阅读
《深度学习500问》通过问答的形式对深度学习相关的各类热点问题进行梳理阐述

新书《解析深度学习:卷积神经网络原理与视觉实践》试读

我们知道,深度神经网络模型复杂的解空间中存在非常多的局部最优解,但经典批处理随机梯度下降法(mini....

的头像 新智元 发表于 11-10 10:23 413次 阅读
新书《解析深度学习:卷积神经网络原理与视觉实践》试读

深度学习在可解释性推理方向上的进展

所以网络学习特征向量,和未见分类一起保存于可微记忆块之中。这一表示不断发展,给了神经网络学习“如何快....

的头像 论智 发表于 11-10 10:07 424次 阅读
深度学习在可解释性推理方向上的进展

Abhay Pawar总结的进入Kaggle2%的技巧

如果因变量(目标变量)是二元的,所有的点要么分布在0,要么分布在1,散点图是无法工作的。对于连续的目....

的头像 论智 发表于 11-10 09:31 270次 阅读
Abhay Pawar总结的进入Kaggle2%的技巧

搭建了一款GIF动图生成器,其中使用的是OpenCV

ImageMagick是一个跨平台的、基于命令行的工具,能提供多种图片处理功能,例如只用一行指令就能....

的头像 论智 发表于 11-10 09:27 188次 阅读
搭建了一款GIF动图生成器,其中使用的是OpenCV

申请数据科学家职位的经验分享

这里是一些例子:如果你需要参加一个MOOC课程学习一些基础,那很好。但不要陷入MOOC螺旋:MOOC....

的头像 论智 发表于 11-10 09:24 209次 阅读
申请数据科学家职位的经验分享

为何我们不把机器学习更广泛地应用在文件压缩方面呢?

这篇文章告诉我们:通过神经网络,在带宽相同的条件下,用户体验将能提高43%,或者在带宽缩减17%的条....

的头像 中国人工智能学会 发表于 11-09 15:45 337次 阅读
为何我们不把机器学习更广泛地应用在文件压缩方面呢?

如何更好地利用这些智能技术来提高工作效率和优化见解

如何打造分析文化?首先,让数据在整个组织范围内广泛可用。在组织的每个级别提供分析能力,强化以数据驱动....

的头像 Tableau社区 发表于 11-09 11:20 339次 阅读
如何更好地利用这些智能技术来提高工作效率和优化见解

关于STM32入门库函数的问题

我是直接记住这个函数的功能呢,还是去看这个函数的代码(即实现过程呢),小白,在这里请求大家指点...

发表于 11-09 08:55 126次 阅读
关于STM32入门库函数的问题

MATLAB的常用命令合集详细资料免费下载

本文档的主要内容详细介绍的是MATLAB的常用命令合集详细资料免费下载,汇集MATLAB命令,快速查....

发表于 11-09 08:00 26次 阅读
MATLAB的常用命令合集详细资料免费下载

数字电子技术复习试卷和答案资料免费下载

本文档的主要内容详细介绍的是数字电子技术复习试卷和答案资料免费下载 在每小题列出的四个备用选项中只....

发表于 11-09 08:00 25次 阅读
数字电子技术复习试卷和答案资料免费下载

C语言中提供了许多内置的输入输出函数

stdio.h 是一个头文件 (标准输入输出头文件) and #include 是一个预处理命令,用....

的头像 电子发烧友网工程师 发表于 11-08 14:44 133次 阅读
C语言中提供了许多内置的输入输出函数

C程序员如何创建、打开、关闭文本文件或二进制文件

如果这个函数在读取最后一个字符之前就遇到一个换行符 '\n' 或文件的末尾 EOF,则只会返回读取到....

的头像 电子发烧友网工程师 发表于 11-08 14:38 115次 阅读
C程序员如何创建、打开、关闭文本文件或二进制文件

如何发挥边缘人工智能的潜力

这些基于DSP的平台包括由标量和矢量DSP处理器及硬件加速器组成的混合架构,以及用于简化软件开发的....

的头像 电子发烧友网工程师 发表于 11-08 14:33 213次 阅读
如何发挥边缘人工智能的潜力

Flex Logix公司称它解决了深度学习的DRAM问题

需要快速连续地将数百万个权重加载到网络中,这就是每秒要做数万亿次到数十万亿次运算的AI系统为什么需要....

的头像 IEEE电气电子工程师学会 发表于 11-08 14:12 244次 阅读
Flex Logix公司称它解决了深度学习的DRAM问题

浅析自动驾驶的发展历程、市场规模态势及国内外厂家的布局

本报告对自动驾驶的发展历程、产业链图谱、市场规模态势及国内外厂家的布局进行了详细的阐述和分析。

的头像 智车科技 发表于 11-08 11:03 927次 阅读
浅析自动驾驶的发展历程、市场规模态势及国内外厂家的布局

人工智能机器学习程序可分析患者肺癌肿瘤影像

美国纽约大学医学院研究者报告的一种新的美国纽约大学医学院研究者报告的一种新的人工智能/机器学习程序可分析患者肺癌肿瘤影像...

发表于 11-08 06:45 97次 阅读
人工智能机器学习程序可分析患者肺癌肿瘤影像

如何跳转到函数使用它的地址?

你好,先生, 现在我有一个问题,如何跳转到函数使用它的地址? 在我的项目中,我找到了映射文件中一个函数的地址。例如, 空...

发表于 11-05 14:34 59次 阅读
如何跳转到函数使用它的地址?

*Alpha_State_Ptr()函数去分配任务有什么好处

   TI的很多例程中,会使用*Alpha_State_Ptr()函数去分配任务,这样做有什么好处呢?...

发表于 10-29 11:45 171次 阅读
*Alpha_State_Ptr()函数去分配任务有什么好处

学习必看,新书热推 —《机器学习训练秘籍》

《机器学习训练秘籍》(Machine Learning Yearning)是人工智能和深度学习大佬吴恩达新出的一本书,该书着重介绍如何让机器学...

发表于 10-23 17:14 343次 阅读
学习必看,新书热推 —《机器学习训练秘籍》

回归预测之入门

最近一段时间再看斯坦福大学几期学习的教学视频,有百度首席工程师、百度大脑以及百度研究院的负责人吴恩达教授讲述,内容深入浅...

发表于 10-15 10:19 183次 阅读
回归预测之入门

如何利用机器学习提高光学传感器灵敏度?

        纳米结构的几何形状只要满足特定条件,并匹配入射光的波长,就能够大幅提高光学传感器的...

发表于 10-15 09:51 122次 阅读
如何利用机器学习提高光学传感器灵敏度?

如何发展物联网战略

亚马逊公司前高管约翰·罗斯曼分享他的清单,可以为组织开发物联网战略提供一定的参考。 物联网(IoT)可能是互联网时代曙光之...

发表于 10-12 10:03 187次 阅读
如何发展物联网战略

物联网时代企业需要什么样的人才?

物联网(IoT)技术的大爆发时代即将到来,世界将进入真正的万物互联。据记者 了解,某科技公司高管明确表示,现在与客户所谈的项...

发表于 10-12 10:00 165次 阅读
物联网时代企业需要什么样的人才?

机器学习笔试题精选

机器学习是一门理论性和实战性都比较强的技术学科。在应聘机器学习相关工作岗位时,我们常常会遇到各种各样的机器学习问题和知识...

发表于 10-11 10:03 196次 阅读
机器学习笔试题精选