美文网首页
线性回归算法

线性回归算法

作者: shenny_ | 来源:发表于2020-02-21 21:56 被阅读0次

线性回归算法

我的微信公众号: s406205391; 欢迎大家一起学习,一起进步!!!
线性回归是利用数理统计中回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法,运用十分广泛。

​ 我们看下面一组数据,这组数据通过工资和年龄两个特征来预测银行贷款的额度。

那么,工资和年龄对银行贷款给我们的额度的影响会有多大呢?这也就是我们所需要求的参数

工资 年龄 额度
4000 25 20000
8000 30 70000
5000 28 35000
7500 33 5000
12000 40 85000

通俗的讲:我们通过图片来展示我们的数据,图中X1和X2就是我们的两个特征(年龄,工资),Y是银行最终会借给我们多少钱。我们现在就需要找到最合适的一条线(想象一个高维)来最好的拟合我们的数据点。这时,我们假设θ1是年龄的参数,θ2是工资的参数。我们便可得到一个拟合平面:

h_\theta(x)=\theta_0 + \theta_1 x_1 + \theta_2 x20是偏置项)

​ 将上述公式用矩阵表达,即得:

h_\theta(x)=\sum\limits_{i=0}\limits^{n}\theta_{i}x_{i}=\theta^{T}x

​ 该式展开其实为:h_\theta(x)=\theta_{0}x_{0} + \theta_{1}x_{1} + \theta_{2}x_{2},相较于上式,多引入一个特征x0,这是为了后期方便矩阵的计算。所以我们可以把特征x0统一赋值为1。

​ 因为,真实值和预测值之间肯定是要存在误差的。我们引入ε来表示误差。所以对于每一个样本,即方程即为:y^{(i)}=\theta^{T}x^{(i)} + \epsilon^{(i)}

image

误差满足高斯分布

误差具有如下特点

  • 误差是独立并且具有相同的分布,并且服从均值为0,方差为θ2的高斯分布

  • 独立:误差在样本之间是相互独立的。

  • 同分布。

    既然,误差是服从高斯分布的,那么我们就可以用高斯分布的方程来表示: y^{(i)}=\theta^{T}x^{(i)} + \epsilon^{(i)}

求解目标函数

​ 我们首先将高斯函数,带入我们的方程,即可得:

预测值与误差y^{(i)}=\theta^{T}x^{(i)} + \epsilon^{(i)} (1)

由于误差服从高斯分布p(\epsilon^{(i)})=\frac{1}{\sqrt{2\pi\delta}}e^{-\frac{(\epsilon^{(i)})^2}{2\sigma^{2}}} (2)

将(1)式带入(2)式可得p(y^{(i)}|x^{(i)};\theta)=\frac{1}{\sqrt{2\pi\delta}}e^{-\frac{(y^{(i)}-\theta^{T}x^{(i)})^{2}}{2\sigma^{2}}}

​ 上式我们可以用最大函数求解

似然函数L(\theta)=\prod\limits_{i=1}\limits^{m} p(y^{(i)}|x^{(i)};\theta)= \prod\limits_{i=1}\limits^{m}\frac{1}{\sqrt{2\pi\delta}}e^{-\frac{(y^{(i)}-\theta^{T}x^{(i)})^{2}}{2\sigma^{2}}}

​ 为了方便求解,我们将上式取对数:

对数似然,并化简

logL(\theta)=log\prod\limits_{i=1}\limits^{m} p(y^{(i)}|x^{(i)};\theta)= log\prod\limits_{i=1}\limits^{m}\frac{1}{\sqrt{2\pi\delta}}e^{-\frac{(y^{(i)}-\theta^{T}x^{(i)})^{2}}{2\sigma^{2}}}

=\sum\limits_{i=1}\limits^{m}log\frac{1}{\sqrt{2\pi\delta}} e^{-\frac{(y^{(i)}-\theta^{T}x^{(i)})^{2}}{2\sigma^{2}}}

=mlog\frac{1}{\sqrt{2\pi\delta}} - \frac{1}{\delta^2}\frac{1}{2} \sum\limits_{i=1}\limits^{m}(y^{(i)}-\theta^Tx^{i})^2

目标:去除常数项之后,让目标函数越大越好

J(\theta)=\frac{1}{2}\sum\limits_{i=1}\limits^{m}(y^{(i)} - \theta^T x^{(i)})^2; 即让该式越小越好,可以用最小二乘解

应用最小二乘法求解上式

J(\theta)=\frac{1}{2}\sum\limits_{i=1}\limits^{m}(y^{(i)} - \theta^T x^{(i)})^2=\frac{1}{2}(X\theta-y)^T(X\theta-y)

​ 对该式求偏导即得:

\theta=(x^TX)^{-1}X^Ty

常用的评估方法,得到最佳目标函数的参数

​ 上述我们将目标函数直接求出了结果,但是在某些情况下,我们并不能直接求得结果,因为上述我们对X求其逆矩阵,但是逆矩阵并不是一定能求的。

​ 那么,我们如何评估目标函数拟合的效果呢?我们一般会用到R2项。R2的取值越接近于1,我们认为模型拟合的越好。

最常用的评估项R2: 1-\frac{\sum\limits_{i-1}\limits^{m}(\hat y_{i} - y_i)^2}{\sum\limits_{i=1}\limits^{m}(y_i-y\overline)^2}

相关文章

  • 机器学习算法总结

    回归算法 线性回归算法: 支持向量机&向前逐步回归&惩罚线性回归(岭回归/套索回归/ElasticNet/最小角度...

  • 机器学习系列(十一)——线性回归Linear Regressio

    线性回归算法 和knn算法不同,线性回归算法主要用于解决回归问题,它同样思想简单,实现容易,而且是许多强大的非线性...

  • 线性回归

    线性回归是机器学习算法的入门,通过该算法,管中窥豹,研究该算法的精髓之处。 线性回归 线性回归的损失函数为最小二乘...

  • 回归算法学习

    回归算法是机器学习中的经典算法之一,本文是对学习线性回归和逻辑回归算法进行的总结,线性回归与逻辑回归算法解决的分别...

  • 2019-10-29

    Day2 简单线性回归模型 机器学习入门--简单线性回归机器学习算法之线性回归算法 导入库matplotlib 绘...

  • 通俗地说逻辑回归【Logistic regression】算法(

    在说逻辑回归前,还是得提一提他的兄弟,线性回归。在某些地方,逻辑回归算法和线性回归算法是类似的。但它和线性回归最大...

  • 通俗得说线性回归算法(二)线性回归实战

    前情提要:通俗得说线性回归算法(一)线性回归初步介绍 一.sklearn线性回归详解 1.1 线性回归参数 介绍完...

  • 吴恩达机器学习(第一周)

    1.单变量线性回归(Linear Regression with One Variable) 1.1线性回归算法 ...

  • 常见回归算法

    sklearn作为机器学习中一个强大的算法包,内置了许多经典的回归算法。 线性回归 线性回归拟合一个带系数的线性模...

  • python机器学习从入门到精通(第2天)

    线性回归 线性回归的基本假设 了解一个算法,必须得了解算法的适用条件。在用线性回归之前,我们必须得知道在什么条件下...

网友评论

      本文标题:线性回归算法

      本文链接:https://www.haomeiwen.com/subject/uenhqhtx.html