逻辑回归与线性回归的系数是否应当一致?
线性回归与逻辑回归系数差异的原因
你对维基百科的表述存在理解偏差,逻辑回归里的线性预测项(a0 + a1x)并不是直接复用线性回归的系数,两者的系数由完全不同的优化目标推导而来,这是核心原因:
1. 两个模型的优化逻辑本质不同
- 线性回归:以均方误差最小化为目标,拟合的是因变量的条件均值
E[y|x]。对你的0/1标签数据来说,它会试图画一条直线,让所有样本点到直线的平方距离总和最小,本质是对P(y=1|x)的连续近似拟合。 - 逻辑回归:以对数似然函数最大化为目标,直接建模分类概率
P(y=1|x)。它通过sigmoid函数将线性预测值压缩到0-1区间,优化方向是让预测概率与真实标签的匹配度最高,属于分类任务的优化逻辑。
2. 纠正对维基百科表述的误解
逻辑回归公式y = 1/(1 + e^(-(a0 + a1x)))
这里的a0 + a1x是逻辑回归自身的线性预测组件,而非线性回归的系数。维基百科只是在描述逻辑回归的结构——它基于线性组合的结果做概率转换,并没有说这个线性组合的系数和线性回归一致。
3. 结合你的代码实例验证
即使使用全量数据而非划分后的训练集,两者的系数也会差异明显:
# 用全数据拟合对比 lm_full = LinearRegression() lr_full = LogisticRegression() lm_full.fit(df[['x']], df['y']) lr_full.fit(df[['x']], df['y']) print(lm_full.coef_, lm_full.intercept_) # 输出: [0.04761905] 0.023809523809523808 print(lr_full.coef_, lr_full.intercept_) # 输出: [[0.2113892]] [-2.33066055]
可见无论是否划分数据集,系数都完全不同,这是由模型的核心优化逻辑决定的。
内容的提问来源于stack exchange,提问作者HGH
相关产品推荐
相关产品推荐

