任务一-算法梳理进阶线性回归

机器学习的一些概念(有监督、无监督、泛化能力、过拟合欠拟合(方差和偏差以及各自解决办法)、交叉验证)

有监督、无监督、泛化能力、过拟合欠拟合(方差和偏差以及各自解决办法)、交叉验证

  • 有监督学习:数据集有有已知的y值(label 结果)
  • 无监督学习:数据集中没有y值,需要根据近似性关系分成一簇一簇的聚类来当作y值来评估

  • 泛化能力:指算法对具有同一规律的学习集以外的数据,的适用程度,对其它样本的适应能力

    • 过拟合:over-fitting,指模型在训练样本中表现过好,要求过于精细,导致泛化能力减弱,在验证数据集和测试集中表现不佳。用图表示就是曲线起伏过大,不平稳。也称方差较高。
      • 解决办法:过拟合可以通过减少参数,加入正则惩罚项 L1(绝对值项) L2,变化学习率,尽可能扩大数据集选取范围等方式解决。
        还要注意训练模型如果出现测试精度超1000次以上都在持续下降,而训练集精度较高时,要及时停止训练
    • 欠拟合:under-fitting,与上相反,指模型过于简单或训练样本做的不够,比如特征过省,导致的模型在验证集测试集数据中表现不好,没有代表性。用图表现就是一条无起伏的线。也称高偏差
      • 解决办法:欠拟合可以通过交叉验证,让特征较少的情况多次迭代交替使用训练集和验证集,达到优化,或跟据相关性添加其它特征项,减少正则化参数。神经网络可以加结点加层数。
      • 增加训练迭代,加数据,加节点,加层数(3层以内)

方差和偏差的概念扩展:

算法的预测误差可以分解为三个部分: 偏差(bias), 方差(variance) 和噪声(noise).

  • 偏差:指偏离真实label导致的误差,反映了学习算法本身的拟合能力
  • 方差:随机变量在其期望值附近的波动程度,即预测值在真实值附近的波动,如同样大小的训练集的变动所导致的学习性能的变化。它反映了数据扰动所造成的影响。
  • 噪声:表达了在当前任务上任何学习算法所能达到的期望泛化误差的下界, 即 刻画了学习问题本身的难度 . 巧妇难为无米之炊, 给一堆很差的食材, 要想做出一顿美味, 肯定是很有难度的.

  • 交叉验证:把特征分成几部分:一些作为训练集一些做验证集,下一次交换角色,用验证集数据做训练集,训练集做验证集,交替多次充份训练验证数据。

线性回归的原理

建立模型,通过输入特征项加误差项,找到最合适的最好拟合结果y值的数据点。
(误差项是独立并有相同分布,服从均值为0方法为θ^2的高斯分布正态分布,即符合中心极限定理。)

线性回归损失函数、代价函数、目标函数的概念

  • 损失函数:模型的样本误差,用于度量预测值与真实值的拟合程度,损失函数越小说明模型越好。它是定义在单个样本上的。
  • 代价函数:定义在整个训练集上的,整个样本误差的平均,即,损失函数的平均值。
  • 目标函数:表示误差的损失函数,代价函数,加入了正则惩罚项后得到的最终优化函数。

一元线性回归的参数求解公式推导

y = wx+b

多元线性回归的参数求解公式推导

线性回归的评估指标有哪些?原理是什么?

  • SSE(误差平方和):误差平方和,即(真实值-预测值)的平方和
    同样的数据集的情况下,SSE越小,误差越小,模型效果越好
    缺点:随着样本增加,SSE必然增加,也就是说,不同的数据集的情况下,SSE比较没有意义

  • R-square(决定系数):1- 误差平方和/原始真实数据与平均值差方和。综合考虑了预测数据和原始数据的误差以及原始数据的离散程度。消除了原始数据离散程度的影响。
    R^2 越接近1,表示方程变量对y的解释能力越强,模型对数据拟合越好。
    R^2 越接近0,表明模型拟合越差。
    缺点:数据集的样本越大,R^2越大,所以,不同数据集的模型结果比较会有一定的误差

Adjusted R-square:校正决定系数。加入样本数据和特征数据评价指标,消除了样本数据和特征数量的影响。

sklearn参数详解(sklearn包里面线性回归的每个参数的作用)

sklearn 线性回归LinearRegression()参数:

参数 意义
fit_intercept 是否有截据,如果没有则直线过原点
normalize 是否将数据归一化
copy_X 默认为True,当为True时,X会被copied,否则X将会被覆写
n_jobs 默认值为1,计算时使用的核数
iOSDevLog wechat
欢迎您扫一扫上面的微信公众号,订阅我的博客!