Machine Learning Chinese NLP :::: Regularization & Overfitting - Chad Salinas ::: Data Scientist
Use Slidify to create motion charts to share with the world on rPubs Chad Salinas or GitHub.
Slidify, rPubs Chad Salinas, Motion Charts, Hans Rosling
1239
post-template-default,single,single-post,postid-1239,single-format-standard,qode-listing-1.0.1,qode-social-login-1.0,qode-news-1.0,qode-quick-links-1.0,qode-restaurant-1.0,ajax_fade,page_not_loaded,,qode-title-hidden,qode_grid_1300,qode-theme-ver-12.0.1,qode-theme-bridge,bridge,wpb-js-composer js-comp-ver-5.4.2,vc_responsive

Machine Learning Chinese NLP :::: Regularization & Overfitting

Regularization & Problem of Overfitting

到目前为止,你已经了解了
一些不同的学习算法,线性
回归和逻辑回归
在很多问题上它们很有效
然而当你真正用这些算法
去解决某些机器学习的实际应用时,它们
可能会出现一种问题称作为
”过度拟合“,这会使得学习结果非常糟糕。
我接下来要做的
这个视频中是对你解释
什么是“过度拟合”
问题,并在
接下来几个视频中,
我们将讨论一种技术叫做
正规化,它将允许
我们改善或者
减少“过度拟合”问题,并
让这些学习算法更加有效的运行
所以,什么是“过度拟合”呢?
让我们继续用
预测房子价格的例子
来自之前线性回归的介绍
去预测
价格作为房子大小的功能。
其中一种方法我们可以做的是
运用线性代数在
这个数据上,如果我们
这样做,我们可能会得到
像这样一条直线来拟合这些数据
但是这并不是一个非常好的模型
仔细看这些数据,似乎
非常清楚,当
房子的面子增加的时候,
房子的价格趋于‘高原态’,或者趋于
铺平,当我们向右移动后,所以
这个算法不
适合这次训练,我们
称这样的问题为‘欠拟合’,
另外一个原因是
这个算法有很高的 偏差
上述两者
都意味着 这个算法并没有很好的拟合训练数据
偏差的存在可能
是历史或者技术上的原因
但有个想法是
如果用一直线来拟合
数据,那么如果
该算法含有
很强的猜想,或者
很强的偏见那么房
价会因
它们的大小线性变动,尽管数据显示恰恰相反
尽管事实表明
相反地是猜想仍然
是偏见,仍然进一步
阻碍了直线的拟合
这导致了对数据的拟合较差
现在,我们可以折衷地
用二次函数来拟合,然后
通过该数据集,我们拟合了
二次函数,我们可能得到
类似的曲线
它也拟合得很好
如果我们想要拟合得更好的话,可以给数据添加一个四次项
那么我们就有了五个参数
theta0到theta4
通过这样的方式,我们实际上可以丰满一条曲线
使其贯穿全部五个训练样本
你应该会得到这样一条曲线

一方面看来,
似乎
对训练集拟合得非常好
而且,
至少它经过了所有的数据
但是,这曲线依然很扭曲,对吧?
它在那里上下起伏
我们实际上也
不认为它是预测房价的好模型
那么,这个问题我们
称之为过拟合
另一方面是
该算法方差较高
高方差是关于诸如
历史或者技艺另外的原因了
但是直觉告诉我们
如果我们用这么
搞次幂的多项式来拟合
当然是可以拟合出假设函数来的
它基本上以可以
拟合所有函数但
可能的假设函数量
太多,它很多变
我们没有足够的数据
来约束它来获得
好的假设,这称之为“过拟合“
在中间我将要写的这个,
没有正式的名字,刚好吧
那是一个二次多项式,二次函数
对于这数据来说似乎刚刚好
概括来说就是
过拟合的问题出现在
存在
过多的的变量的时侯
假设函数会对训练集拟合得很好
这样你的代价函数
会很接近
零甚至就是零
但你
最终只会得到
那样一条曲线
你花费太多心思
去迎合训练集
导致它不能推广到
新的样本,也不能
对新的案例进行价格预测
其中,这里的
“推广”解释为
假设函数对新案例的适用程度
这一点在
房子数据的训练集上是体现不出来的
在这一页我们关注到了
线性回归的过拟合
有相似的一点也能适用到逻辑回归上
这里是一个逻辑回归
的例子,它有X1和X2两个变量
我们可以做的是
拟合逻辑回归
仅仅用这样一个简单的假设
我一般都用G代表S型函数
这样做之后得到一个假设函数
可能你想拿去用
它就是一条
分割在正轴和负轴上样本的直线
这似乎不是拟合得较好的假设
那么,我们再来一次
这是一个欠拟合的y例子
可能假设存在偏见
相反地,如果你
向你的变量增加
些二次项,那么
你会得到一个决策边界
就像这样的
你能看得出来它对数据拟合得很好
可能
在训练集上我们已经做到极致了
最后讨论另一个极端
假如你要
拟合一个很高阶的多项式
就是如果你想要加入许多
高次项
逻辑回归会产生扭曲
它会很努力
去寻找
匹配训练集的决策边界
决策边界或者说
把自己扭曲得长长的
去把每一个训练样本拟合得严丝合缝
如果
变量X1和变量X2
作为预测依据
分别是
恶性肿瘤和良性乳瘤
这看起来真的不是
应用于预测的好假设函数
同样地再看这个
这是过拟合的一个实例
这个假设函数有较高的方差
并不能很好地
适用于新的样本
稍后,这节课中
当我们谈论关于
学习算法出错时的调试和诊断
我们会提供
对应的工具去识别
当过拟合和
欠拟合发生的时候
现在让我们讨论
当过拟合这问题
发生的情况
我们该如何解决它?
在之前的例子中,我们
有一到两个维度的数据
我们才可以画出假设函数来观察其发生过程
并且选择合适幂次的多项式
所以早先对于房价的
例子,我们可以画出
该假设
可以看到它
在拟合某种
非常扭曲的预测房价函数,它经过了所有点
我们可以使用这样的图像
来挑选合适幂次的多项式
把假设函数画出来
是决定使用哪种幂次多项式
的一种方式
但是这并不是总是有用的
实际上我们更多地
在变量很多的时候遇到了训练的问题

Chad Salinas working on Plotly

Chad Salinas working on analytics project.

Chad Salinas late nighter
也不仅仅是
选择多少次幂的多项式的问题
实际上,当我们
有过多的变量时
就变得越来越难在图上标出
数据也变得
更难地使它可视化
从而决定保留哪些变量
具体来说,如果我们试图
预测房价可能存在大量的变量
全部的变量当中,都可能有点用
但是如果存在
很多变量,又非常少量的
训练集,那么
过拟合这问题就会出现了
为了解决过拟合
的问题,我们主要有两种
解决途径
第一种是,尝试
减少变量的数量
具体地说,我们
可以人为观察
变量集,继而
决定哪些变量
更重要,我们因此
可以知道哪些变量应该保留
哪些变量应该被剔除
这节课的稍后部分
也会讨论模型选择算法
这算法它可以自动
决定要保留的变量
和要剔除的变量
这种减少
变量数量的思路
是行得通的,可以减轻过拟合的问题
当我们谈及模型选择
我们会作更有深度的探讨
但是,其缺点是
剔除掉一部分
变量时,同时也除掉了
一部分关于主题的信息
举个例子,可能所有
变量实际上都是对
预测房价有用的
那么我们当然不想
除掉这部分
信息和变量
第二种做法
我们会在
下几个视频中讲到,就是正则化
这种方法中,我们将会保留
所用的变量,但我们会
减少参数theta J的
大小值
我们将会看到这种
方法效果很好
当存在大量的
变量时,每一个变量
都为预测Y的值做出了一点贡献
就像我们在
预测房价的例子中看到的那样
当存在大量的变量时
其中的每一个变量
多少都是有点用的,我们舍不得把他们扔掉
就这样,以上
概括了正则化的思路
我也知道
你们可能还没有明白其中的所有细节
但是在下一个视频当中
我们会开始精确地阐述
如何去应用正则化和正则化的含义
接着我们会开始
指出如何使用它
使学习算法的效果
更好并且避免过拟合的问题

Let the dataset change your mindset

– Hans Rosling
No Comments

Sorry, the comment form is closed at this time.