带解题思路:Coursera Machine Learning 第六周 quiz (Machine Learning System Design)

帮助到你了就点个赞吧~

Powered By Longer-站在巨人的肩膀上

注释为ML的个人理解,不正之处还望海涵

带注释的No.6~ML习题:

1. You are working on a spam classification system using regularized logistic regression. "Spam" is a positive class (y = 1) and "not spam" is the negative class (y = 0). You have trained your classifier and there are m = 1000 examples in the cross-validation set. The chart of predicted class vs. actual class is:

Actual Class: 1Actual Class: 0
Predicted Class: 185890
Predicted Class: 01510

For reference:

·        Accuracy = (true positives + true negatives) / (total examples)

·        Precision = (true positives) / (true positives + false positives)

·        Recall = (true positives) / (true positives + false negatives)

·        F1 score = (2 * precision * recall) / (precision +recall)

 

What is the classifier's accuracy (as avalue from 0 to 1)?

Enter your answer in the box below. If necessary, provide at least two values after the decimal point.

答案 :0.095

注:accuracy = (85+10)/(85+890+15+10)=0.095...

precision = 85/(85+890) = 0.087...

recall = 85/(85+15) = 0.85

F1 = 2*p*r/(p+r) = 0.16...

 

2. Suppose a massive dataset is available for training a learning algorithm. Training on a lot of data is likely to give good performance when two of the following conditions hold true.

Which are the two?

Our learning algorithm is able to represent fairly complex functions (for example, if we train a neural network or other model with a large number of parameters).

A human expert on the application domain can confidently predict y  when given only the features x (or more generally, if we have some way to be confident that x contains sufficient information to predict accurately).

When we are willing to include high order polynomial features of x (such as x21, x22, x1x2, etc.).

The classes are not too skewed.

答案:AB

注:使用大量的训练数据优化模型的性能,其要点包括:1、模型必须足够复杂,可以表示复杂函数,以至于数据大了之后,模型不会因为无法表示复杂函数而欠拟合,对应选项A;2、数据的有效性,数据本身有一定规律可循,对应选项B。

 

3. Suppose you have trained a logistic regression classifier which is outputing (x).

Currently, you predict 1 if (x)≥threshold, and predict 0 if (x)<threshold, where currently the threshold is set to 0.5.

Suppose you decrease the threshold to 0.1. Which of the following are true? Check all that apply.

The classifier is likely to have unchanged precision and recall, and thus thesame F1 score.

The classifier is likely to have unchanged precision and recall, but higheraccuracy.

The classifier is likely to now have lower recall.

The classifier is likely to now have lower precision.

答案:D

注:这个题目我觉得有BUG,经过多次测验,A肯定是错的,B应该是lower accuracy;不理解A、P、R和F1含义的同学可以看这个(超链接:机器学习之分类模型的性能度量),看完就可以一眼看出C选项不对,D选项是对的。

 

4. Suppose you are working on a spam classifier, where spam emails are positive examples (y=1) and non-spam emails are negative examples (y=0). You have a training set of emails in which 99% of the emails are non-spam and the other 1% is spam. Which of the following statements are true? Check all that apply.

If you always predict non-spam (output y=0), your classifier will have 99% accuracy on the trainingset, but it will do much worse on the cross validation set because it has overfit the training data.

A good classifier should have both a high precision and high recall on the cross validation set.

If you always predict non-spam (output y=0), your classifier will have 99% accuracy on the training set, and it will likely perform similarly on the cross validation set.

If you always predict non-spam (output y=0), your classifier will have an accuracy of 99%.

答案:BCD

注:不理解A、P、R、F1的同学可以看第3题的超链接,理解之后这题so easy。

 

5. Which of the following statements are true? Check all that apply.

The"error analysis" process of manually examining the examples whichyour algorithm got wrong can help suggest what are good steps to take (e.g., developing new features) to improve your algorithm's performance.

Itis a good idea to spend a lot of time collecting a large amount of data before building your first version of a learning algorithm.

If your model is underfitting the training set, then obtaining more data is likely to help.

After training a logistic regression classifier, you must use 0.5 as your threshold for predicting whether an example is positive or negative.

Using a very large training set makes it unlikely for model to overfit the training data.

答案:AE

注:误差分析计算可以得出各因素对模型性能的影响,可以通过这种计算的方法判断如何改进模型性能,所以A正确;B我觉得有点极端了,数据还要保证方便符合模型和计算,最重要的是要有一定的潜在规律可循,多而不乱,即找大量有用的数据,而不仅仅是大量数据;C里面已经是underfitting了,可能为模型太简单(很可能)或者数据太多(或者说数据太杂);D里面must use不对,考虑到Skewed Data,不一定最终把threshold设为0.5;E很明显正确正确,可以参照课上overfitting和underfitting的定义;


帮助到你了就点个赞吧~

Powered By Longer-站在巨人的肩膀上

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值