构建机器学习算法

参考  构建机器学习算法 - 云+社区 - 腾讯云

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

                                                                          \tiny J(w,b)=-E_{x,y\sim \hat{p}_{data}}logp_{model}(y|x)

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

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

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

该优化仍然有闭解。

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

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

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

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

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wanderer001

ROIAlign原理

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值