9-Machine Learing System Design
来源:互联网 发布:thinkpad安装软件 编辑:程序博客网 时间:2024/05/21 04:38
1 - Prioritizing What to Work On 众多的改进方法中该选哪一个?
以 Spam classification 为例来说明问题。
识别垃圾邮件的基本方法:从大量的邮件中选取出最频繁出现的 n 个词语(包括垃圾邮件关键词和非垃圾邮件关键词,n可取10,000 to 50,000)作为关键词。然后对新邮件进行处理,生成 n x 1维向量 X 作为分类器的输入。
降低误差的方法(Brain Storm):
- 收集大量数据(例如:使用honeypot蜜罐诱导垃圾邮件发送者的邮件)
- 根据邮件的routing information(from email header)信息开发算法(有些垃圾邮件的发送地址有一些明显的特征)
- 根据邮件文本特征开发算法:
- ”discount” 和 “discounts”是否应该视为同一个词汇?
- 那么 “deal” 和 “Dealer” 呢?
- 标点符号的特征?(如大量的使用感叹号!)
- 根据邮件中的拼写错误开发特定算法
2 - Error Analysis 误差分析
推荐的途径:
- 从一个简单的易实现的模型上手。实现它并用cross-validation data来测试。
- 画出 learning curves,从而判断是否需要更多数据、更多features等信息。
- Error analysis:
人工检查在交叉验证数据集中出错的数据,看看是否在某类数据上都较大误差,等等。- discount/discounts/discounted/discounting是否应该被视为同意词语?
使用词干分词软件(如Porter stemmer,应用最为广泛的、中等复杂程度的、基于后缀剥离的词干提取算法)
- Numerical evaluation:从数值上给一个统一的判定标准(如cross validation error)来估计算法的性能。
- discount/discounts/discounted/discounting是否应该被视为同意词语?
3 - Error Metrics for Skewed Classes 倾斜分类问题中的误差衡量方法
例如:Cancer classification问题
训练logistic regression模型 (y=1患癌症,y=0没有癌症)来预测是否患有癌症。
- 如果过你的模型在测试集上有1%的误差(99%的估计是正确的),那么能说这个模型很好吗?
- 事实上只有0.50%的病人患有癌症,而99.5%的病人没有癌症。
- 如果直接估计所有的病人都没有癌症,那么准确率可达99.5%!!!
Precision/Recall准确率与召回率:
(注意通常令哪种出现可能性较小的类别的y=1,比如令患癌的y=1)
其中:
True/false代表预测正确/错误
positive/negative代表预测患癌症/不患癌症
4 - Trading Off Precision and Recall 准确率与召回率之间的权衡
在Cancer classification问题,你可能会想到要改变cancer与not cancer之间的threshhold:
- Predict 1 if hθ(x) >= 0.5 , 0.7 ,0.9 ,0.3
- Predict 0 if hθ(x) < 0.5,0.7,0.9 ,0.3
这其中的区别在于:
如果你觉得只能在非常确定时才能预测 y =1(患癌症),那么:
- threshhold应该设置的比较高,例如 0.7 或 0.9
- 此时:准确率提高了,但是召回率却比较低
如果过你不想让本来患有癌症的人被错误的估计成没有癌症,那么:
- threshhold应该设置的相对较小,如 0.3 或 0.5
- 此时:准确率较低,但是召回率较高
在多个方案的准确率、召回率之间如何做选择:
F1 Score(F score):
5 - Data For Machine Learning
要点:
- 需要有足够多的feature,保证low bias
- 足够大的training set,得到low variance
0 0
- 9-Machine Learing System Design
- 【Stanford机器学习笔记】9-Machine Learning System Design
- Machine Learing导读。
- Machine Learing in Action
- Machine Learing in Action
- Machine Learning System Design(Andrew ng ML)
- 第六周:Machine learning system design
- Stanford Machine Learning -- 第四讲 Machine Learning System design
- Stanford Machine Learning -- 第四讲 Machine Learning System design
- Machine Learning week 6 quiz: Machine Learning System Design
- Coursera Machine Learning 第六周 quiz Machine Learning System Design
- 测试【Machine Learning week6】Machine Learning System Design
- Machine learing 学习笔记 前言
- Stanford ML - Lecture 7 - Machine learning system design
- 机器学习系统设计(Machine learning system design)
- Stanford 机器学习笔记 Week6 Machine Learning System Design
- Stanford机器学习笔记-7. Machine Learning System Design
- coursera机器学习笔记之“Machine Learning System Design”
- 8-Advice for Applying Machine Learing
- OpenCV 对图像进行掩码操作
- ldd入门之学习环境的配置
- UIView,UIButton,UIImageView等视图设置圆角,设置阴影,设置边框的方法
- C可变参数函数 实现
- 9-Machine Learing System Design
- CCFontAtlas,CCGrid,CCGLBufferedNode,CCGrabber解析
- OpenGL阴影,Shadow Mapping
- C# WinForm 滚动条换肤
- Java 常量池与String
- 劝学
- STL泛型算法
- 10-SVM
- Oracle数据库远程连接的方法