2026/10/14 3:30:39
网站建设
项目流程
一、 线性回归 (Linear Regression)
- 概念:利用数理统计中的回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。目标是找到一条直线(或超平面),使得预测值尽可能接近真实值。
- 原理:
· 假设函数:h_\theta(x) = \theta^T x
· 损失函数:均方误差(MSE,基于最小二乘法)
· 优化方法:正规方程(Normal Equation)或梯度下降(Gradient Descent) - 适用范围:预测连续型变量(如房价预测、气温预测)。要求自变量与因变量之间存在线性关系,且通常假设误差服从正态分布、无多重共线性、同方差性。
- 实现逻辑:初始化参数 -> 计算预测值 -> 计算损失 -> 求导(计算梯度) -> 更新参数 -> 直至收敛。
- sklearn关键代码:
fromsklearn.linear_modelimportLinearRegression model=LinearRegression()model.fit(X_train,y_train)y_pred=model.predict(X_test)
- 理解:最基础、最直观的机器学习模型,可解释性强,对异常值敏感。
二、 逻辑回归 (Logistic Regression)
- 概念:虽然名字里有“回归”,但它本质上是分类算法。它在线性回归的基础上,引入Sigmoid函数,将输出映射到 (0, 1) 区间,表示属于某一类别的概率。
- 原理:
· 假设函数:h_\theta(x) = \frac{1}{1 + e{-\thetaT x}} (Sigmoid函数)
· 损失函数:对数似然损失(Log Loss / 交叉熵损失,基于极大似然估计)
· 优化方法:梯度下降法。 - 适用范围:二分类问题(如垃圾邮件识别、是否患病),也可扩展到多分类(Softmax)。要求数据线性可分或近似线性可分。
- 实现逻辑:线性组合 -> Sigmoid映射 -> 设定阈值(通常是0.5)分类 -> 计算交叉熵损失 -> 梯度下降优化。
- sklearn关键代码:
fromsklearn.linear_modelimportLogisticRegression model=LogisticRegression()# 注意:默认使用L2正则化model.fit(X_train,y_train)y_pred=model.predict(X_test)y_prob=model.predict_proba(X_test)# 获取概率
- 理解:计算代价低、易于实现、输出具有概率意义、可加入正则化防止过拟合。
三、 两类模型的联系与区别对比
![]()