一、机器学习基本概念
1.有监督&无监督
有监督学习和无监督学习的主要区别体现在用于训练的数据集是否有反馈值,即用于纠偏的正确答案。
有监督学习通过学习输入数据(X)和输出数据(y)之间模式,建立模型进行分类或预测。比如逻辑回归、决策树等都是有监督分类。训练时通过模型预测值与实际值的误差进行参数优化求解。
无监督学习直接输入数据(X)进行学习,通过数据之间的联系进行建模,比如聚类,通过距离衡量样本的相似性进行簇的划分。
2.泛化能力
泛化能力指的是训练好的模型在未知数据集上的预测能力。即在训练集上表现很好的模型对于新的数据是否依然能有很好的预测准确率。
3.过拟合&欠拟合及解决方法
偏差:指预测输出与真实标记的差别;度量学习算法的期望预测与真实结果的偏离程度。
方差:刻画数据扰动所造成的影响;表示所有模型构建的预测函数,与真实函数的差别有多大。(可联想统计学中方差刻画的是数据集的离散程度。)
训练和测试的准确率都很差时,可能是因为数据量不够,可以尝试
增加样本量或交叉验证。
注:数据量是个相对的概念,需要结合特征维度去考量,当维度很高时,训练所需要的数据量呈指数级增加。
4.交叉验证
一般情况下需要将数据集划分为训练集和测试集,在训练集上进行模型训练,在测试集上进行验证调优。但数据集划分具有随机性,模型偏误会依赖数据集的划分,不同的划分方法会产生不同的模型预测误差,参数选择也不同。因此提出了交叉验证的方法。
k折交叉验证将数据集平均分为k份,每次选择其中一份作为测试集,用剩下的k-1份数据进行模型训练,共进行k次训练,最后使用平均误差衡量模型的性能。
二、损失函数vs代价函数vs目标函数
损失函数是针对单个样本来说的;
风险函数是损失函数的期望(经验风险);
目标函数:代价函数(经验风险)+正则化项(结构风险,衡量模型复杂度)
三、线性回归原理
1.简单线性回归
假设输入数据集D有n个样本,d个特征,则:
其中第个样本表示为:
线性模型通过建立线性组合进行预测。我们的假设函数为:
其中为模型参数。
令,为行向量,令
为维矩阵,为维向量,则假设函数(1)式可表示为:
损失函数为均方误差,即
最小二乘法求解参数,损失函数对求导:
令,得
2.线性回归的正则化
为防止模型的过拟合,通常选择在损失函数加上正则化项。
线性回归的L1正则化为lasso,损失函数为:
线性回归的L2正则化为岭回归,损失函数为:
其中为常数系数,需要调优。
L1范数不可导,因此不能用最小二乘或梯度下降法求解参数,一般用坐标轴下降法等求解。
四、 优化方法
1.梯度下降法
梯度下降法常用来求解无约束最优化问题,是一种迭代方法:损失函数,为需要求解的参数;选取初值,不断迭代更新的值,进行损失函数的极小化。
将第t次迭代后的损失函数在处进行一阶泰勒展开:
要想使,可取
则迭代公式为:
其中为步长。
2.牛顿法
将第t次迭代后的损失函数在处进行二阶泰勒展开:
为了简化问题,先假设参数是标量,将一阶导数和二阶导数分别记为和,则有:
要使最小化,即让 最小,对求导,令其等于0,可得,故:
推广到向量形式,则迭代公式为:
其中H为海森矩阵。
3.拟牛顿法
梯度下降法和牛顿法都需要计算梯度,如果存在不可导的情况则无法求解,因此拟牛顿法构造出了近似海森矩阵的正定对称阵,进行目标函数的优化。
五、评估指标
R-Square:,
度量回归模型拟合程度,反应了因变量的变差中被模型所解释的比例。
MSE:均方误差,即预测值与真实值之间误差平方和的均值。
RMSE:均方根误差。
MAE:平均绝对误差。
六、简单线性回归sklearn参数详解
from sklearn.linear_model import LinearRegression
参考
https://blog.csdn.net/qq_28448117/article/details/79199835?from=singlemessage
https://www.cnblogs.com/pinard/p/6004041.html
https://zhuanlan.zhihu.com/p/24709748
https://blog.csdn.net/garfielder007/article/details/51646604
https://blog.csdn.net/u013704227/article/details/77604500
https://blog.csdn.net/hurry0808/article/details/78148756