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