导图社区 大数据线性模型知识点
大数据线性模型知识点整理,包括线性回归、模型四步、泰勒二阶展开、过拟合、欠拟合、正则化、是否过拟合等。
一张思维导图带你学习Python基础知识内容,涵盖了数据类型、变量、占位符、if语句、代码截图,结构型知识框架方便学习理解!
社区模板帮助中心,点此进入>>
论语孔子简单思维导图
《傅雷家书》思维导图
《童年》读书笔记
《茶馆》思维导图
《朝花夕拾》篇目思维导图
《昆虫记》思维导图
《安徒生童话》思维导图
《鲁滨逊漂流记》读书笔记
《这样读书就够了》读书笔记
妈妈必读:一张0-1岁孩子认知发展的精确时间表
Linear Regression
线性回归
• 单变量线性回归
标记
损失函数:平方损失
• 最小二乘和梯度下降
思想
1. 随机选择一个参数的组合 0, 1, . . . . . . , ,计算代价函数
2. 然后我们寻找下一个能让代价函数值最低的参数组合
3. 持续这么做直到一个局部最小值(local minimum)
梯度是函数对每个变量的偏微分组成的 向量. 梯度的方向就是这个向量的方向.它是函数在给定点的 上升(下降)最快的方向
梯度下降, 一元函数和多元函数皆可使用,简单函数和复杂函数皆可用
• 对θ赋值,使得J(θ)按梯度下降的方向进行,一直迭 代下去,最终得到局部最小值。
• 其中α是学习率(learning rate),它决定了我们沿 着能让代价函数下降程度最大的方向向下迈出的步 子有多大。
用法
梯度下降法,关键在于求出代价函数的导数
• 多变量线性回归
多变量线性回归和梯度下降:
• 多变量多项式回归
逻辑回归,神经网络原理一样
模型四步
创建
from sklearn.linear_model import LinearRegression
lin_reg = LinearRegression()
训练
lin_reg.fit(X,y)
预测
pred = lin_reg.predict(X_test)
评估
from sklearn.metrics import mean_squared_error,median_absolute_error,mean_squared_log_error
mean_squared_error(y_test,pred)
median_absolute_error(y_test,pred)
mean_squared_log_error(y_test,pred)
lin_reg.score(X_train,y_train)
代码
泰勒二阶展开
过拟合
定义
很复杂的模型,很完美的拟合了训练集的每个数据. 但是过于强调拟 合原始数据,而丢失了算法的本质:预测新数据。我们可以看出,若给出一个新 的值使之预测,它将表现的很差
主要原因
训练数据中存在噪音或者训练数据 太少
学太细
学太少
学噪音
解决
丢弃一些不能帮助我们正确预测的特征。可以是手工选择保留哪些特 征,或者使用一些模型选择的算法来帮忙(例如PCA)
正则化。 保留所有的特征,但是减少参数的大小(magnitude)
判别方法
详解
欠拟合
有许多错分的数据, 不能很好地适应我们的训练集, 属于欠拟合;
正则化
原因
那些高次项导致了过拟合的产生,所以如 果我们能让这些高次项的系数接近于0的话,我们就能很好的拟合了
解决方法
理论推导
在一定程度上减小这些参数 的值,这就是正则化的基本
方法。一个最直观的方法就是减少3和4的大小,要做的便是对theta3和theta4 设
置一点惩罚。这样做的话,我们在尝试最小化代价时也需要将这个惩罚纳
入考虑中,并最终导致选择较小一些的theta3和theta4。
公式
假如我们有非常多的特征,我们并不知道其中哪些特征我们要惩罚,我们将
对所有的特征进行惩罚. 这样的结果是得到了一个较为简单的能防止过拟合问题的假设:
两种形式
L1
向量中每个元素绝对值的和
L1会趋向于产生少量的特征,而其他的特征都是0.因为最优的参数值很大概 率出现在坐标轴上,这样就会导致某一维的权重为0 ,产生稀疏权重矩阵
L2
向量元素绝对值的平方和再开平方
L2会选择更多的特征,这些特征都会接近于0。 最优的参数值很小概率出现 在坐标轴上,因此每一维的参数都不会是0。当最小化||w||时,就会使每一项 趋近于0
是否过拟合
学习曲线(learning curve)