第二章: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"等故意拼错的单词,这些通常是垃圾邮件发送者用来规避垃圾邮件过滤器的技巧。

总结

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

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

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

相关推荐
QY_Research_1 小时前
2026房地产NFT平台创业机遇与落地指南分析报告
大数据·人工智能·物联网·机器人·制造
机器人零零壹2 小时前
技术白皮书:iRobotCAM如何解决机器人激光切割应用中的核心难点,从CAD离线编程到双目视觉定位与轨迹自适应提升复杂空间曲线切割的精度、效率与柔性化水平
人工智能·算法
电子元件小说家3 小时前
2026年四季度电感市场观察:AI算力与汽车电子驱动下的选型与验证建议智能硬件
人工智能·汽车
网易CodeWave-小码哥3 小时前
支持多模块 Java 微服务导入|CodeWave SDD V4.5.10 上线
人工智能
AI你一生一世3 小时前
不止于时序存储:DolphinDB 如何成为 AI 时代的工业智能底座
java·人工智能·struts·时序数据库·工业智能·dolphindb·ai基础设施
belldeep4 小时前
python:genesis-world, Genesis-Embodied-AI
人工智能·python·ai·genesis
怕浪猫4 小时前
小程序成长计划上新:10 亿 Token 现在能调 DeepSeek-v4.1-flash了
人工智能·aigc·ai编程
ss2734 小时前
为什么PostgreSQL适合AI场景?
数据库·人工智能·postgresql
七牛云行业应用5 小时前
DeepSeek Super-agent 与 Grok Bot:开源 Agent 架构和聊天助手有何区别
人工智能·ai·架构·ai编程
维克兜率天5 小时前
【维克】趋势型CTA:期货市场的“追涨杀跌“
人工智能·python