如何手动计算逻辑回归中的截距(Beta 0)和系数(Beta 1)?

我目前正在学习逻辑回归。但在计算截距(Beta 0)和系数(Beta 1)时遇到了困难。我在网上搜索过相关内容,但只找到了使用Microsoft Excel或R语言内置函数的教程。我听说可以通过最大似然法来解决,但我不知道如何使用,因为我没有统计学背景。有人能给我简要解释并模拟一下如何计算截距(Beta 0)和系数(Beta 1)吗?


回答:

逻辑回归没有封闭形式的解,但有许多迭代方法可以学习其参数。其中最简单的方法之一是陡降法,它只是简单地沿着梯度的相反方向迭代移动。对于一维逻辑回归,它将是:

beta1_t+1 = beta1_t - alpha * SUM_(x, y) x * (s(beta1_t*x + beta0_t) - y)beta0_t+1 = beta0_t - alpha * SUM_(x, y) (s(beta1_t*x + beta0_t) - y)

其中:

s(x) = 1 / (1 + exp(-x))

并且

  • alpha 是学习率,足够小的值,如0.01
  • 模型的预测是 s(beta1 * x + beta0)
  • 数据形式为 {(x1, y1), ..., (xK, yK)},每个 yi 是0或1

这实际上是说

beta_t+1 = beta_t - alpha * GRAD_theta J(beta_t)

其中 J 是逻辑损失

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注