【吴恩达机器学习笔记】Part2-Week3(下) 搭建机器学习系统(Applying Machine Learning)

文章介绍了机器学习项目中的关键步骤,包括选择模型、训练、诊断和误差分析。针对错误率高的问题,提出了收集更多数据、改进特征、检测拼写错误等策略。此外,讨论了数据增强和迁移学习在提升模型性能上的作用,以及查准率和查全率在评估不对称数据集时的重要性,并介绍了F1分数作为平衡两者的方法。
摘要由CSDN通过智能技术生成
3.1 机器学习开发的迭代过程(Iterative loop of ML development)
选择模型-choose architecture: model, data, etc
训练模型-Train model
诊断-Diagnostics: bias, variance and error analysis

案例:垃圾邮件分类器(Email spam classification)
方法:特征的选择——选出最常用的10000个词,这些词是否出现作为特征x1, x2, …, x10000;如果某个词出现在邮件里,则该属性记为1。
如果模型经过训练后其表现的性能并没有达到预期,那么应该如何减小分类器的错误率?策略有:

  1. Collect more data. E.g., “Honeypot” project(收集更多数据)
  2. Develop sophisticated features based on email routing(from email header).(追踪邮件来源)
  3. Define sophisticated features from email body. E.g., should “discounting” and “discount” be treated as the same world.(定义更复杂的特征,比如“discounting”和“discount”应识别为同一词)
  4. Design algorithms to detect misspellings. E.g., w4tches, med1cine, m0rtage.(设计能识别误拼的词,垃圾邮件会故意拼错一些词汇来避免分类器的识别)
3.2 误差分析(Error analysis)

假设交叉验证集中有500个样本(m_cv=500),算法的分类有100个样本是错误的;这是我们手动检查分析这100个样本,提取它们的共同特征并分类:

pharmaceutical: 21
Deliberate misspellings(w4tches): 3
Unusual email routing: 7
Steal passwords(phishing): 18
Spam message in embedded image: 5

3.3 添加更多数据(Adding data)

数据增强Data augmentation):根据误差分析的结果编辑修改现有数据集,以得到新的数据集。

Augmentation: modifying an existing training example to create a new training example.

案例:OCR(Optical Character Recognition)光学字符识别问题。比如要识别手写字母A,可以通过将数据集中的A图像镜像反转、放大、缩小、旋转、扭曲(distortion)等处理方法,来模拟应用时会遇见的各种场景,来导向性地增强数据集。

Distortion introduced should be representation of the type of noise/distortions in the test set.
引入的扭曲处理应该对于原始数据集中的噪声和扭曲等具有一定代表性。

数据合成Data synthesis):使用人工数据输入以获得新的训练数据集。

Synthesis: using artificial data inputs to create a new training example.

案例:计算机视觉识别/OCR问题。可以通过人工生成不同字体的不同字母图片,经过处理,输入到要识别的数据集中合成新的数据集,用于训练模型。

3.4 迁移学习-使用其它任务中的数据(Transfer learning: using data from a different task)

分为两步:

  1. 有监督预训练Supervised pretraining):首先将神经网络模型在整个数据集上训练一遍,得到初始的w_[i], b_[i]参数;
  2. 微调Fine tuning):选取数据集中的一小部分,将上一步训练好的模型在小数据集上再训练;有两种方法,一种是只训练输出层的参数(only train output layers parameters);一种是训练整个模型每个层的参数(train all parameters)。

优势:网上有很多发布的预训练好的神经网络模型,我们可以直接下载下来,在自己的数据上进行微调,以获得性能良好的模型,很方便。

总结:

  1. Download neural network parameters pretrained on a large dataset with same input type(e.g., images, audio, text) as your application(or train your own).
  2. Further train(fine tune) the network on your own data.
3.5 机器学习项目的完整周期(Full cycle of a ML project)

在这里插入图片描述
应用部署(deployment):——

3.6 公平、偏见与伦理(fairness, bias and ethics)
4.1 不对称数据集的误差指标(Error metrics for skewed datasets)

查准率和查全率(precision and recall
在这里插入图片描述
对于一个输出y=1的概率很低的问题,可以采用计算查全率的方法,验证模型是在正常工作,还是有bug导致一直输出y=0。

4.2 查准率和查全率的权衡(Trading off precision and recall)

以逻辑回归为例,查准率与查全率取决于判断y=1/0的模型阈值的选择。当我们希望只有在非常确定结果正确时输出y=1,则提高阈值(当正确的概率较高时才输出1),这样会导致查准率增大,查全率降低;当我们希望不遗漏任何一个正确的可能样本,则降低阈值(就算正确的概率不高也要尽量记为1),这样会导致查准率降低,查全率增大。
在这里插入图片描述
衡量标准——F1 score
P(precision,查准率)和R(recall,查全率)的调和:
F 1 _ s c o r e = 1 1 2 ( 1 P + 1 R ) = 2 P R P + R F1\_score = \frac{1}{{\frac{1}{2}\left( {\frac{1}{P} + \frac{1}{R}} \right)}} = 2\frac{{PR}}{{P + R}} F1_score=21(P1+R1)1=2P+RPR
在这里插入图片描述
相比平均值来说, F 1 _ s c o r e F1\_score F1_score更能反映两个值中较小值的情况。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值