目录
线性回归
一元线性回归
一元线性回归拟合
过程:
编辑
优化:
多元线性回归
过程:
多项式回归
一元多项式回归
过程
交叉验证法
简单交叉验证
K折叠法
过拟合
特征缩放
数据归一化
min-max标准化
z-score标准化(标准差标准化)--常见
参考
线性回归,顾名思义,就是回归问题,既然是回归问题,那必然是监督学习,回归问题就是用于输入变量和输出变量之间的关系,特别当输入值发生变化时,输出值也会发生变化。回归模型正是表示从输入变量到输出变量之间映射的函数,回归问题的学习等价于函数拟合︰选择一条函数曲线使其很好地拟合已知数据且很好地预测未知数据。
如果研究的线性函数只包含一个自变量和一个因变量,且二者的关系可以用一条直线刻画时,这种回归就是一元线性回归一。如果涉及两个以上的自变量,且是线性关系,就称为多元线性回归
使用梯度下降的调优
这样特征的新期望为0,新方差为1,迭代速度可以大大加快。
交叉验证是在机器学习建立模型和验证模型参数时常用的办法。交叉验证,顾名思义,就是重复的使用数据,把得到的样本数据进行切分,组合为不同的训练集和测试集,用训练集来训练模型,用测试集来评估模型预测的好坏。在此基础上可以得到多组不同的训练集和测试集,某次训练集中的某样本在下次可能成为测试集中的样本,即所谓“交叉”。
交叉验证用在数据不是很充足的时候。比如在我日常项目里面,对于普通适中问题,如果数据样本量小于一万条,我们就会采用交叉验证来训练优化选择模型如果样本大于一万条的话,我们一般随机的把数据分成三份,一份为训练集(Training Set) ,一份为验证集(Validation Set),最后一份为测试集〈Test Set)。用训练集来训练模型,用验证集来评估模型预测的好坏和选择模型及其对应的参数。把最终得到的模型再用于测试集,最终决定使用哪个模型以及对应参数。
交叉验证的主要作用:
模型选择
模型评估
模型选择与模型评估的关系:
两种用途在本质上是一致的,模型评估可以看成是模型选择过程中的一个步骤:先对候选的每个模型进行评估,再选出评估表现最好的模型作为最终模型。
交叉验证的核心思想在于对数据集进行多次划分,对多次评估的结果取平均,从而消除单次划分时数据划分得不平衡而造成的不良影响。因为这种不良影响在小规模数据集上更容易出现,所以交叉验证方法在小规模数据集上更能体现出优势
交叉验证优缺点:
优点:获得对模型更合理更准确的评估,尤其是数据集很小时,更能体现出这个优势。
缺点:增加了计算量
步骤:
这种方法称为hold -out cross validation或者称为简单交叉验证。由于测试集和训练集是分开的,就避免了过拟合的现象
步骤:、
1. 将全部训练集S分成 k个不相交的子集,假设S中的训练样例个数为 m,那么每一个子集有 个训练样例,相应的子集称作{
}
2. 每次从分好的子集中里面,拿出一个作为测试集,其它k-1个作为训练集
3. 根据训练训练出模型或者假设函数
4. 把这个模型放到测试集上,得到分类率
5. 计算k次求得的分类率的平均值,作为该模型或者假设函数的真实分类率。这个方法充分利用了所有样本。但计算比较繁琐,需要训练k次,测试k次
一般k=10,是一个经验数
拟合过度
防止过度拟合的方法;
当用交叉验证进行模型选择时,可以从多种模型中选择出泛化能力最好的(即最不容易发生过拟合)的模型。从这个角度上讲,交叉验证是避免发生过拟合的手段。同样是解决过拟合的方法,交叉验证与正则化不同:交叉验证通过寻找最佳模型的方式来解决过拟合;而正则化则是通过约束参数的范数来解决过拟合。当用交叉验证进行模型评估时,交叉验证不能解决过拟合问题,只能用来评估模型的performance。
正则化代价函数:
代码参照:
代码00https://www.csdn.net/tags/MtTaAgwsODY4MjYtYmxvZwO0O0OO0O0O.html
代码01https://zhuanlan.zhihu.com/p/487653787
可用于x_date的区间很小,y_date区间很大的情况
概率模型(树形模型)不需要归一化,因为它们不关心变量的值,而是关心变量的分布和变量之间的条件概率,如决策树、RF。而像Adaboost(机器学习之自适增强)、SVM(二分类模型)、LR(逻辑回归模型)、Knn(分类算法)、KMeans之类的最优化问题就需要归一化。
适用场景:数值比较集中的情况
缺点:
适用场景:
最大值,最小值未知或是有超出取值范围的离散数据的情况
z-score标准化得到的结果是所有数据都聚在0附近,方差为1
机器学习---之损失函数求最小值为什么不用导数为0的点而用梯度下降法_zxyhhjs2017的博客-CSDN博客_损失函数最小值
线性回归,损失的定义,损失函数与优化方法,用统计学习方法来理解线性回归、损失函数和优化方法,Sklearn使用方法_JJH的创世纪的博客-CSDN博客_sklearn线性回归损失函数
梯度下降(Gradient Descent)小结 - 刘建平Pinard - 博客园 (cnblogs.com)
(1条消息) 交叉验证法总结_CYJ_fightman的博客-CSDN博客_交叉验证法
(1条消息) 交叉验证的几个方法的解释(简单交叉验证、k折交叉验证、留一法)_ArthuratHK的博客-CSDN博客_简单交叉验证
(1条消息) 交叉验证(Cross Validation)_SongGu1996的博客-CSDN博客_交叉验证
k交叉验证详解 - 你的雷哥 - 博客园 (cnblogs.com)