线性回归(Linear regression)算法

简介: 属于有监督学习、判别模型、有预测函数、有优化目标,有优化求解算法

归类:属于有监督学习判别模型、有预测函数、有优化目标,有优化求解算法

应用:股票价格预测(依据过去的数据预测将来的状态)

分类:

回归按照输入变量的个数可分为:一元回归和多元回归

按照输入变量和输出变量的关系可分为:线性回归和非线性回归

回归可称为函数的拟合:选择一条函数曲线能很好的拟合过去的数据并且能够预测将来的数据

回归:用观察使认知接近真值的过程,回归本源。参考:各种回归都是什么意思http://blog.sina.com.cn/s/blog_7445c2940102wln5.html

一、线性回归(Linear regression)

   利用称为线性回归方程的最小平方函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析。

  其中的最小二乘法(又称最小平方法)是一种数学优化技术。它通过最小化误差的平方和寻找数据的最佳函数匹配。来自维基百科最小二乘

线性回归的适用情况

(1)线性 Linearity

因变量和每个自变量都是线性关系。

(2)独立性Indpendence

对于所有的观测值,它们的误差项相互之间是独立的。

(3) 正态性Normality

误差项服从正态分布。(通过正态分布可以导出损失函数表达式)

(4)等方差Equal-variance

所有的误差项具有同样方差。

基本原理及公式推导:

  •    输入数据 X(特征数) ,输出数据Y,参数

   给定一个数据集(X,Y),尽可能的学得一个线性模型h()对新的数据xi预测出f(xi),使得h(xi)尽可能的逼近真实值yi。

引入损失函数(均方误差)

其中损失函数,也即是描述不好的程度。也就是损失函数越小则越逼近真实值。也可称这个函数为J函数

具体过程为:

模型表示:


向量形式表示:


损失函数:

通过求解损失函数(均方误差)最小求得参数的过程。

其中参数的求解方法有两种:最小二乘和梯度下降还有一种是正则化项

1.考虑x为单个特征情况:

x只有一个特征变量。

(1)引入均方误差度量方式,也即是相当于平方损失

65e68074bd9dd130f1e57f247c55ac3c_20190105211006967.png

基于上述的均方误差最小求解模型的方法也称为最小二乘法。(西瓜书解释)

2)求偏导

3)令偏导为零获得闭式解

考虑x为多个特征情况(也称为多元回归)

b947bb9500429710901aa8aa7f522bba_20190105211658329.png

表示为矩阵形式:

5c6bcf7840b45654c1641564d92b0ef0_20190105213337594.png

构造损失函数:

4fe04405e14dece705539b0766396250_2019010521342731.png

求导:

分两种情况:矩阵X满秩和不满秩

满秩矩阵相当于正定矩阵,也就是在求解线性方程组的时候,方程组的个数和要求解的变量个数一样,这个时候是满秩的,则能够得到唯一解,满秩矩阵可逆的行列式不为零,也是非奇异矩阵

(1)矩阵X满秩情况

     求导为零

fa3b4b5c4e7f907482ca1d50be6882c4_262057197703308.jpg

(2)不满秩的情况

要求解的变量个数大于样本数,求得多个解wi,它们都能使得均方误差最小,那么问题是选择哪一个作为解作为输出?


第一种:引入正则化项(相当于对不重要的变量去掉,使它能够满足线性方程组的解唯一情况)


参考:https://blog.csdn.net/gshgsh1228/article/details/52199870

0ccdd0deff3041667e91165b69fceb06_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2hlZGEz,size_16,color_FFFFFF,t_70.png

(后续待进一步理解)


第二种、采用梯度下降算法求解


(2.1)设置初始值可以是随机的


(2.2)改变θ的值,使得J(θ)按梯度下降的方向进行减少



参考:

   【1】从零开始机器学习001-线性回归数学推导 http://blog.51cto.com/12133258/2051527

   【2】线性回归详解https://blog.csdn.net/qq_36330643/article/details/77649896 参考的斯坦福课程视频

    【3】机器学习入门的绝佳材料:斯坦福大学机器学习课程原始讲义(含公开课视频)https://blog.csdn.net/datoubo/article/details/8597996

    【4】统计学习

    【5】西瓜书



目录
相关文章
|
1月前
|
机器学习/深度学习 算法 数据可视化
探索线性回归算法:从原理到实践
探索线性回归算法:从原理到实践【2月更文挑战第19天】
34 0
探索线性回归算法:从原理到实践
|
1月前
|
机器学习/深度学习 存储 算法
sklearn应用线性回归算法
sklearn应用线性回归算法
39 0
|
1月前
|
机器学习/深度学习 数据采集 算法
线性回归算法是什么
线性回归算法是什么
47 0
|
29天前
|
机器学习/深度学习 算法 TensorFlow
机器学习算法简介:从线性回归到深度学习
【5月更文挑战第30天】本文概述了6种基本机器学习算法:线性回归、逻辑回归、决策树、支持向量机、随机森林和深度学习。通过Python示例代码展示了如何使用Scikit-learn、statsmodels、TensorFlow库进行实现。这些算法在不同场景下各有优势,如线性回归处理连续值,逻辑回归用于二分类,决策树适用于规则提取,支持向量机最大化类别间隔,随机森林集成多个决策树提升性能,而深度学习利用神经网络解决复杂模式识别问题。理解并选择合适算法对提升模型效果至关重要。
192 4
|
16天前
|
存储 算法 Serverless
Regression算法
Regression算法
33 2
|
13天前
|
机器学习/深度学习 存储 算法
【机器学习】深入探索机器学习:线性回归算法的原理与应用
【机器学习】深入探索机器学习:线性回归算法的原理与应用
23 0
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
|
1月前
|
算法 C++ Python
R语言RSTAN MCMC:NUTS采样算法用LASSO 构建贝叶斯线性回归模型分析职业声望数据
R语言RSTAN MCMC:NUTS采样算法用LASSO 构建贝叶斯线性回归模型分析职业声望数据
|
1月前
|
机器学习/深度学习 算法 C++
R语言贝叶斯MCMC:GLM逻辑回归、Rstan线性回归、Metropolis Hastings与Gibbs采样算法实例
R语言贝叶斯MCMC:GLM逻辑回归、Rstan线性回归、Metropolis Hastings与Gibbs采样算法实例
|
1月前
|
机器学习/深度学习 人工智能 算法
利用Python实现简单的机器学习算法——线性回归
本文介绍了如何使用Python语言和相关库,通过实现线性回归算法来进行简单的机器学习模型训练和预测。通过详细的代码示例和解释,帮助读者了解机器学习中的基础概念和实践操作。