线性回归(Linear Regression)算法 简介

线性回归(Linear Regression)算法

根据已有的数据去寻找一条直线,让它尽可能地接近这些数据,再用这条直线预测新数据的可能结果,这个结果是一个具体的数值。

sh 复制代码
Y = AX + B

根据样本数据求出方程的最优解.

损失函数

损失函数 (代价函数) : 定义一个距离公式来计算线性回归的预测值和真实值之间的差异.

损失函数就可以用来评价模型的预测值和真实值之间不一样的程度,损失函数值越小,模型性能越好。

常见损失函数:

  • 均方误差(Mean Squared Error,MSE)
  • 平均绝对误差(Mean Absolute Error,MAE)
  • Huber损失
  • 对数损失(Logarithmic Loss)

点击查看损失函数详情: https://blog.csdn.net/galoiszhou/article/details/135131900

线性回归算法的优点:

  • 算法简单
  • 数学原理清晰
  • 运算效率高
  • 可解释性强

线性回归算法的缺点:

  • 精确度相对较低
  • 不相关的特征会对模型的效果影响很大
  • 数据量小的情况下, 容易出现过拟合
  • 不具备解一个非线性分布的能力

线性回归算法的适用场景:

  • 性关系
    • 当自变量(特征)与因变量之间存在线性关系时,线性回归是一种自然的选择。线性回归假设因变量与自变量之间的关系可以用线性方程描述。
  • 单变量问题
    • 在只有一个自变量的情况下,单变量线性回归是一种简单而有效的建模方法。例如,预测房价与房屋面积之间的关系。
  • 多变量问题
    • 当存在多个自变量时,多变量线性回归可以用于建模。多元一次方程.
  • 稳定性
    • 线性回归对数据集中的噪声和异常值相对稳定,特别是在数据集较大、噪声较小的情况下。
  • 可解释性要求
    • 线性回归提供了直观的可解释性,可以理解各个自变量对因变量的影响程度,并得到具体的系数值。
  • 特征之间相对独立
    • 线性回归假设特征之间相对独立,这对于模型的解释和理解有一定要求。如果特征之间存在多重共线性,线性回归的结果可能不够可靠。
  • 预测性能要求不高
    • 当预测性能要求相对较低,而可解释性和模型的简单性更为重要时,线性回归是一个合适的选择。

线性回归算法的案例:

  • 房价预测
    • 用于预测房屋价格的案例是线性回归算法应用的典型案例。特征可以包括房屋的面积、卧室数量、浴室数量等。通过线性回归建模,可以预测房价。
  • 销售预测
    • 线性回归可用于预测产品销售量。特征可以包括广告投入、季节性因素、促销活动等,而销售量则是因变量。这样的模型可以帮助企业制定营销策略。
  • 体重预测
    • 在医学和健康领域,线性回归可以用于预测一个人的体重。特征可能包括身高、年龄、性别等。通过建立身体特征与体重之间的线性关系,可以估计一个人的体重。
  • 金融风险评估
    • 在金融领域,线性回归可以用于评估贷款风险。特征可能包括收入、债务水平、信用历史等,而目标是预测借款人的违约概率。
  • 学生成绩预测
    • 线性回归可以用于预测学生的考试成绩。特征可以包括学习时间、出勤率、先前考试成绩等。通过建立这些特征与考试成绩之间的线性关系,可以预测学生未来的表现。
  • 气温预测
    • 在气象学中,线性回归可以用于预测未来的气温。特征可能包括过去的气温、湿度、风速等。通过建立这些特征与未来气温之间的线性关系,可以进行气象预测。
  • 人口增长预测
    • 线性回归可用于估计城市、国家或地区的人口增长。特征可能包括历史人口数据、经济发展水平等。
相关推荐
roman_日积跬步-终至千里几秒前
【机器学习】两大线性分类算法:逻辑回归与线性判别分析:找到分界线的艺术
算法·机器学习·分类
YuTaoShao1 分钟前
【LeetCode 热题 100】739. 每日温度——(解法一)单调栈+从右到左
java·算法·leetcode·职场和发展
向左转, 向右走ˉ9 分钟前
层归一化(LayerNorm)与Batch归一化(BatchNorm):从原理到实践的深度对比
人工智能·深度学习·机器学习·分类
Spider_Man18 分钟前
栈中藏玄机:从温度到雨水,单调栈的逆袭之路
javascript·算法·leetcode
硅谷秋水31 分钟前
DyWA:用于可推广的非抓握操作的动态自适应世界动作模型
人工智能·深度学习·机器学习·语言模型·机器人
爱吃KFC的大肥羊1 小时前
C/C++常用字符串函数
c语言·数据结构·c++·算法
im_AMBER1 小时前
Leetcode 11 java
java·算法·leetcode
丶小鱼丶1 小时前
二叉树算法之【Z字型层序遍历】
java·算法
测试蔡坨坨2 小时前
Trae Plus 让没有编程基础的女朋友也用上了 AI Coding
ai
岁忧3 小时前
(nice!!!)(LeetCode 每日一题) 2561. 重排水果 (哈希表 + 贪心)
java·c++·算法·leetcode·go·散列表