3.机器学习-十大算法之一线性回归算法(LinearRegression)原理讲解

时间:2024-11-07 11:00:23

3️⃣.机器学习-十大算法之一线性回归算法(LinearRegression)原理讲解

  • 个人简介
  • 理解算法
      • 线性回归的一般模型
  • 什么是线性?
  • 什么是非线性?
  • 什么是回归分析?
  • 损失函数
  • 算法优缺点
        • 优点
        • 缺点:
  • 示例
  • 数学公式
  • 误差
  • 概率密度函数
  • 似然函数
  • 最大似然估计
  • 损失函数
  • 正规方程求解
  • 梯度下降求解

个人简介

????️????️个人主页:以山河作礼
????️????️:Python领域新星创作者,****实力新星认证,****内容合伙人,阿里云社区专家博主,新星计划导师,在职数据分析师。
????????免费学习专栏

1. 《Python基础入门》——0基础入门
2.《Python网络爬虫》——从入门到精通
3.《Web全栈开发》——涵盖了前端、后端和数据库等多个领域
????????《机器学习算法专栏目前阶段免费!!!
1.第一篇文章《1.机器学习-机器学习算法分类概述 》全站热榜第25名。
2.第二篇文章《2.机器学习-K最近邻(k-Nearest Neighbor,KNN)分类算法原理讲解》全站热榜第12名,人工智能领域第6名。
????????欢迎免费订阅!欢迎大家一起学习,一起成长!!

????????悲索之人烈焰加身,堕落者不可饶恕。永恒燃烧的羽翼,带我脱离凡间的沉沦。

理解算法

在这里插入图片描述

高尔顿是一名生理学家,在1995年的时候,他研究了1008堆父子的身高,发现他们大致满足一条公式,那就是

Y=0.8567+0.516*x

这条式子中的x指的是父亲的身高,Y指的是儿子的身高。可以明显看出,这就是我们中学时代学的二元一次方程,反应在平面上就是一条直线。

通过这条公式,我们或许会直观得以为高个的父亲总会有高个的儿子,矮个的父亲会有矮个的儿子。但高尔顿进一步观察后发现,并非所有的情况都是这样的。特别高的父亲的儿子会比他父亲矮一些,特别矮的父亲的儿子会比他父亲高一些,父子不会说一直不断得更高或更矮下去。这个现象,其实就是回归。趋势不会一直持续下去,而是会回到某个中心。

通过这个故事,相信你已经明白了什么是线性回归,那么接下来我们就来说说更加详细的内容。

要理解线性回归,首先需要明白它的基本概念。

线性回归是一种用于预测连续变量的统计方法,通过找到最佳拟合直线(或超平面)来描述自变量与因变量之间的关系。在这个问题中,父亲和儿子的身高关系可以通过线性方程

Y = 0.8567 + 0.516 ∗ X Y=0.8567+0.516*X Y=0.8567+0.516X来表示,其中 X X X是父亲的身高, Y Y Y是儿子的身高。

这个方程中的系数 0.516 0.516 0.516表示父亲每增加1单位身高,儿子的身高预期会增加 0.516 0.516 0.516单位。
常数项 0.8567 0.8567 0.8567则可以看作是基础身高,即当父亲身高为 0 0 0时,儿子的预期身高。

高尔顿的观察指出,特别高的父亲的儿子通常会比他们矮一些,而特别矮的父亲的儿子通常会比他们高一些。这种现象揭示了身高的遗传趋势会趋向于平均值,这就是所谓的“回归”。

在统计学中,这种现象被称为“回归向均值”或“回归效应”,它说明极端值的后代往往会更接近群体的平均水平。

总结来说,线性回归可以帮助我们理解和预测父子之间身高的关系,并揭示出身高遗传的趋势会趋于一个平衡点。

线性回归的一般模型

在这里插入图片描述

什么是线性?

线性是指一种关系或者过程,其特点是当输入发生变化时,输出会以同样的比例变化。简单来说,线性是指两个变量之间存在着直接的比例关系。而非线性则是指变量之间没有直接的比例关系,输入的变化不会导致输出的同比例变化。在线性代数中,线性无关是指一组向量中没有向量可以用其他向量的线性组合来表示,反之则称为线性相关。

在数学中,线性关系可以用直线来表示,而非线性关系则无法用直线来描述。这是因为非线性关系通常具有曲线或者其他复杂的形状。在代数学和数学分析学中,如果一种运算同时满足特定的“加性”和“齐性”,则称这种运算是线性的。

以下是一些线性关系的例子:

y=kx+b,其中k和b是常数,表示的是一次函数,画出来是一条直线。
在这里插入图片描述

什么是非线性?

非线性是指变量之间的数学关系不是直线而是曲线、曲面或不确定的属性。它是自然界复杂性的典型性质之一,相比线性更接近客观事物性质本身。非线性关系是量化研究认识复杂知识的重要方法之一,凡能用非线性描述的关系,通称为非线性关系。

狭义的非线性是指不按比例、不成直线的数量关系,无法用线性形式表现的数量关系,如曲线、曲面等。广义的非线性则是自变量以特殊的形式变化而产生的不同于传统的映射关系,如迭代关系的函数,上一次演算的映射为下一次演算的自变量,显然这是无法用通常的线性函数描绘和形容的。

自然界事物的变化规律并非像简单的函数图像,它们之间存在并非一一对应的关系。如果说线性关系是互不相干的独立关系,那么非线性则是体现相互作用的关系。正是这种相互作用,使得整体不再是简单地全部等于部分之和,而可能出现不同于“线性叠加”的增益或亏损。

以下是一些非线性关系的例子:
y=ax^2+bx+c,其中a、b和c是常数,表示的是二次函数,画出来是一个抛物线。
在这里插入图片描述

y=sin⁡(x),表示的是正弦函数,画出来是一条波浪线。
在这里插入图片描述

y=e^x,表示的是指数函数,画出来是一条上升的直线。
在这里插入图片描述

y=log⁡(x),表示的是对数函数,画出来是一条向左上倾斜的直线。
在这里插入图片描述

什么是回归分析?

  • 回归分析是一种统计方法,用于对因变量(目标变量)和自变量(预测变量)之间的关系进行建模。通过回归分析,我们可以理解在其他自变量保持不变的情况下,自变量的变化如何影响因变量。这种方法可以用于预测连续或实际值,例如温度、年龄、工资、价格等。
  • 回归分析是一种有监督的学习技术,用于发现变量之间的相关性,并基于一个或多个预测变量预测连续的输出变量。它主要用于预测、时间序列建模以及确定变量之间的因果关系。
  • 在回归分析中,我们尝试找到最适合给定数据点的函数。通过这个函数,机器学习模型可以对数据进行预测。简单来说,回归分析的目的是找到一条线或曲线,它能够尽可能地接近目标预测图上的所有数据点,以最小化数据点和回归线之间的垂直距离。这种最小化垂直距离的方法表明模型已经捕获了牢固的关系。

损失函数

定义:
损失函数(Loss Function)是将随机事件或其有关随机变量的取值映射为非负实数以表示该随机事件的“风险”或“损失”的函数。在机器学习和统计学中,损失函数被用于估计模型的预测值与真实值之间的不一致程度。它通常表示为 L(Y, f(x)),其中 Y 是真实值,f(x) 是预测值。

损失函数的定义是为了优化模型,使得模型的预测结果更接近真实值。损失函数的值越小,模型的鲁棒性就越好。不同类型的损失函数适用于不同的应用场景,例如均方误差损失函数适用于回归问题,交叉熵损失函数适用于分类问题等。

在训练模型时,通常会选择一个优化算法来最小化损失函数。通过迭代优化算法,不断调整模型的参数,使得损失函数的值逐渐减小。最终,当损失函数的值达到最小值时,模型就得到了优化和训练。

公式
在这里插入图片描述

算法优缺点

优点

(1)思想简单,实现容易。建模迅速,对于小数据量、简单的关系很有效;
(2)是许多强大的非线性模型的基础。
(3)线性回归模型十分容易理解,结果具有很好的可解释性,有利于决策分析。
(4)蕴含机器学习中的很多重要思想。
(5)能解决回归问题。

缺点:

(1)对于非线性数据或者数据特征间具有相关性多项式回归难以建模.
(2)难以很好地表达高度复杂的数据。

示例

数据:工资和年龄(2个特征)
目标:预测银行授信额度(标签)
思考:工资和年龄都会影响授信额度,那么它们分别有多大的影响呢?

X1为工资, X2为年龄, Y为额度
在三维空间寻找一个最佳的平面来拟合各个数据点

数学公式

在这里插入图片描述

误差

在这里插入图片描述

概率密度函数

在这里插入图片描述

似然函数

在这里插入图片描述

最大似然估计

在这里插入图片描述

损失函数

对数似然函数的简化:
在这里插入图片描述

正规方程求解

在这里插入图片描述
在这里插入图片描述

梯度下降求解

在这里插入图片描述