在解释什么是线性回归之前,我们先举个例子!
假设我们已知m个样本,样本里有n个特征x,和对应的输出y。表达式如下:
现在出现了一个新的数据集
需要预测它对应的输出y是多少。
首先我们需要知道的是,如果输出y是连续的,则是回归问题,否则是分类问题。
如果是分类问题,那我们应该对前面的m个样本拟合,建立类似以下形式的线性方程:
这样,我们就可以对新的数据集做出预测,求出对应的y值啦。当然,对于拟合出来的函数,并不能做到100%准确预测。现实的情况更多的是下图表示的情况
好了,以上就是线性回归啦。
为了方便出去跟朋友装逼,我们用专业属于概括就是:
利用数理统计中的回归分析,来确定两种或者两种以上变量间相互依赖的定量关系的一种统计分析方法。线性回归可以说是机器学习中最基本的算法了。
一、线性回归的目标
1,评估预测变量y在解释反应变量x的变异或表现时的显著性。
2,在给定预测变量值x的情况下预测反应变量值y。
二,线性回归的应用
1,预测,即建立一个模型(方程),基于反应变量y与其他预测变量x的关系来预测新的y值。
2,解释分析和探索式分析,即用于理解和解释反应变量和预测变量间的关系。
三,线性回归的类别
1,一元线性回归:只包括一个自变量和一个因变量,且二者关系可用一条直线近似表示。
2,多元线性回归:包括两个或两个以上的自变量,且因变量和自变量之间是线性关系
四,线性回归的假设函数和损失函数
这里解释以下什么叫假设函数和损失函数
假设函数:在监督学习中,为了拟合输入样本,而使用的假设函数,常用表示。
损失函数:也叫代价函数,目标函数。为了评估模型拟合的好坏,用来度量拟合的程度。损失函数越小,则拟合程度越好,则对应的参数即为最优参数。对于线性回归,一般用均方误差(即预测值减真实值的平方)作为其损失函数。
以下我们假定有m个样本,每个样本对应于n维特征和一个输出结果y,则线性回归假设函数为
五,算法过程
已知假设函数,和损失函数。那我们接下来的目标是求出使得损失函数最小值的模型参数。求最小值,我们通常使用梯度下降算法和最小二乘法。今天我们就选择使用最小二乘法吧。为方便解释,我们只使用一个特征的样本,即损失函数变为
要使损失函数值最小,就要分别对,求偏导数,令偏导数都等于0 。从而得到,的方程组,联立这两个方程组,这样就可以得到,这两个参数的值啦。具体过程如下:
这样最优模型的参数就求出来啦。
以上就是线性回归算法的介绍了。
原文发布时间为:2019-1-8
本文作者:黄向平
本文来自云栖社区合作伙伴“ Python中文社区”,了解相关信息可以关注“ python-china”微信公众号