前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >构建机器学习算法

构建机器学习算法

作者头像
狼啸风云
修改2022-09-04 21:40:13
6600
修改2022-09-04 21:40:13
举报

激活所有的深度学习算法都可以被描述为一个相当简单的配方:特定的数据集、代价函数、优化过程和模型。例如,线性回归算法由以下部分组成,xy构成的数据集,代价函数:

J(w, b)=-E_{x, y \sim \hat{p}_{\text {data }}} \log p_{\text {model }}(y \mid x)

模型是p(y \mid x)=N\left(y ; x^{T} w+b, 1\righ ,在大多数情况下,优化算法可以定义为求解代价函数梯度为零的正规方程。意识到可以替换独立于其他组件的大多数组件,因此我们能得到很多不同的算法。通常代价函数至少含有一项使学习过程进行统计估计的成分。最常见的代价函数是负对数似然,最小化代价函数导致的最大似然估计。

代价函数也可能含有附加项,如正则化项。例如,我们可以将权重衰减加到线性回归的代价函数中:

J(w, b)=\lambda\|w\|_{2}^{2}-E_{x, y \sim \hat{p}_{\text {data }}} \text { logp }_{\text {model }}(y \mid x)

该优化仍然有闭解。

如果我们将该模型变成非线性的,那么大多数代价函数不再能通过闭解优化。这就要求我们选择一个迭代数值优化过程,如梯度下降等。

组合模型、代价和优化算法的配方同时适用于监督学习和无监督学习。线性回归示例说明了如何适用于监督学习的。无监督学习时,我们需要定义一个只包含X的数据集。一个合适的无监督代价和一个模型。例如,通过指定如下损失函数可以得到PCA第一个主向量:

J(w)=E_{x \sim \hat{p}_{\text {data }}}\|x-r(x ; w)\|_{2}^{2}

模型定义为重构函数r(x)=w^{T} x w ,并且w有范数为1的限制。

在某些情况下,由于计算原因,我们不能实际计算代价函数。在这种情况下,只要有近似梯度的方法,那么我们仍然可有使用迭代数值优化近似最小化目标。尽管有时候不明显,那么通常需要使用特殊的优化方法进行求解。有些模型,如决策树或k-均值,需要特殊的优化,因为它们的代价函数有平坦的区域,使其不适合通过基于梯度的优化去最小化。在认识到大部分机器学习算法可以使用上述配方描述之后,我们可以将梯度的优化去最小化。在认识到大部分机器学习算法可以使用上述配方描述之后,我们可以将不同算法视为出于相同原因解决相关问题的一类方法,而不是一长串各个不同的算法。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019年07月28日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档