Machine learning 为逻辑回归定义自己的成本函数可以吗?

Machine learning 为逻辑回归定义自己的成本函数可以吗?,machine-learning,data-mining,regression,Machine Learning,Data Mining,Regression,在最小二乘模型中,成本函数被定义为预测值与实际值之差的平方,作为输入的函数 当我们进行逻辑回归时,我们将成本函数改为对数函数,而不是将其定义为sigmoid函数(产值)与实际产出之差的平方 更改并定义我们自己的成本函数以确定参数可以吗?使用逻辑函数、铰链损耗、平滑铰链损耗等,因为它们是零一二进制分类损耗的上界 这些函数通常也会对正确分类但仍在决策边界附近的示例进行惩罚,从而产生“裕度” 所以,如果你在做二进制分类,那么你当然应该选择一个标准的损失函数 如果您试图解决不同的问题,那么不同的损失函数

在最小二乘模型中,成本函数被定义为预测值与实际值之差的平方,作为输入的函数

当我们进行逻辑回归时,我们将成本函数改为对数函数,而不是将其定义为sigmoid函数(产值)与实际产出之差的平方


更改并定义我们自己的成本函数以确定参数可以吗?

使用逻辑函数、铰链损耗、平滑铰链损耗等,因为它们是零一二进制分类损耗的上界

这些函数通常也会对正确分类但仍在决策边界附近的示例进行惩罚,从而产生“裕度”

所以,如果你在做二进制分类,那么你当然应该选择一个标准的损失函数

如果您试图解决不同的问题,那么不同的损失函数可能会表现得更好。

是的,您可以定义自己的损失函数,但如果您是新手,则最好使用文献中的损失函数。损失函数应满足以下条件:

  • 它们应该近似于您试图最小化的实际损失。正如在另一个答案中所说,分类的标准损失函数是零一损失(误分类率),用于训练分类器的损失函数是该损失的近似值

    不使用线性回归的平方误差损失,因为它不能很好地逼近零一损失:当您的模型预测某些样本的+50,而预期答案为+1(正类)时,预测位于决策边界的正确一侧,因此零一损失为零,但平方误差损失仍然为49²=2401。一些训练算法将浪费大量时间获得非常接近{-1,+1}的预测,而不是只关注符号/类标签的正确性。(*)

  • 损失函数应与预期的优化算法配合使用。这就是为什么不直接使用零一损失:它不适用于基于梯度的优化方法,因为它没有一个定义良好的梯度(甚至没有一个,就像支持向量机的铰链损失一样)

    直接优化零一损失的主要算法是旧算法

  • 此外,当您插入自定义损失函数时,您不再构建逻辑回归模型,而是构建其他类型的线性分类器


    (*)平方误差与线性判别分析一起使用,但通常以闭合形式而不是迭代方式求解。

    ,其他成本函数可用于确定参数

    平方误差函数(线性回归的常用函数)不太适合逻辑回归

    与logistic回归一样,假设是非线性的(sigmoid函数),这使得平方误差函数是非凸的。

    对数函数是一个凸函数,它没有局部最优解,所以梯度下降效果很好

    你选择的不是损失函数,而是模型 当使用最大似然估计(MLE)拟合参数时,损失函数通常由模型直接确定,这是机器学习中最常用的方法

    您提到了均方误差作为线性回归的损失函数。然后“将代价函数改为对数函数”,即交叉熵损失。我们没有改变成本函数。事实上,均方误差是线性回归的交叉熵损失,当我们假设
    y
    为正态分布,其均值由
    Wx+b
    定义

    解释 使用最大似然估计,您可以选择这样的参数,即训练数据的可能性最大化。整个训练数据集的可能性是每个训练样本的可能性的乘积。因为这可能会下溢到零,我们通常会最大化训练数据的对数似然/最小化负对数似然。因此,成本函数成为每个训练样本的负对数似然之和,由下式给出:

    -log(p(y;x;w))

    其中w是我们模型的参数(包括偏差)。现在,对于逻辑回归,这是你提到的对数。但是,关于这也对应于线性回归的均方误差的说法呢

    例子 为了显示MSE对应于交叉熵,我们假设
    y
    正态分布在平均值周围,我们使用
    w^T x+b
    进行预测。我们还假设它有一个固定的方差,所以我们不使用线性回归预测方差,只使用高斯分布的平均值

    p(y | x;w)=N(y;w^T x+b,1)

    你可以看到,
    mean=w^T x+b
    variance=1

    现在,损失函数对应于

    -日志N(y;w^T x+b,1)

    如果我们看看高斯
    N
    是如何定义的,我们会看到:

    现在,取它的负对数。这导致:

    我们选择了1的固定方差。这将使第一项保持不变,并将第二项减少为:

    0.5(y-平均值)^2

    现在,请记住,我们将平均值定义为
    w^T x+b
    。由于第一项是常数,最小化高斯函数的负对数对应于最小化

    (y-w^T x+b)^2


    它对应于最小化均方误差。

    假设在逻辑回归模型中,有标量输入x,模型为每个输入样本x输出概率$\hat{y}(x)=σ(wx+b)$。如果继续,在非常特殊的情况下,建立二次损失函数w