两天前我刚刚研究了单线性回归和多元线性回归,现在我正在阅读有关逻辑回归的内容,我想从头开始实现它,我只想知道我对逻辑回归的理解是否正确。
你看我实际上对逻辑回归很困惑,在我对逻辑回归的理解中,我们仍然使用线性回归方程
所以我认为这里发生的是:
- 首先找到最佳拟合线,为此我们需要找到 beta 系数,就像多元线性回归一样
- 找到后系数,我们将它们与我们的自变量一起插入 sigmoid 函数以获得预测,然后就是这样。
是这样完成的吗?还是那错了?还是我们需要先或之后做一些步骤?
两天前我刚刚研究了单线性回归和多元线性回归,现在我正在阅读有关逻辑回归的内容,我想从头开始实现它,我只想知道我对逻辑回归的理解是否正确。
你看我实际上对逻辑回归很困惑,在我对逻辑回归的理解中,我们仍然使用线性回归方程
所以我认为这里发生的是:
是这样完成的吗?还是那错了?还是我们需要先或之后做一些步骤?
将逻辑回归比作标准线性回归的最简单方法是使用潜在变量解释。逻辑回归模型可以通过考虑可观察到的响应来描述:
基于不可观察的潜在变量:
如您所见,在此模型中,潜在响应变量遵循线性回归模型,其误差项具有逻辑分布。我们观察潜在响应变量是否高于零,但我们没有观察它的实际值。出于估计的目的,这体现在估计模型中的系数时存在很大差异。我们不使用 OLS 估计进行估计,因此这不是“就像多元线性回归”。尽管如此,我们确实得到了估计的系数,这确实得到了响应结果的条件概率的估计函数,所以肯定有相似之处。
不,不是这样的。引用我的另一个答案
逻辑回归可以描述为线性组合
通过链接函数传递:
其中链接函数是一个logit函数
如您所见,线性预测器 不等于条件均值,但您需要先使用 logit链接函数的倒数对其进行转换 . 如果您只是运行线性回归,您将忽略线性预测变量发生转换的事实。
您可以自己轻松地验证这一点,对相同的数据运行线性回归和逻辑回归。如果使用线性回归就足够了,你应该得到相同的回归参数。正如您从下面的示例中看到的那样,情况并非如此。
> lm(vs~mpg+cyl, data=mtcars)
Call:
lm(formula = vs ~ mpg + cyl, data = mtcars)
Coefficients:
(Intercept) mpg cyl
2.164638 -0.008217 -0.252454
> glm(vs~mpg+cyl, family=binomial, data=mtcars)
Call: glm(formula = vs ~ mpg + cyl, family = binomial, data = mtcars)
Coefficients:
(Intercept) mpg cyl
15.9714 -0.1633 -2.1482
Degrees of Freedom: 31 Total (i.e. Null); 29 Residual
Null Deviance: 43.86
Residual Deviance: 17.49 AIC: 23.49
逻辑回归通过使用最大化似然函数的优化算法进行拟合。似然函数根据伯努利分布定义:
通常使用IRLS 算法来寻找这个函数的最大值,但你可能会忽略这个事实,在没有这些知识的情况下过上幸福的生活。