文章目录
0.回归简介
回归属于有监督学习中的一种方法。该方法的核心思想是从连续型统计数据中得到数学模型,然后将该数学模型用于预测或者分类。该方法处理的数据可以是多维的。
线性回归:1.可以用来做预测,2.可以用来判断变量之间是否有联系(比如收入和学历的关系)
1.线性回归简介
用线性回归找到最佳拟合曲线
回归的目的是预测数值型的目标值。最直接的办法是依据输入写出一个目标值的计算公式。
假如你想预测姐姐男友汽车的功率,可能会这么计算:
HorsePower = 0.0015 * annualSalary - 0.99 * hoursListeningToPublicRadio
这就是所谓的回归方程(regression equation),其中的0.0015和-0.99称为回归系数(regression weights),求这些回归系数的过程就是回归。一旦有了这些回归系数,再给定输入,做预测就非常容易了。具体的做法是用回归系数乘以输入值,再将结果全部加在一起,就得到了预测值。
2.函数模型/假设函数 hypothesis function
现给定一堆数据(x1,y1),(x2,y2),⋯,(xn,yn),假定输入数据存放在矩阵X中,结果存放在向量y中,回归系数存放在向量w中
线性回归:
矩阵表示:
w是参数,也称线性回归系数
那么对于给定的数据x1,预测结果将会通过y1 = w^T * x给出
3.代价函数 cost function
现在的问题是,手里有一些x和对应的y,怎样才能找到w呢?
关键在于如何衡量y和x之间的差别。平方误差是回归任务中最常用的性能度量,因此我们可试图让平方误差最小化。平方误差有非常好的几何意义,它对应了常用的欧几里得距离或简称欧氏距离。
平方误差和越小,说明线性回归拟合效果越好
代价函数也被称作平方误差函数,有时也被称为平方误差代价函数。我们之所以要求出 误差的平方和,是因为误差平方代价函数,对于大多数问题,特别是回归问题,都是一个合理的选择。还有其他的代价函数也能很好地发挥作用,但是平方误差代价函数可能是解决回 归问题最常用的手段了。
我们的目的是最小化代价函数。
计算函数最小值的方法:
迭代算法:梯度下降
数值解法:正规方程方法(normal equations)(高等线性代数中的方法)
在数据量较大时,使用梯度下降法
最小二乘法
基于平方误差最小化来进行模型求解的方法称为“最小二乘法”。最小二乘法(又称最小平方法)是一种数学优化技术。它通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小。最重要的应用是在曲线拟合上。最小平方所涵义的最佳拟合,即残差(残差为:观测值与模型提供的拟合值之间的差距)平方总和的最小化。
在线性回归中,最小二乘法就是试图找到一条直线,使所有样本到直线上的欧氏距离之和最小。求解 ω \omega ω使代价函数最小化的过程,称为线性回归模型的最小二乘“参数估计”
平方误差和函数:
平方误差和的矩阵表示:
举例理解假设函数和代价函数
h ( x ) = θ 1 x h(x)=\theta_1x h(x)=θ1x,在这里简化 h ( x ) h(x) h(x), θ 0 = 0 \theta_0=0 θ0=0
假设函数和代价函数的区别:
h ( x ) = θ 0 + θ 1 x h(x)=\theta_0+\theta_1x h(x)=θ0+θ1x,有两个参数的时候, x x x, y y y轴表示 θ 0 \theta_0 θ0和 θ 1 \theta_1 θ1的取值, z z z轴表示代价函数 J ( θ 0 , θ 1 ) J(\theta_0,\theta_1) J(θ0,θ1)的取值
用coutour plots(轮廓图)表示
4.线性回归系数的求解
4.1 梯度下降法(Gradient Descent)
梯度下降法是一个用来求函数最小值的算法。
梯度下降法直观理解
Step1:初始化 θ 0 \theta_0 θ0, θ 1 \theta_1 θ1(通常的选择是将 θ 0 \theta_0 θ0设为0, θ 1 \theta_1 θ1设为0)
Step2:把这张图想象为一座山,你正站立在山的一点上,在梯度下降算法中,我们要做的就是旋转360度,看看我们周围,并问自己,我要在某个方向上用小碎步尽快下山,我需要朝什么方向?
梯度下降背后的思想
开始时我们随机选择一个参数的组合( θ 0 \theta_0 θ0, θ 1 \theta_1 θ