第二章:13.1 机器学习的迭代发展

目录

机器学习模型开发流程

构建电子邮件垃圾邮件分类器示例

总结

垃圾邮件分类示例

构建垃圾邮件分类器


机器学习模型开发流程

  1. 确定系统架构:

    • 首先,需要决定机器学习系统的总体架构,这包括选择合适的模型、确定使用的数据集、可能还包括选择超参数等。
  2. 实现和训练模型:

    • 根据上述决定,实现并训练一个模型。通常,第一次训练的模型不会立即达到预期的效果。
  3. 诊断和调整:

    • 对模型进行诊断,查看算法的偏差、方差或进行错误分析。

    • 根据诊断结果,做出决策,例如是否需要增大神经网络规模、调整正则化参数(如lambda)、增加或减少数据量、添加或删除特征等。

  4. 迭代优化:

    • 在这个循环中,通常需要多次迭代,不断选择新的架构,直到模型性能满意。

构建电子邮件垃圾邮件分类器示例

  1. 问题描述:

    • 构建一个分类器来识别垃圾邮件和非垃圾邮件。
  2. 数据和特征:

    • 输入 X:电子邮件的特征。

    • 输出标签 y:1或0,表示是否为垃圾邮件。

    • 特征构建方法:

      • 使用英语词典中的前一万个单词作为特征,每个单词对应一个特征 X1​,X2​,...,X10000​。

      • 对于每封电子邮件,将这些特征设置为0或1,表示该单词是否出现。

      • 或者,计算单词在电子邮件中出现的次数。

  3. 模型训练:

    • 使用构建的特征向量训练分类算法,如Logistic回归或神经网络。
  4. 性能改进:

    • 如果初始模型效果不佳,可以考虑以下改进方法:

      • 收集更多数据。

      • 开发更复杂的特征,如:

        • 基于电子邮件路由信息。

        • 电子邮件头信息,跟踪电子邮件在不同服务器间的传播路径。

        • 检测拼写错误或故意拼写错误的单词。

    • 根据算法的偏差或方差情况,选择最有希望的改进方向。


垃圾邮件分类示例

这幅图片展示了两个电子邮件的例子,用于说明垃圾邮件和非垃圾邮件的区别:

  1. 垃圾邮件示例:

    • 发件人 :cheapsales@buystufffromme.com

    • 收件人:Andrew Ng

    • 主题:Buy now!

    • 内容:Deal of the week! Buy now! Rolex watches - $100 Medicine (any kind) - £50 Also low cost Mortgages available.

    这封邮件具有典型的垃圾邮件特征,如过度夸张的促销语言、低价商品(如劳力士手表和各种药品),以及故意拼错的单词(如"w4tchs"、"med1cine"、"M0rtgage")。

  2. 非垃圾邮件示例:

    • 发件人:Alfred Ng

    • 收件人:Andrew Ng

    • 主题:Christmas dates?

    • 内容:Hey Andrew, Was talking to Mom about plans for Xmas. When do you get off work. Meet Dec 22?

    这封邮件是私人通信,内容涉及家庭计划和个人安排,没有垃圾邮件的典型特征。

构建垃圾邮件分类器

这幅图片提供了减少垃圾邮件分类器错误的几种方法:

  1. 收集更多数据:

    • 例如,通过"蜜罐"(Honeypot)项目收集数据。蜜罐是一种安全技术,通过设置诱饵来吸引并分析攻击者的行为,从而收集相关数据。
  2. 基于电子邮件路由开发复杂特征:

    • 从电子邮件头信息中提取特征,分析邮件的传输路径,这有时可以帮助识别垃圾邮件。
  3. 从电子邮件正文定义复杂特征:

    • 例如,是否应该将"discounting"和"discount"视为同一个词,这涉及到文本处理和特征工程的复杂性。
  4. 设计算法检测拼写错误:

    • 例如,检测"w4tches"、"med1cine"、"m0rtgage"等故意拼错的单词,这些通常是垃圾邮件发送者用来规避垃圾邮件过滤器的技巧。

总结

  • 在机器学习的发展循环中,对于如何修改模型或数据,可能会有许多想法。

  • 不同的诊断方法可以提供指导,帮助决定哪些想法最有希望尝试。

  • 通过不断迭代和优化,可以逐步提高模型的性能。

相关推荐
HaipengYu3 分钟前
从 Config Hook 到 Server/TUI:OpenCode 插件 V1 到 V2 的架构演进
人工智能·架构
十方空烬3 分钟前
我的 LoRA 更会选路由了,JSON 却更不可靠了
机器学习
李元_霸10 分钟前
基于 AI 的 Web 与 App 端到端测试实践
前端·人工智能
橘饴11 分钟前
当我把 SRC 挖洞交给一个自主 Agent:一天的失败实验记录
人工智能
砺能11 分钟前
team AI使用总结
人工智能
陈骁的数字工厂13 分钟前
Prompt Injection|我的Agent被严重的prompt injection持续攻击了一下,我梳理了全过程并总结了防御措施
人工智能
kaixin_啊啊19 分钟前
【零基础学AI】第 7 章——让 AI 辅助学习和办公
人工智能·学习
用户33838742538621 分钟前
大模型评测太费钱?先别急着把题全做完
人工智能
匠测AI说22 分钟前
AI for Testing 提效实战 · 执行自动化(三):把 AI 接进 CI——红灯一亮,AI 已把根因贴在 PR 评论区
人工智能·测试
镜子AI23 分钟前
RPA智能名单激活系统设计:拟人化触达引擎与风控机制实践(镜子AI技术拆解)
大数据·人工智能·rpa