【问题标题】:Logistic Regression using Gradient Descent使用梯度下降的逻辑回归
【发布时间】:2020-05-01 23:53:24
【问题描述】:

关于学生考试成绩的给定数据,我们的目标是预测学生是否会 通过或失败取决于睡眠时间和学习时间。我们有两个特点(小时 睡觉,学习时间)和两门课:通过(1)和失败(0)。

Studied Slept Passed
4.85    9.63  1
8.62    3.23  0
5.43    8.23  1
9.21    6.34  0

谁能解释一下如何计算前两次迭代的成本?

【问题讨论】:

    标签: machine-learning regression logistic-regression gradient-descent


    【解决方案1】:

    假设您的训练的一次迭代从您的数据集中接受一个样本。由于您使用的是逻辑回归,因此您的初始预测将是

    p = sigmoid(x1*w1 + x2*w2 + b)
    

    其中x1x2 是研究和睡眠的输入值。 w1w2 是模型的权重,b 是偏差向量。这将返回一个介于 0 和 1 之间的值。

    还请注意,我已将左侧的值命名为 p,因为这是模型的预测值。

    如果您使用二元交叉熵,此迭代的成本将是:

    −(y*log(p) + (1−y)*log(1−p))
    

    其中 y 是输入样本的真实值。如果我们在您的训练数据中获取第一个输入样本,则真实值为1

    因此,您的成本J,是:

    J = -(1*log(p) + (1-1)*log(1-p))
      = -log(p)
    

    既然我们现在知道了 cost 的值,它是模型参数的函数,我们可以使用链式法则求出参数相对于 的梯度>成本(或错误)。

    然后您将使用以下方程式更新模型的参数:

    wn = wn - alpha * dJ/dwn
    b  = b  - alpha * dJ/db
    

    其中n = 1, 2alpha 是模型的学习率。

    对于下一次迭代,您只需对数据集中的另一个样本执行相同的过程。

    【讨论】:

      猜你喜欢
      • 2021-12-22
      • 2014-08-26
      • 2015-07-15
      • 2014-03-21
      • 1970-01-01
      • 1970-01-01
      • 2020-02-25
      • 2015-06-08
      相关资源
      最近更新 更多