kNN算法主要用于解决分类问题,而线性回归算法主要用于解决回归问题
思想非常简单,而且实现很容易
许多更加强大的非线性模型的基础,无论是多项式回归,逻辑回归还是svm
从某种程度上来讲都是线性回归算法的一个拓展
最重要的是线性回归算法他的得到的时候非常好的可解释性的
蕴含了机器学习中的很多思想,也就是因为如此在很多学界领域研究中很多时候都会尝试使用线性回归算法这样最基本最简单的方式
线性回归算法
每一个点代表房屋数据
每一个房屋有自己的房屋面积和房屋价格,就可以在这个二维屏幕里形成一个点
线性回归算法说,房屋和价格呈一定线性关系,也就是房屋面积越大价格越大
没有指数级的这么夸张
在这样的假设下,我们就在想我们寻找一条直线,最大程度的“拟合”样本特征和样本输出标记之间的关系
在我们这张图每一个样本只有一个特征就是房屋面积,而每一个样本的输出就是价格
同样是二维平面图,但是在kNN的分类有很大区别
kNN分类横轴和纵轴都是样本特征
样本的输出标记是蓝色或者红色
这是因为在回顾我们要预测的是具体数值,这个数值是在连续空间里的而不是用不同颜色代表不同类别
所以他需要占有一个坐标轴位置
如果我们要看两个样本的回归问题的话,那么就需要三维空间观察了
样本特征只有一个称为:简单线性回归
多个成为:多元线性回归
表示成y=ax+b
对应每一个点来说对于x(i)对应y(i)
y(i)=ax(i)+b
得到的值就是简单线性回归法对应的x(i)的特征
一般用y hat(i)
预测值和真值有一个差距
我们假设了最佳的拟合直线方程
对于每一个样本点x(i)
根据我们直线方程都可以预测值
真值记做y(i)
我们想要寻找最佳拟合方程
就要是的真值和yhat(i)
差距尽量小
我们把y(i)-yhat(i)的差距作为
有可能正的和负的加起来为0
使用绝对值表示差值是可以的
但是这个不是出处可导的,所以我们不用
我们用平方
这是个处处可导的函数
使这个式子尽可能的小
找到a和b的值,使得这个尽可能小
只有a和b未知,x(i)和y(i)已知我们是监督学习所以我们要提供一组数据
我们称这个函数为损失函数(loss function)
我们模型没有拟合我们样本的一部分
有的算法度量的是拟合程度,称为是效用函数(utility function)
不管是损失函数还是效用函数
我们都是通过分析问题,确定问题的损失函数或者效用函数
通过最优化损失函数或者效用函数,获得机器学习模型
对于损失函数我们希望他尽可能小,对于效用函数我们希望他尽可能的大
我们就获得了
近乎所有参数学习的算法都是这样的套路
进而转换了一个学科,最优化原理
我们用计算机解决的非常多的问题本质都是最优化问题
最优化领域还有一个是凸优化,是特殊化原理
最小二乘法问题:最小化误差的平方
这是解值