机器学习训练原理#梯度下降算法/似然函数

似然函数

对于似然函数,你了解多少呢?

极大似然估计方法(Maximum Likelihood Estimate,MLE)也称为最大概似估计或最大似然估计。

概率(Probability)

当我们知道某些固定的参数,就可以据此推断出在这些参数的条件下,产生所有分布的概率,即概率函数。例:假设我们有一个公平的六面骰子,我们想知道掷出特定数字(比如数字3)的概率。在这个情况下,每次掷骰子都是独立的,每个数字出现的概率是相等的,即1/6。

似然(Likelihood)

当不知道参数,但是知道其发生的结果时,可以根据结果推断参数值的概率。即与概率恰恰相反。现在假如抛出的骰子出现3的次数明显高于其他,那么就很有极大可能骰子是不公平的。但是也不能排除是公平骰子的可能,从理论上来说,几乎任何参数值都有可能产生这种结果(区别只是概率的大小),我们要找的就是最大概率产生这种结果的参数。

引例:

若给出一组x,y,我们如何根据原有数据来预测出未知的数据呢?就需要用到似然函数来估计参数。

因为每组数据是独立的,所有可以将其连乘得到似然函数。下面的目标就是找到合适的参数值,让似然函数值达到最大。

为什么取对数,主要有以下原因:

1数值稳定性:在计算过程中,直接计算似然函数可能会遇到数值下溢的问题,即当似然值非常小的时候,计算机可能无法准确表示。当计算的结果非常接近于0时,计算机可能无法区分这个结果和真正的0。大多数计算机使用有限的位数来表示浮点数,这意味着非常小的正数可能无法被精确表示。例如,一个非常小的概率值,如 10−5010−50,在计算机中可能直接被表示为0,这会导致后续的计算错误。

2简化乘法为加法:似然函数通常涉及多个独立事件的概率的乘积。在对数变换后,乘法运算可以转换为加法运算,这在数学上和计算上都更为简单。例如,如果有两个独立事件A和B,它们的联合似然是P(A∩B)=P(A)×P(B)P(A∩B)=P(A)×P(B),取对数后变为 log⁡(P(A∩B))=log⁡(P(A))+log⁡(P(B))log(P(A∩B))=log(P(A))+log(P(B))

为什么可以取对数?

取对数后,让似然函数取到最大值的参数值是不变的,我们要找的就是该参数值。

梯度下降算法(求解参数)

梯度下降算法通过计算损失函数相对于每个参数的梯度(即偏导数),并使用这些梯度来更新参数。梯度指向损失函数增长最快的方向,因此,通过在梯度的相反方向上调整参数,可以减少损失函数(loss function)的值。

为什么不将所有数据带入方程求参?而是采用梯度下降算法呢?

在求解模型参数时,直接将所有数据带入方程求解参数(通常称为解析解)和使用梯度下降算法(一种数值优化方法)之间存在一些关键的区别和考虑因素。以下是一些主要原因,为什么在许多情况下,人们会选择使用梯度下降算法而不是直接求解:

  1. 模型复杂性:在许多实际应用中,模型可能非常复杂,例如深度学习模型。这些模型的参数数量可能非常庞大,而且模型的损失函数(需要最小化的目标函数)可能是非凸的,这意味着存在多个局部最小值。在这种情况下,解析解可能不存在或者难以直接计算。

  2. 计算成本:对于大规模数据集,直接求解所有数据的解析解可能在计算上非常昂贵。例如,如果数据集包含数百万甚至数十亿个样本,那么计算和存储整个数据集的梯度可能不切实际。

  3. 梯度下降的灵活性:梯度下降算法允许在训练过程中使用小批量(mini-batch)数据来近似整个数据集的梯度。这种方法可以显著减少每次迭代的计算成本,并且通常可以更快地收敛。

  4. 内存限制:在处理大型数据集时,直接计算所有数据的解析解可能需要大量的内存。梯度下降算法可以通过使用小批量数据来减少内存需求。

  5. 泛化能力:在某些情况下,直接对所有数据求解参数可能导致过拟合,即模型在训练数据上表现很好,但在未见过的数据上表现不佳。梯度下降算法通过在训练过程中逐步调整参数,有助于模型学习到更泛化的特征。

  6. 适应性:梯度下降算法可以很容易地适应不同的优化目标和约束条件。例如,如果模型需要满足某些特定的约束,梯度下降算法可以通过适当的修改来考虑这些约束。

  7. 并行计算:梯度下降算法天然适合并行计算,因为它可以在多个处理器或计算节点上同时计算不同数据点的梯度。这种并行性可以显著加快训练过程。

  8. 实现简单:对于许多常见的优化问题,梯度下降算法的实现相对简单,而且有大量的库和工具可以支持其实现。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值