线形回归算法梳理
- 一些概念
**有监督:**不仅把数据丢给计算机,而且还把数据的分类结果(数据具有的标签)一并丢给计算机,计算机进行学习之后,再丢给它新的未知的数据,它也能计算出该数据导致各种结果的概率,给你一个最接近正确的结果。
**无监督:**只给计算机训练数据,不给结果(标签),因此计算机无法准确地知道哪些数据具有哪些标签,只能凭借强大的计算能力分析数据的特征,从而得到一定的成果,通常是得到一些集合,集合内的数据在某些特征上相同或相似。
**泛化性:**是指一个训练好的算法模型在处理未知新数据时的表现能力;
**过拟合:当某个模型过渡的学习了训练数据集中的细节和噪音,以至于模型在新的数据集上表现很差,称为发生过拟合了;这意味着训练集中的噪音或者随机波动也被当作概念被模型学习了,而问题在于这些概念不适用于新的数据,从而导致模型的泛化性能变差,过拟合更容易在无参数非线性模型中发生;
过拟合是一种分类器发生的现象,泛化能力是对算法模型性能的评价指标,过拟合表现为算法模型的高方差;
产生过拟合的原因:1.特征过多;2.数据量太少;3.模型复杂度高;
抵抗过拟合的方法:1.减小模型复杂度,2.尽量减少特征数量,3.增大数据量;4.正则化包括L1、L2正则化;
模型在训练时效果很好,但在预测时效果很差,说白了就是模型对数据学习过度,把局部特征、噪音当作一个很明显的特征赋予了很大的权重;
欠拟合:与过拟合相反,指的是在训练与预测时效果都很差;表现为算法模型的高偏差;
抵抗欠拟合的方法:1增加更多的特征;2 添加多项式特征;3 减小正则化参数
二:线性回归原理
线性回归是在一堆N维数据空间中拟合一条线来描述这些数据的规律,因此才叫线性回归;这个过程称为拟合,这条线称为拟合线;
因为噪声的存在,这条线上的点会与实际数据点有偏差,实际数据点与拟合线对应数据的差称为残差,很明显,残差能够反映模型的预测误差;
但是残差有正有负的,不方便计算。而且实际运用中我们不需要关注残差的正负,因为正负并不能描述误差的大小程度。为了降低计算复杂性,我们使用这个差值的平方进行计算。你可能会想到,差值的平方不是把差值给改了吗,没关系吗?答案是:数据确实变了,但没影响。因为我们真正使用的是残差的绝对值,用它描述误差大小的程度,而对这个绝对值进行平方后有同样的效果,毕竟y = |x| 与y = x^2有同样的单调性。
为了让预测更加准确,应该选择一条线,能够使得线上每个点与实际数据的残差平方的总和最小。这样的线才能叫最佳拟合线
三:线性回归的目标函数、损失函数(代价函数)
线性回归试图学的 f(xi) = w*xi + b (目标函数)是的f(x i)≃yi,关键在于如何求得参数w和b;
均方误差是回归任务中常用的性能度量,因此让均方误差(代价函数或损失函数)最小化,
均方误差对应了常用的欧几里得距离,基于均方误差最小化来进行模型求解的方法称为“最小二乘法”
在线性回归中,最小二乘法就是试图找到一条直线,使得多有样本到直线的欧氏距离之和最小;
求解w和b使得损失函数最小的过程,称为线性回归模型的最小二乘“参数估计”