线性回归和逻辑回归算法详解

一、线性回归(Linear Regression)

  1. 核心思想

线性回归的核心就是"找规律画直线"。它假设你要预测的结果(比如房价),和已知的条件(比如房屋面积、房间数)之间存在一种成比例的关系。模型的作用就是根据历史数据,在坐标轴上画出一条最能贴合所有数据点的直线。以后遇到新数据,直接看这条直线对应的值,就是预测结果。

  1. 衡量好坏的标准

怎么判断这条线画得准不准?通常看均方误差。简单来说,就是把模型预测的值和真实的值做对比,算出差值,然后把这个差值平方后加总。这个误差越小,说明线画得越准,模型越好。

  1. 如何找到这条线?

主要有两种办法:

直接算出来:通过数学矩阵运算,一步到位求出最完美的直线参数(正规方程)。适合数据量不大的情况。

一点点试:先随便画一条线,看看误差有多大,然后根据误差的方向,稍微调整一下线的斜率和位置,一点点逼近最完美的状态(这就是梯度下降)。

  1. 代码实例(Python)

python

import numpy as np

from sklearn.linear_model import LinearRegression

from sklearn.metrics import mean_squared_error

1. 准备简单的数据(面积 vs 价格)

X = np.array(\[1, 2, 3, 4, 5]) # 特征

y = np.array(2, 4, 6, 8, 10) # 真实值

2. 训练模型(找直线)

model = LinearRegression()

model.fit(X, y)

3. 查看结果

print("预测结果:", model.predict(\[6])) # 预测面积为6时的价格

print("误差大小:", mean_squared_error(y, model.predict(X)))

二、逻辑回归(Logistic Regression)

  1. 核心思想

名字叫回归,但它其实是做分类的(比如判断是否违约、是否患病)。如果直接用线性回归预测分类,结果可能是 100 或者 -50,这不符合概率逻辑。

逻辑回归的巧妙之处在于,它在线性回归外面套了一个"压缩器"(Sigmoid函数)。不管里面算出来的数值有多大,经过这个压缩器,结果都会被死死压在 0 到 1 之间。这个结果就被当成了概率:大于 0.5 算一类,小于 0.5 算另一类。

  1. 衡量好坏的标准

逻辑回归不能用算平方误差的方法(因为套了压缩器后,误差曲线会变得坑坑洼洼,找不到最低点)。它使用交叉熵损失:如果真实情况是 1,模型预测概率越接近 1,误差越小;如果真实情况是 0,模型预测概率越接近 0,误差越小。如果模型极度自信却猜错了,惩罚会非常重。

  1. 如何找到最优解?

通常也是用梯度下降法。一点点调整参数,让预测概率越来越贴近真实标签。

  1. 代码实例(Python)

python

import numpy as np

from sklearn.linear_model import LogisticRegression

from sklearn.metrics import accuracy_score

1. 准备简单的二分类数据

X = np.array(\[1, 2, 2, 3, 3, 3, 4, 5, 5, 6, 6, 8])

y = np.array(0, 0, 0, 1, 1, 1) # 0代表类别A,1代表类别B

2. 训练模型

model = LogisticRegression()

model.fit(X, y)

3. 预测(直接输出类别)与查看概率

print("预测类别:", model.predict(X))

print("预测概率:", model.predict_proba(X):, 1) # 查看属于类别1的概率

print("准确率:", accuracy_score(y, model.predict(X)))

极简总结

对比项 线性回归 逻辑回归

干什么用 预测具体的数值(如:明天几度) 判断属于哪个类别(如:明天会不会下雨)

输出结果 任何大小的数字 0 到 1 之间的概率值

核心法宝 画一条贴合数据的直线 给直线套上一个 0~1 的"概率压缩器"

评判标准 预测值与真实值差值的平方和 预测概率与真实标签之间的吻合度

相关推荐
xsd202411181 小时前
RelateAnything:53M小模型如何把视觉关系检测从50个谓词里解放出来
人工智能·1024程序员节
新新学长搞科研1 小时前
【浙江大学主办|ACM出版】第五届人工智能与教育国际学术会议(ICAIE 2026)
人工智能
Zzj_tju1 小时前
长期记忆让智能体更可靠,还是让错误持续累积?
人工智能·机器学习·语言模型·自然语言处理
cxoptics1 小时前
如何确定晶体中的光轴
人工智能
weixin_440932311 小时前
AI 搜索收录检测的三个工程卡点与一套判据
人工智能
霸道流氓气质1 小时前
智能客服组件:分层意图识别、RAG Advisor 与人工转接状态机的 Vue3 + Spring AI 生产级实战
java·人工智能·spring
深蓝AI1 小时前
苹果智能入华拆解:八样首批功能、支持的机型、千问在三个入口的位置
人工智能·架构
前端 贾公子2 小时前
第 1 章:Vibe Coding 与 Agent 的工作方式
人工智能
jimy12 小时前
C++ 中的 `T&&`:右值引用与转发引用
开发语言·c++