线性回归的知识点

目录

线性回归的应用场景

经济学:

市场营销:

医学研究:

教育评估:

人力资源管理:

预测与趋势分析:

线性回归定义和公式

线性回归API:

一、导入库和数据准备

二、创建线性回归模型

三、训练模型

四、查看模型参数

五、进行预测

整体代码演示:

数学:求导

线性回归的损失和优化

一、线性回归的损失函数

二、线性回归的优化方法

梯度下降法

二、梯度下降法步骤

三、梯度下降法类型

批量梯度下降法(Batch Gradient Descent, BGD):每次迭代使用整个训练集来计算梯度,并更新参数。这种方法在数据量较大时计算量很大,但通常能够得到全局最优解(如果损失函数是凸函数)。

随机梯度下降法(Stochastic Gradient Descent, SGD):每次迭代只随机选择一个样本来计算梯度,并更新参数。这种方法计算量小,收敛速度快,但可能无法收敛到全局最优解,而是在其附近波动。

小批量梯度下降法(Mini-batch Gradient Descent):每次迭代使用一小部分样本来计算梯度,并更新参数。这种方法是BGD和SGD的折中,既减少了计算量,又提高了收敛的稳定性。

最小二乘法(正规方程)


线性回归的应用场景

线性回归因其简洁的数学模型和强大的预测能力,在多个领域有着广泛的应用。以下是一些主要的应用场景:

  1. 经济学

    • GDP与失业率关系分析:经济学家可以通过线性回归模型分析GDP增长与失业率之间的关系,了解经济增长对就业市场的影响,为政府制定经济政策提供参考。
    • 物价与消费者支出关系:利用线性回归研究物价水平变化如何影响消费者的支出行为,有助于理解通货膨胀对消费市场的冲击。
  2. 市场营销

    • 广告投入与销售额关系:市场营销人员可以通过线性回归模型分析广告投入与销售额之间的线性关系,从而确定最佳的广告预算策略,以最大化销售效果。
    • 产品价格与销量关系:线性回归还可以用于研究产品价格调整对销量的影响,帮助企业制定合理的定价策略。
  3. 医学研究

    • 药物剂量与治疗效果关系:医学研究人员可以利用线性回归模型评估不同药物剂量对患者治疗效果的影响,为制定个性化的治疗方案提供依据。
    • 生活方式与健康指标关系:通过线性回归,可以分析生活方式因素(如饮食、运动等)与健康指标(如血压、血糖等)之间的关系,为公共卫生政策的制定提供数据支持。
  4. 教育评估

    • 学习时间与考试成绩关系:教育工作者可以通过线性回归模型研究学习时间与考试成绩之间的线性关系,了解学习投入对学业成绩的影响,从而制定更科学的教学计划。
    • 教育投入与学生表现关系:线性回归还可以用于评估学校或政府对教育的投入如何影响学生的综合素质和表现。
  5. 人力资源管理

    • 员工培训时间与绩效关系:人力资源管理者可以利用线性回归模型分析员工培训时间与工作绩效之间的线性关系,以确定最有效的培训时长和方式。
    • 工资与员工满意度关系:通过线性回归,可以研究工资水平对员工满意度的影响,帮助企业制定更具吸引力的薪酬政策。
  6. 预测与趋势分析

    • 销售预测:基于历史销售数据,利用线性回归模型可以预测未来的销售趋势,为企业制定市场策略提供数据支持。
    • 金融市场分析:在金融领域,线性回归被广泛应用于股票价格预测、市场趋势分析等,帮助投资者做出更明智的投资决策。

线性回归定义和公式

  • 定义:线性回归是通过最小化误差的平方和来寻找数据的最佳函数匹配。利用这种函数关系,可以根据一个或多个自变量来预测因变量的值。
  • 公式:线性回归的通用公式可以表示为 y = w'x + b,其中 y 是因变量,x 是自变量(可以是多个自变量的向量),w 是回归系数(或称为权重),b 是截距项,w'x 表示 w 和 x 的点积(当 x 是向量时)。在多元线性回归中,w 和 x 都是向量,公式变为 y = w_1x_1 + w_2x_2 + ... + w_nx_n + b,其中 n 是自变量的数量。

线性回归API:

线性回归API的初步使用主要涉及scikit-learn(sklearn)库中的LinearRegression类。

一、导入库和数据准备

首先,需要导入必要的库,并准备数据。数据通常包括特征(自变量)和目标值(因变量)。

import numpy as np
from sklearn.linear_model import LinearRegression

二、创建线性回归模型

使用LinearRegression类创建一个线性回归模型实例。

model = LinearRegression()

三、训练模型

使用fit方法对模型进行训练,传入特征矩阵X和目标值向量y

model.fit(X, y)

四、查看模型参数

训练完成后,可以通过模型的属性查看模型的参数,包括回归系数(斜率)和截距。

print('斜率:', model.coef_) # 回归系数
print('截距:', model.intercept_) # 截距

五、进行预测

使用训练好的模型对新数据进行预测。传入新的特征矩阵,模型将返回预测的目标值。

new_X = np.array([[3, 5]]) # 新的特征数据
predictions = model.predict(new_X) # 进行预测
print('预测结果:', predictions)

整体代码演示:

from sklearn.linear_model import LinearRegression

#1.获取数据
x =[[80,86],
    [82,80],
    [85,78],
    [90,90],
    [86,82],
    [82,90],
    [78,80],
    [92,94]]
y=[84.2, 80.6, 80.1, 90, 83.2, 87.6, 79.4, 93.4]
#2.模型训练
# 2.1 实例化一个估计器
estimator =LinearRegression( )
# 2.2 使用fit方法进行训练
estimator.fit(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值