机器学习——线性模型
·
线性模型
线性回归
回归:有监督,标签连续
线性回归:利用回归方程(函数)对一个或多个自变量(特征值)和因变量(目标值)之间关系进行建模的一种分析方式
- 一元线性回归:1个特征列+1个标签列
- 多元线性回归:多个特征列+1个标签列
公式:
一元线性回归:y=kx+b->wx+b
-
k:数学中叫斜率,在机器学习中叫weight(权重),简称:w
-
b:数学中叫截距,在机器学习中叫Bias(偏置),简称:b
多元线性回归:y= W1x1 + W2x2 +W3x3……Wnxn=w的转置*x+b
损失函数
误差=预测值y- 真实值y
损失函数:衡量每个样本预测值与真实值效果的函数,也叫代价函数、成本函数、目标函数
损失函数的分类:
- 均方误差
- 平均绝对误差
减小误差的方法:
- 正规方程法:求导,求偏导
- 梯度下降法:利用梯度逐步逼近最优解
正规方程法:
- 预测值向量与误差向量垂直(正交)
- 正规方程法 = 用线性代数暴力求解,直接算出"让误差最小"的参数值,快但吃内存,准但怕特征多。
梯度下降法
梯度下降公式:当前点-学习率*损失函数
梯度:
- 单变量函数中,梯度就是某一点切线斜率(某一点的导数);有方向:为函数增长最快的方向
- 多变量函数中,梯度就是某一个点的偏导数;有方向:偏导数分量的向量方向
梯度下降 = 用局部信息找全局最优,是机器学习的"万能试错法",慢但通用,笨但有效。
关于学习率步长:
- 步长决定了在梯度下降迭代的过程中,负方向前进的长度
- 学习率太小,下降的速度会慢
- 学习率太大:容易造成错过最低点、的震荡、甚至梯度爆炸
梯度下降算法分类:
- 全梯度下降算法(FGD):
- 每次迭代时,使用全部样本的梯度值
- 有m个样本,求梯度时用了所有m个样本
- 小批量梯度下降算法(mini-batch)
- 每次迭代时,随机选择并使用小批量的样本梯度值
- 从m个样本中,选择x个样本进行迭代(1<x<m),
- 随机平均梯度下降算法(SAG)
- 每次迭代时,随机选择一个样本的梯度值和以往样本的梯度值的均值
- 随机梯度下降算法(SGD)
- 每次迭代时,随机选择并使用一个样本梯度值
线性回归模型——值越小模型预测越准确
-
均分误差(MSE)
-
平均绝对误差(MAE)
-
均方根误差(RMSE)
欠拟合与拟合
欠拟合出现的原因—— 学习到数据的特征过少
解决办法:从数据、模型、算法的角度去想解决方案
- 添加其他特征
- 有时出现欠拟合是因为特征项不够导到改的,可以添加其他特征项来解决
- “组合”、“泛化”、“相关性”三类特征是特征添加的重要手段
- 添加多项式特征项
- 模型过于简单时的常用套路,例如将红戈性模型通过添加二次项或三次项使模型泛化能力更强
过拟合出现的原因——原始特征过多,存在一些嘈杂特征,模型过于复杂是因为模型尝试去兼顾各个测试数据点
解决办法
- 重新清洗数据
- 对于过多异常点数据、数据不纯的地方再处理
- 增大数据的训练量
- 对原来的数据训练的太过了,增加数据量的情况下,会缓解
- 正则化
- 解决模型过拟合的方法,在机器学习、深度学习中大量使用
- 减少特征维度,防止维灾难
- 由于特征多,样本数量少,导致学习不充分,泛化能力差。
过拟合,欠拟合解释:
产生原因:
-
欠拟合:模型简单.
-
过拟合:模型复杂.
解决方案:
- 欠拟合:增加特征,从而增加 模型的复杂度.
- 过拟合:减少模型复杂度,手动筛选(减少)特征,L1和L2正则化.
更多推荐
所有评论(0)