Datawhale-初级机器学习算法梳理-任务一

机器学习的一些概念

有监督:通俗而言,训练数据带有标签信息称为有监督学习,分类和回归是有监督学习的代表。

无监督:训练数据中没有带有标签信息(lable),成为无监督学习,常见如聚类。

泛化能力:泛化能力就是指模型对于未知数据的预测能力。常用的办法就是通过测试误差来评价泛化能力

过拟合:一味的追求提高对训练数据的预测能力,所选的模型复杂度往往比真的模型更高,这就是过拟合。过拟合往往对已知的数据预测效果比较好,但是对于未知的数据(例如测试数据)表现效果很差。

欠拟合:就是说训练的模型对训练的数据拟合不是很好。

第一张图代表欠拟合,第三张代表过拟合。

Datawhale-初级机器学习算法梳理-任务一

偏差:偏差主要是用于衡量模型拟合训练数据的能力。偏差越小,拟合的能力越高。

方差:方差衡量的是模型的泛化能力。方差越小,模型的泛化能力越高。

误差:预测输出和样本真实输出之间的差异称为“误差”。

如何解决欠拟合:

添加其他特征项。组合、泛化、相关性、上下文特征、平台特征等特征是特征添加的重要手段,有时候特征项不够会导致模型欠拟合。
添加多项式特征。例如将线性模型添加二次项或三次项使模型泛化能力更强。例如,FM模型、FFM模型,其实就是线性模型,增加了二阶多项式,保证了模型一定的拟合程度。
可以增加模型的复杂程度。
减小正则化系数。正则化的目的是用来防止过拟合的,但是现在模型出现了欠拟合,则需要减少正则化参数。

如何解决过拟合:

重新清洗数据,数据不纯会导致过拟合,此类情况需要重新清洗数据。

增加训练样本数量。

降低模型复杂程度。

增大正则项系数。

采用dropout方法,dropout方法,通俗的讲就是在训练的时候让神经元以一定的概率不工作。

early stoping。

减少迭代次数。

增大学习率。

添加噪声数据。

树结构中,可以对树进行剪枝。

线性回归的原理:线性回归就是想在给出的数据所在的N维空间中找到一条“线”来描述这个数据的规律。在给出新的一个数据的时候,这个模型能够根据之前的训练数据来进行预测输出。

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

损失函数

Datawhale-初级机器学习算法梳理-任务一

在这个式子之中,Y代表真实值,f(x)为算法的输出值。

代价函数:

 

Datawhale-初级机器学习算法梳理-任务一

 

使用矩阵表达为

Datawhale-初级机器学习算法梳理-任务一

目标函数

Datawhale-初级机器学习算法梳理-任务一

目标函数就是经验风险最小化,假如结构风险最小化,后面的J(f)代表的是模型的复杂度。

优化方法(梯度下降法、牛顿法、拟牛顿法等)

梯度下降法:

是一个一阶最优化算法,通常也称为最速下降法。 要使用梯度下降法找到一个函数的局部极小值,必须向函数上当前点对应梯度(或者是近似梯度)的反方向的规定步长距离点进行迭代搜索。

Datawhale-初级机器学习算法梳理-任务一

梯度在目标函数中就是导数,对数据进行求导,选择梯度最大的方向进行减小。但是梯度下降容易陷入到局部最优解中。

牛顿法:牛顿法的基本是一种是用导数的算法,它每一步的迭代方向都是沿着当前点函数值下降的方向。

Datawhale-初级机器学习算法梳理-任务一

拟牛顿法:

Datawhale-初级机器学习算法梳理-任务一

 

 

线性回归的评估指标

均方误差MSE:

Datawhale-初级机器学习算法梳理-任务一

根均方误差:

Datawhale-初级机器学习算法梳理-任务一

平均绝对误差MAE:

Datawhale-初级机器学习算法梳理-任务一

R方:

Datawhale-初级机器学习算法梳理-任务一

sklearn参数详解

class sklearn.linear_model.LinearRegression(fit_intercept=Truenormalize=Falsecopy_X=Truen_jobs=None)

 

Fit_intercept:是一个bool值,默认是True。是否计算截距

Normzlize:bool值,默认为False,如果前面的fit_intercept选项为False,则忽视这个选项。如果这个选项为True则会对结果减去均值除L2范数。

copy_x:bool值,默认为True。如果选项为True,则复制x,否则会在原有数据上进行修改

n_jobs: 默认为1 计算的时候使用的核数。