单击上方“图灵人工智能”,选择“星标”公众号
您想知道的人工智能干货,第一时间送达
转自Eureka Moments,仅用于学术分享,如有侵权留言删除报道 阅读约 10 分钟 | 这是《人工智能概论》科普系列的第 4 篇。
上一篇《三大流派:符号主义、连接主义、行为主义》里,连接主义的思路是:不告诉机器规则,只给它足够多的例子,让它自己学会。这一篇开始,我们进入第二单元——“机器如何学习”。第一个要回答的问题就是:机器学习和传统编程,到底差在哪?
✉️ 开头:你能写出“识别垃圾邮件”的规则吗?
假设你是一名程序员,老板让你写一个程序,自动把垃圾邮件扔进垃圾箱。你会怎么做?
大多数人的第一反应是“写规则”:
邮件里出现“中奖”“免费领取”“点击链接”,就判为垃圾邮件;发件人不在通讯录里,又带一堆链接,也判为垃圾邮件……
规则写了十几条,程序上线了。可没过几天,垃圾邮件发送者就学乖了:把“中奖”写成“中 奖”,把“免费”写成“免·费”,把“点击链接”写成“点!击!链!接”。你只好继续加规则,加到几百条、几千条——永远追不上对手的变化。
图 1 | 靠人写规则,永远追不上垃圾邮件的变化。
有没有一种办法,不用人来写规则,而是让计算机自己从大量邮件里总结出规律?
有,这就是今天的主角——机器学习(Machine Learning,简称 ML)。
🔄 一、机器学习和传统编程,差在哪?
理解机器学习,最关键是记住这一张“方向相反”的对比图:
传统编程:人把规则写好,计算机按规则处理数据,得出答案。计算器就是典型——加减乘除的规则,是人提前写好的。机器学习:人提供大量“数据 + 正确答案”,计算机自己找出规则。这个被找出来的“规则”,就叫模型(Model)。图 2 | 传统编程是“规则 + 数据 → 答案”,机器学习是“数据 + 答案 → 规则(模型)”。
换成垃圾邮件的例子:我们给计算机十万封邮件,每封都标好“是垃圾邮件”或“不是垃圾邮件”,让它自己去发现——哪些特征和垃圾邮件有关。以后来了新邮件,它就能用学到的模型自动判断。
说人话:传统编程像“老师把解题公式直接告诉你”;机器学习像“给你一大堆例题和标准答案,让你自己总结出解题方法”。
📖 二、机器学习的两个经典定义
“机器学习”这个词,最早是随着一个跳棋程序流行起来的。
定义一:亚瑟·塞缪尔(1959)
1959 年,IBM 的亚瑟·塞缪尔发表了一篇关于跳棋程序的论文。这个程序能通过不断下棋提高水平,最终超过了塞缪尔本人。他常被引用的一句话是:
机器学习是让计算机在没有被明确编程的情况下,具备学习能力的研究领域。
定义二:汤姆·米切尔(1997)
这个定义更严谨,也是教科书里最常引用的:
如果一个程序在任务 T 上的性能 P,随着经验 E 的增加而提高,我们就说这个程序从经验 E 中学习。
用垃圾邮件套一下:
如果喂给它的邮件越多,它判断得越准,那它就是在“学习”。
💡 小知识:米切尔这个定义之所以重要,是因为它把“学习”拆成了可以衡量的三件事——有任务、有经验、有评价。只要这三者能说清楚,一个问题能不能用机器学习来做,基本就有谱了。
🏠 三、五个必须认识的基本术语
我们用“预测房价”来认识机器学习里最常用的几个词。
假设我们收集了某城市 1000 套二手房的成交数据:
图 3 | 一行是一个样本,几列是特征,成交价是标签;模型就是从特征到标签的映射。
样本(Sample):表格里的每一行,也就是一套房子。特征(Feature):描述样本的属性,比如面积、房龄、离地铁的距离。选对特征,往往比选模型更关键。标签(Label):我们想预测的答案,这里是成交价。模型(Model):从特征到标签的“映射规则”。最简单的模型可能长这样:房价 = a × 面积 + b × 房龄 + c × 离地铁距离 + d
其中 a、b、c、d 叫作参数,一开始都是未知的。
训练(Training)与预测(Prediction):训练:让计算机根据这 1000 套房子的数据,自动找出最合适的 a、b、c、d;预测:来了一套新房子,把它的特征代入模型,算出预估价格。在大模型时代,预测也常被称为推理(Inference)。打个比方:特征像“题目条件”,标签像“标准答案”;训练像“做练习册并对答案”,预测像“上考场做新题”。
💡 小知识:今天的大模型本质上也是一个模型,只不过参数不是 4 个,而是数十亿甚至上万亿个。
🧭 四、一个机器学习项目,要走六步
一个完整的机器学习项目,大致分六步:
图 4 | 从定义问题到部署改进,机器学习项目的一般流程。
定义问题:要预测什么?是“是 / 否”的判断(比如垃圾邮件),还是一个具体数值(比如房价)?收集数据:数据的数量和质量,决定了模型能达到的上限。数据处理与特征工程:清洗错误数据、补全缺失值、挑选或构造有用的特征。选择模型并训练:线性回归、决策树、神经网络……根据问题挑合适的模型。评估:用模型从没见过的数据来检验效果。(为什么一定要“没见过”?第 6 篇详讲。)部署与持续改进:上线后数据会不断变化,模型也需要持续更新。业内有一句流传很广的话:“数据和特征决定了机器学习的上限,模型和算法只是在逼近这个上限。” 在实际工作中,很多工程师会说:80% 的时间花在数据上,只有 20% 花在模型上。
📱 五、机器学习就在你身边
机器学习并不遥远,它就藏在你每天用的东西里:
你会发现:能明确说出“输入什么、输出什么”的任务,往往就是机器学习擅长的任务。
🧩 六、理清三个词:AI、机器学习、深度学习
很多同学容易把这三个词混为一谈。它们其实是层层包含的关系:
图 5 | 四个概念层层包含,越往里越具体。
人工智能(AI):最大的范畴,目标是让机器表现出智能。像第 3 篇讲的专家系统这种“手写规则”的方法,也属于 AI;机器学习(ML):实现 AI 的一种途径——从数据中学习;深度学习(DL):机器学习的一个分支,使用多层神经网络;大模型(LLM):深度学习发展到今天的代表性成果。结合上一篇的内容:符号主义的专家系统属于 AI,但不属于机器学习;而深度学习,正是连接主义的主力军。
⚠️ 七、三个常见误区
误区 1:“机器学习真的‘理解’了规律。”
模型学到的是数据里的统计相关性,不一定是真正的因果关系。比如模型可能发现“冰淇淋卖得好的日子,溺水事故也多”,但冰淇淋并不会导致溺水——两者背后真正的共同原因,是天气炎热。
误区 2:“数据越多,模型一定越好。”
数据质量同样重要。如果数据本身有错误或偏见,模型会忠实地把这些问题学进去,这就是所谓的“垃圾进,垃圾出”(Garbage In, Garbage Out)。
误区 3:“机器学习可以取代所有传统编程。”
对于规则清晰、要求绝对精确的任务(比如计算工资、银行转账),传统编程依然是最可靠的选择。机器学习擅长的,是规则难以写清、但数据足够多的问题。
图 6 | 三个常见误区,以及对应的事实。
🎒 一句话总结
传统编程,是人把规则告诉计算机;机器学习,是让计算机从“数据 + 答案”里自己找出规则。这个被找出来的规则,就是模型。
🤔 思考题
想一个你专业里或生活中的问题,试着用“任务 T、经验 E、性能 P”来描述它。如果用机器学习来解决,你需要准备什么样的数据?在“预测房价”的例子中,除了面积、房龄、离地铁距离,你还能想到哪些有用的特征?有没有哪些特征看起来有用、实际上可能带来偏见?欢迎在留言区分享你的答案!
📚 延伸阅读
周志华,《机器学习》(俗称“西瓜书”)第 1 章,清华大学出版社吴恩达(Andrew Ng),Coursera 课程《Machine Learning》第 1 周Tom M. Mitchell, Machine Learning, McGraw-Hill, 1997.
文章精选:
1.图灵奖得主姚期智最新演讲: AI有边界,恰恰是好事