【机器学习】正则化&损失函数和梯度下降法

 一、正则化

1.概念

正则化就是说给损失函数加上一些限制,通过这种规则去规范他们再接下来的循环迭代中,不要自我膨胀。

【机器学习】正则化&损失函数和梯度下降法_第1张图片【机器学习】正则化&损失函数和梯度下降法_第2张图片

 我们可以看到,第一张图片拟合程度过低,导致测试结果不尽人意;

第二张图片是刚刚合适的,拟合程度恰到好处,测试集中我们得到的准确率是最高的,同时泛化能力也是最强的。

第三张图片拟合程度过高,每个点都能通过,导致不能起到预测的作用,丧失了模型泛化能力

2.过拟合、欠拟合介绍及解决刨析

欠拟合:泛化能力差,训练样本集准确率低,测试样本集准确率低。
过拟合:泛化能力差,训练样本集准确率高,测试样本集准确率低。
合适的拟合程度:泛化能力强,训练样本集准确率高,测试样本集准确率高

欠拟合原因:

·训练样本数量少
·模型复杂度过低
·参数还未收敛就停止循环

欠拟合的解决办法:

·增加样本数量
·增加模型参数,提高模型复杂度
·增加循环次数
·查看是否是学习率过高导致模型无法收敛

过拟合原因:

·数据噪声太大
·特征太多
·模型太复杂

过拟合的解决办法:

·清洗数据
·减少模型参数,降低模型复杂度
·增加惩罚因子(正则化),保留所有的特征,但是减少参数的大小(magnitude)。

3.正则化线性回归模型

①正则化线性回归代价函数

 ②梯度下降算法:

 4.正则化逻辑回归模型

①正则化逻辑回归代价函数

② 梯度下降算法

 二、损失函数和梯度下降法

1.损失函数

       真实值与预测值差的平方的均值除以二。当损失函数的值越小,我们的线性回归也就越准确。机器学习算法中有一类算法就是产生一条曲线来拟合现有的数据,这样子就可以实现预测未来的数据,这个专业术语叫做回归。 还有另外一种类似也是产生一条曲线,但是这个曲线时用来将点分隔成两块,实现分类,在这个曲线一侧为一类另外一侧算一类。

 【机器学习】正则化&损失函数和梯度下降法_第3张图片

 在这个图上可以很明显看出当θ1=0.5时,损失函数有最小值。随着θ1增大或者见效,损失之都会增加。这样我们就能很清晰看出损失函数与θ1、θ0之间的关系。

2.梯度下降

 梯度下降就是用来求某个函数最小值时自变量对应取值。这个函数名字叫做损失函数(cost/loss function),直白点就是误差函数。一个算法不同参数会产生不同拟合曲线,也意味着有不同的误差。 损失函数就是一个自变量为算法的参数,函数值为误差值的函数。梯度下降就是找让误差值最小时候算法取的参数。

【机器学习】正则化&损失函数和梯度下降法_第4张图片

 

这个图上可以看出,在不同山峰(红的)会降到不同的谷底(蓝色)这正是梯度下降的一个特点:

1:参数取不同的初始值,可能会得到不同的最小损失值。但这资额不同的损失值却不能说谁不对,因为他们分别是此模型的局部最优解,就像你身处谷底就不可能知道还有更低的地方

 【机器学习】正则化&损失函数和梯度下降法_第5张图片

 

3.用容易理解的话总结

①梯度就是导数

②梯度下降作用是找到函数的最小值所对应的自变量的值(曲线最低点对应x的值)。记住我们目的是为了找x。

③梯度下降含义是:改变x的值使得导数的绝对值变小,当导数小于0时候(情况1),我们要让目前x值大一点点,再看它导数值。当导数大于0时候(情况2),我们要让目前x值减小一点点,再看它导数值。当导数接近0时候,我们就得到想要的自变量x了。也就是说找到这个算法最佳参数,使得拟合曲线与真实值误差最小。

你可能感兴趣的:(机器学习,深度学习,人工智能)