第 2 课,共 28 课 · AI 基础
什么是机器学习?
机器学习(ML)是人工智能的一个分支:计算机不是靠逐条编写的规则,而是通过例子学会完成任务。机器学习系统会研究数据、找出规律,再用这些规律对新数据做出预测或判断,比如识别垃圾邮件、推荐电影或预估送达时间。
机器学习如何运作
每个机器学习系统都有三个要素。数据:用于学习的例子,比如过往的房屋成交记录和价格。模型:一个带有大量可调设置(称为“参数”)的数学公式。训练:一遍又一遍地微调这些参数,直到模型的预测与例子尽可能吻合。
这和你自己学着估房价很像:看过几百套房子和它们的成交价之后,你会逐渐摸清面积、地段和房况如何影响价格,并不需要谁给你一个公式。Arthur Samuel 1959 年发表的一篇关于下跳棋程序的论文,是最早使用“机器学习”一词的文献之一。
机器学习的三种主要类型
机器学习通常按照系统在学习过程中得到的反馈方式来划分:
- 监督学习:每个例子都附带正确答案(称为“标签”),比如标注为“垃圾邮件”的邮件。模型学会为新例子预测标签。这是最常见的类型。
- 无监督学习:例子没有标签,由模型自己发现其中的结构,比如把购买习惯相似的顾客归为一组。
- 强化学习:系统通过反复试错来学习,做得好就获得奖励,常用于下棋程序和机器人控制。借助人类反馈的强化学习,也被用来调优聊天助手。
机器学习不是什么
机器学习并不等于理解。模型只是在数据中发现相关性,并不知道背后的原因。如果训练数据有偏差或已经过时,预测结果也会如此,这就是常说的“垃圾进,垃圾出”。
它也不总是最佳选择。如果一条简单规则就能解决问题,比如“超过一定金额的订单需经理审批”,那么规则更便宜,也更容易核查。另外,大多数已上线的模型并不会在你使用时继续学习:它们训练完成后就被固定下来投入使用,只有厂商重新训练时才会改变。
你会在哪里遇到机器学习
银行卡盗刷提醒、垃圾邮件过滤、商品和视频推荐、语音输入、相册搜索和送达时间预估,背后都是机器学习。在企业软件中,它用来给销售线索打分、预测需求和标记异常交易。
它也是本课程后续内容的基础:深度学习是机器学习的一种,而聊天助手等生成式 AI 工具正是用深度学习构建的。知道模型是从数据中学来的,有助于你在选购时问对问题:它用什么数据训练?这些数据和你的实际情况相符吗?
示例
用 Python 训练一个迷你垃圾消息过滤器
代码示例# 训练一个模型,区分垃圾消息和正常消息
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.naive_bayes import MultinomialNB
messages = ['win a free prize now', 'lunch at 1pm?', 'claim your free cash', 'meeting notes attached']
labels = ['spam', 'ok', 'spam', 'ok']
vectorizer = CountVectorizer()
model = MultinomialNB().fit(vectorizer.fit_transform(messages), labels)
print(model.predict(vectorizer.transform(['free cash prize']))) # ['spam']在安装了 scikit-learn 库的 Python 环境中即可运行。四个例子远远不够实际使用,但无论规模大小,套路都一样:输入例子和标签,得到一个能为新文本预测标签的模型。
要点
- 机器学习让计算机通过例子而不是明确的规则学会任务。
- 训练就是不断调整模型参数,直到预测与例子吻合。
- 监督学习、无监督学习和强化学习是三种主要类型。
- 模型的好坏与公平程度,取决于它学习所用的数据。
- 机器学习是 AI 的子集,深度学习又是机器学习的子集。
在 Mindber 上试试
相关术语
相关主题
常见问题
机器学习和 AI 是一回事吗?
不是。AI 是让计算机完成需要智能的任务这一宏观目标,机器学习则是当今实现这一目标的主要方法:不写规则,而是用例子训练模型。所有机器学习都属于 AI,但并非所有 AI 都是机器学习,比如手写规则的系统就不是。
使用机器学习需要懂数学或编程吗?
如果只是使用,就不需要。大多数人接触到的机器学习都内置在现成的产品里,很多无代码工具也能让你直接用表格数据训练简单模型。但如果要从零开始构建模型,就需要编程(通常用 Python),以及一定的统计学和线性代数基础。
我在使用时,机器学习模型会继续学习吗?
通常不会。大多数模型训练完成后就被固定下来再上线,使用过程中参数不会改变。不过厂商可能会收集使用数据来训练下一个版本,所以在输入敏感信息之前,值得先看看产品的数据使用条款。
来源
- Some Studies in Machine Learning Using the Game of Checkers. Arthur L. Samuel, IBM Journal of Research and Development, 1959年7月
- Machine Learning Crash Course. Google for Developers
最后更新