机器学习算法 --- 线性回归

简介: 一、线性回归算法的简介   线性回归是利用数理统计中回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法,运用十分广泛。其表达形式为y = w'x+e,e为误差服从均值为0的正态分布。

一、线性回归算法的简介

   线性回归是利用数理统计中回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法,运用十分广泛。其表达形式为y = w'x+e,e为误差服从均值为0的正态分布。

  回归分析中,只包括一个自变量和一个因变量,且二者的关系可用一条直线近似表示,这种回归分析称为一元线性回归分析。如果回归分析中包括两个或两个以上的自变量,且因变量和自变量之间是线性关系,则称为多元线性回归分析。

  本文主要介绍线性回归算法的演绎推导,关于线性回归的详细介绍请参阅线性回归在百度百科中的介绍

  线性回归算法是机器学习中的基础算法,所以对于想要学习机器学习的读者来说,最好完全理解该算法。

二、线性回归算法的演绎推导

  假设,在银行中申请行用卡的额度与如下两个参数有关,即年龄和工资,有一申请人的资料如下图,那么知道一个人的年龄和工资该如何预测出他所能申请信用卡的额度呢?

  对于一个线性关系,我们使用y=ax+b表示,但在这种关系中y只受一个x的影响,二者的关系可用一条直线近似表示,这种关系也叫一元线性回归。而在本例中,设额度为h,工资和年龄分别为x1和x2,则可以表示成下式,,在这种关系中结果收到多个变量的影响,称为多元线性回归分析。

  我们将上式中的θ和x分别表示成两个一维矩阵[θ0   θ1   θ2]和[x0   x1   x2],则可将上式化为(令x0=1)。

  而实际结果不可能完全符合我们的计算结果,所以两者之间必定存在误差,假设对于第i个样本,存在如下关系,,其中为真实误差。

  误差独立并且具有相同的分布(通常认为是均值为0的高斯分布)。

  所以可以得到下式:

            

  那么,如果存在大量的样本,我们就可以通过做关于θ的参数估计,

  求似然函数如下:

          

  对上式求对数:

        

  对上式求导,使其值为0,便可求得θ的最大似然估计。

  在上式中,被标记的两部分都是常数,前一部分求导后为零,后一部分为一个因数,不会影响最终结果。所以,对于最终结果,只需让未被标记的部分求导后为0。所以使:

        

  将上式化简,并对θ求偏导:

        

  将求导的结果设值为0,便可求得θ的最大似然估计(最小二乘法),

        

  得到θ后,我们即通过样本训练出了一个线性回归模型,便可使用对结果未知的数据进行预测。

  PS: 读者只需理解改算法的推导过程即可,对于数据的计算,编程解决即可,无需手动计算(对于多维矩阵的计算量相当大,而且很容易算错 ( ̄▽ ̄)")。

目录
相关文章
|
20天前
|
机器学习/深度学习 人工智能 自然语言处理
机器学习之线性回归与逻辑回归【完整房价预测和鸢尾花分类代码解释】
机器学习之线性回归与逻辑回归【完整房价预测和鸢尾花分类代码解释】
|
25天前
|
机器学习/深度学习 存储 算法
sklearn应用线性回归算法
sklearn应用线性回归算法
24 0
|
25天前
|
机器学习/深度学习 数据采集 算法
线性回归算法是什么
线性回归算法是什么
26 0
|
20天前
|
机器学习/深度学习 算法 搜索推荐
Machine Learning机器学习之决策树算法 Decision Tree(附Python代码)
Machine Learning机器学习之决策树算法 Decision Tree(附Python代码)
|
12天前
|
机器学习/深度学习 自然语言处理 算法
|
6天前
|
机器学习/深度学习 算法 C++
R语言贝叶斯MCMC:GLM逻辑回归、Rstan线性回归、Metropolis Hastings与Gibbs采样算法实例
R语言贝叶斯MCMC:GLM逻辑回归、Rstan线性回归、Metropolis Hastings与Gibbs采样算法实例
30 0
|
7天前
|
机器学习/深度学习 人工智能 分布式计算
R和Python机器学习:广义线性回归glm,样条glm,梯度增强,随机森林和深度学习模型分析
R和Python机器学习:广义线性回归glm,样条glm,梯度增强,随机森林和深度学习模型分析
13 0
|
28天前
|
机器学习/深度学习 分布式计算 算法
大模型开发:你如何确定使用哪种机器学习算法?
在大型机器学习模型开发中,选择算法是关键。首先,明确问题类型(如回归、分类、聚类等)。其次,考虑数据规模、特征数量和类型、分布和结构,以判断适合的算法。再者,评估性能要求(准确性、速度、可解释性)和资源限制(计算资源、内存)。同时,利用领域知识和正则化来选择模型。最后,通过实验验证和模型比较进行优化。此过程涉及迭代和业务需求的技术权衡。
|
1月前
|
机器学习/深度学习 数据采集 算法
构建高效机器学习模型:从数据处理到算法优化
【2月更文挑战第30天】 在数据驱动的时代,构建一个高效的机器学习模型是实现智能决策和预测的关键。本文将深入探讨如何通过有效的数据处理策略、合理的特征工程、选择适宜的学习算法以及进行细致的参数调优来提升模型性能。我们将剖析标准化与归一化的差异,探索主成分分析(PCA)的降维魔力,讨论支持向量机(SVM)和随机森林等算法的适用场景,并最终通过网格搜索(GridSearchCV)来实现参数的最优化。本文旨在为读者提供一条清晰的路径,以应对机器学习项目中的挑战,从而在实际应用中取得更精准的预测结果和更强的泛化能力。
|
30天前
|
传感器 算法 计算机视觉
基于肤色模型和中值滤波的手部检测算法FPGA实现,包括tb测试文件和MATLAB辅助验证
该内容是关于一个基于肤色模型和中值滤波的手部检测算法的描述,包括算法的运行效果图和所使用的软件版本(matlab2022a, vivado2019.2)。算法分为肤色分割和中值滤波两步,其中肤色模型在YCbCr色彩空间定义,中值滤波用于去除噪声。提供了一段核心程序代码,用于处理图像数据并在FPGA上实现。最终,检测结果输出到"hand.txt"文件。