机器学习应用建议(一)

决定下一步做什么

这里我们以房价预测为例,假设我们需要使用线性回归模型对房价进行预测,其代价函数J(θ)如下图所示。当我们将已经训练好的模型用来预测房价时,我们发现有较大的误差,那么我们下一步应该怎么做?

我们可能会想到以下几种方法:

  • 获取更多的样本;
  • 尝试减少特征变量的数量;
  • 尝试获取更多的特征变量;
  • 尝试增加多项式特征;
  • 尝试减小正则化参数λ的值;
  • 尝试增大正则化参数λ的值;
    ......

这些方法可能有用也可能没用,我们更不应该在实际应用中随机选择上述方法。还有一点要说明的是:上述方法中的任意一个方法,在具体实践过程中都可能转变为一个为期半年甚至时间更长的项目。因此,我们需要引入机器学习诊断法来帮助我们决定下一步该做什么才是有效的方法。

Question:
Which of the following statements about diagnostics are true? Check all that apply.
A. It's hard to tell what will work to improve a learning algorithm, so the best approach is to with gut feeling and just see what works.
B. Diagnostics can give guidance as to what might be more fruitful things to try to improve a learning algorithm.
C. Diagnostics can be time-consuming to implement and try, but they can still be a very good use of your time.
D. A diagnostics can sometimes rule out certain courses of action (changes to your learning algorithm) as being unlikely to improve its performance significantly.

我们不难选出B,C和D这三个正确答案。

假设评估

对于我们之前所提及的欠拟合问题和过拟合问题,我们是通过画图的方法来检验的。如若训练集中有较多的特征变量时,我们就无法将函数图给呈现出来。

对此,我们可以将数据集分为训练集和测试集两个部分,其中训练集占数据集的70%,测试集占数据集的30%。首先,我们利用训练集将代价函数J(θ)最小化,然后利用测试集测试模型误差,从而出模型是否出现欠拟合或过拟合问题。

注:如果数据集有一定规律,则要从数据集中随机选取70%的样本作为训练集,30%的样本作为测试集。

线性回归模型

  • 利用训练集将代价函数J(θ)最小化,得到此时参数θ的值
  • 利用测试集计算误差:

逻辑回归模型

  • 利用训练集将代价函数J(θ)最小化,得到此时参数θ的值
  • 利用测试集计算误差:

除此之外,对于逻辑回归模型我们还能计算误分类率来帮助我们理解逻辑回归模型的误差。

误分类率

因此,我们可将误差测试的表达式改写为:

Question:
Suppose an implementation of linear regression (without regularization) is badly overfitting the training set. In this case, we would expect:
A. The training error J(θ) to be low and the test error Jtest(θ) to be high
B. The training error J(θ) to be low and the test error Jtest(θ) to be low
C. The training error J(θ) to be high and the test error Jtest(θ) to be low
D. The training error J(θ) to be high and the test error Jtest(θ) to be high

我们不难选出A这个正确答案。

补充笔记
Evaluating a Hypothesis

Once we have done some trouble shooting for errors in our predictions by:

  • Getting more training examples
  • Trying smaller sets of features
  • Trying additional features
  • Trying polynomial features
  • Increasing or decreasing λ

We can move on to evaluate our new hypothesis.

A hypothesis may have a low error for the training examples but still be inaccurate (because of overfitting). Thus, to evaluate a hypothesis, given a dataset of training examples, we can split up the data into two sets: a training set and a test set. Typically, the training set consists of 70 % of your data and the test set is the remaining 30 %.

The new procedure using these two sets is then:

  1. Learn Θ and minimize Jtrain(Θ) using the training set
  2. Compute the test set error Jtest(Θ)

The test set error

  1. For linear regression:
  1. For classification ~ Misclassification error (aka 0/1 misclassification error):

This gives us a binary 0 or 1 error result based on a misclassification. The average test error for the test set is:

This gives us the proportion of the test data that was misclassified.

模型选择以及训练集、交叉验证集和测试集的划分

假设我们要在以下的多项式模型中选择一个合适的模型:

  • (d = 1) hθ(x) = θ0 + θ1x
  • (d = 2) hθ(x) = θ0 + θ1x + θ2x2
  • (d = 3) hθ(x) = θ0 + θ1x + θ2x2 + θ3x3
    ......
  • (d = 10) hθ(x) = θ0 + θ1x + θ2x2 + θ3x3 + ... + θ10x10

其中,参数d表示多项式的次数。对于这种情况,我们使用将数据集划分为训练集和测试集的方法。

上图中,我们假设d=5时其测试误差最小。但这时我们只是找到了一个对于测试集非常拟合的模型,我们无法判断其实际泛化误差是否完美。

因此,我们不能再将数据集只分为两部分,训练集和测试集。对此,我们引入交叉验证集(Validation Set)。我们将数据集分为三个部分,训练集(60%)、交叉验证集(20%)和测试集(20%)。

对于上例,我们需要计算三部分数据集的误差。

最终,我们可得到d=4时测试误差最小。

Question:
Consider the model selection procedure where we choose the degree of polynomial using a cross validation set. For the final model (with parameters θ), we might generally expect JCV(θ) To be lower than Jtest(θ) because:
A. An extra parameter (d, the degree of the polynomial) has been fit to the cross validation set.
B. An extra parameter (d, the degree of the polynomial) has been fit to the test set.
C. The cross validation set is usually smaller than the test set.
D. The cross validation set is usually larger than the test set.

终上所述,我们不难选出A这一正确答案。

补充笔记
Model Selection and Train/Validation/Test Sets

Just because a learning algorithm fits a training set well, that does not mean it is a good hypothesis. It could over fit and as a result your predictions on the test set would be poor. The error of your hypothesis as measured on the data set with which you trained the parameters will be lower than the error on any other data set.

Given many models with different polynomial degrees, we can use a systematic approach to identify the 'best' function. In order to choose the model of your hypothesis, you can test each degree of polynomial and look at the error result.

One way to break down our dataset into the three sets is:

  • Training set: 60%
  • Cross validation set: 20%
  • Test set: 20%

We can now calculate three separate error values for the three different sets using the following method:

  1. Optimize the parameters in Θ using the training set for each polynomial degree.
  2. Find the polynomial degree d with the least error using the cross validation set.
  3. Estimate the generalization error using the test set with Jtest(d)), (d = theta from polynomial with lower error);

This way, the degree of the polynomial d has not been trained using the test set.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,968评论 6 482
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,601评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 153,220评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,416评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,425评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,144评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,432评论 3 401
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,088评论 0 261
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,586评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,028评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,137评论 1 334
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,783评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,343评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,333评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,559评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,595评论 2 355
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,901评论 2 345

推荐阅读更多精彩内容

  • 首先找到自己喜欢的图片,测量好尺寸及比例关系,进行绘画,对于彩色图片不知道如何确定明暗关系,那就从网上下载素描的图...
    我很坏987阅读 606评论 1 3
  • 一切都是不是骗局呢,不是相互骗,就是自己骗自己。 弄出那么多的技术,高科技,技术有多牛,科技有多高,掌握了技术、科...
    zhaomo阅读 357评论 0 1
  • MP,Book 1, FPA FPA 好了,今天的课展就到这里,那我要问问我们的爸爸妈妈。我们宝贝儿都表现的棒不...
    MEAnnie阅读 172评论 0 0