机器学习(Machine Learning,简称ML)究竟是什么?
简单来说,机器学习就是教计算机从数据中学习,以便它们能在没有明确编程规则的情况下执行任务。
可以这样想:与其给计算机一本详细的分步操作手册,不如给它一个示例库,让它自己找出其中的模式。
“如果一个计算机程序在完成某项任务T时,能根据经验E进行学习,并且通过性能度量P来评估,其在任务T上的性能随着经验E的积累而提升,那么这个程序就被认为是从经验中学习了。”这段话来自汤姆·米切尔(1997年)
"A computer program is said to learn from experience E with respect to some task T and some performance measure P, if its performance on T, as measured by P, improves with experience E." - Tom Mitchell (1997)
本文将为你提供一份机器学习领域的概览指南,我们将探讨它的定义、不同类型、可能遇到的常见难题,以及如何构建真正有效的模型。
为何机器学习备受关注?
传统上,要解决创建垃圾邮件过滤器这样的问题,程序员需要:
研究垃圾邮件的特征(如包含“免费”、“信用卡”等词汇)。
编写一大串复杂的规则来检测这些模式。
不断测试并更新规则,以应对垃圾邮件发送者的迭代更新,而机器学习的方法则截然不同。
以下是机器学习成为变革者的原因:
-
自动适应:基于机器学习的垃圾邮件过滤器能自动识别“For U”是“4U”的新变体,无需程序员编写新规则。
-
解决无解难题:对于没有已知公式的极其复杂问题,如语音识别,机器学习是最佳(且往往是唯一)的解决方案。
-
揭示隐藏洞察:机器学习算法擅长从海量数据中挖掘出意想不到的模式,这一过程被称为数据挖掘。
何时选择机器学习?
-
需要长串规则或精细调整的问题:如果一项任务需要编写一套复杂的硬编码规则(并不断更新),机器学习模型通常能通过自动学习规则来简化解决方案,并表现更佳。
-
没有已知算法的复杂任务:对于许多任务(如视觉、语音、语言理解),我们没有行之有效的人工算法。在这种情况下,机器学习往往是获得良好结果的唯一可行方法。
-
动态变化的环境:当数据或底层模式随时间变化时(如趋势、用户行为、不断演变的威胁),机器学习系统可以重新训练或设置为持续学习,以保持最新状态。
-
需要从大量数据中获取洞察:机器学习能够处理“大数据”并发现其中的模式,这些数据量之大,超出了人工分析的能力范围。它有助于理解庞大的数据集,并揭示出(在金融、科学、市场营销等领域)不明显的关系。
在所有这些情况下,从数据中学习的能力使机器学习相较于显式编程具有优势。
另外我们精心打磨了一套基于数据与模型方法的AI科研入门学习方案(已经迭代第6次),对于人工智能来说,任何专业,要处理的都只是实验数据,所以我们根据实验数据将课程分为了三种方向的针对性课程,包含时序、影像、AI+实验室,我们会根据你的数据类型来帮助你选择合适的实验室,根据规划好的路线学习 只需3-5个月左右(很多同学通过学习已经发表了 sci 一区及以下、和同等级别的会议论文)学习形式为直播+录播,多位老师为你的论文保驾护航。
适合人群:
-
导师放养,自学无头绪
-
时间紧任务重有延毕风险
-
想提前完成大小论文为之后读博或工作做准备的
-
想通过发表sci论文、提升科研能力bao研、考研的本科同学
文章中所有的数据和资料,可添加小助手无偿分享~
扫码添加小助手即可无偿获取~

也可以关注“AI技术星球”公众号,关注后回复“221C”获取。
机器学习的多面性
机器学习并非一刀切的工具,我们可以根据机器学习系统的学习方式、学习时机以及预测方式来对其进行分类。
这些标准并非互斥——一个机器学习系统可能同时属于多个类别。
例如,一个现代的垃圾邮件过滤器可能是监督式的(基于标记的电子邮件进行训练)、在线的(随着新电子邮件的到来而持续学习)和基于模型的(使用神经网络模型)。
让我们逐一解析每个分类:
-
学习方式:四种训练风格
这关乎算法在训练过程中获得的“监督”类型和数量。
监督学习:
这就像有老师指导的学习,算法接收带有正确答案标记的数据。
-
分类:将项目归入不同类别(如“垃圾邮件”或“非垃圾邮件”)。
-
回归:预测数值(如房屋的未来价格)。
无监督学习
在这种情况下,算法独自学习,它接收未标记的数据,并必须找出隐藏的结构,没有任何提示。常见任务包括:
-
聚类:将相似的数据点分组(如根据购买习惯对客户进行细分)。
-
异常检测:识别不寻常的数据点(如标记潜在的欺诈性信用卡交易)。
-
降维:通过将多个特征合并为一个来简化数据,这一过程称为特征提取。
半监督学习
这是一种实用的折中方案,模型在少量标记数据和大量未标记数据上进行训练。
可以参考各大软件的识图功能,你选择一张照片,它就能在所有其他照片中找到你图片中的人或物。
自监督学习
指的是一种强大的方法:从未标记的数据本身创建监督学习问题,以便无需人工标签就能预训练模型。
在自监督学习中,数据提供了监督,换句话说,我们自动从数据中生成伪标签。
强化学习
这是通过试错来学习,智能体(学习者)在环境中采取行动,并获得奖励或惩罚。
随着时间的推移,它学习到最大化奖励的最佳策略或政策,这是游戏AI(如AlphaGo)背后的原理。
-
学习时机:批量学习与在线学习
这关乎系统是否能逐步学习。
-
批量学习/离线学习(“一次性”方法):系统一次性在所有可用数据上进行训练,离线进行。一旦部署,它就不再学习,要使用新数据更新它,你必须从头开始重新训练一个全新版本。这可能既缓慢又昂贵,随着时间的推移,其性能可能会下降,这一问题被称为模型退化或数据漂移。
-
在线学习/增量学习(“逐步”方法):系统通过顺序接收数据来在线学习,可以是一次一个实例,也可以是以称为小批量的小组形式。这对于需要快速适应变化的系统以及处理无法装入计算机内存的庞大数据集(核外学习)非常有用。
-
泛化方式:基于实例与基于模型
这关乎系统如何利用所学知识对新未见数据进行预测。
-
基于实例的学习:系统基本上是死记硬背。它通过使用相似性度量将新数据与训练示例进行比较来做出预测。
-
基于模型的学习:这是更常见的方法。系统根据训练数据中的模式构建模型(一个表示或方程),然后使用该模型进行预测。这涉及训练模型以找到最小化成本函数(衡量模型好坏的指标)的最佳参数值。
主要挑战
在机器学习中,你的主要任务是选择一个好模型并在好数据上训练它,可能出问题的两个主要方面是“模型不佳”和“数据不佳”。
“数据不佳”问题
-
数据不足:大多数机器学习算法需要数千甚至数百万个示例才能表现良好。数据往往比算法本身更重要。
-
数据不具代表性:你的训练数据必须能代表现实世界,否则它就无法很好地泛化。小样本量可能导致采样噪声,而数据收集方法有缺陷则可能导致采样偏差。
-
数据质量差:充满错误、异常值和噪声的数据将阻止你的系统有效学习。清理数据是数据科学家工作的重要组成部分!
-
特征不相关:相信大家都听过“输入垃圾,输出垃圾”。机器学习项目的成功在很大程度上依赖于特征工程——选择、组合和创建最佳特征以进行训练的过程。
“模型不佳”问题
过拟合
-
模型在训练数据上表现极佳,但无法泛化到新实例。这发生在模型相对于数据量过于复杂时。它学习的是噪声,而不仅仅是信号。
-
解决方案:简化模型、获取更多训练数据,或使用称为正则化的技术来约束模型并防止其变得过于复杂。
欠拟合
-
模型过于简单,无法学习数据的底层结构。其预测即使在训练数据上也不准确。
-
解决方案:选择更强大的模型、设计更好的特征,或减少对模型的约束。
如何构建一个成功的模型
一旦你训练了一个模型,如何知道它是否优秀?你需要测试和验证它。
训练集、验证集和测试集
要知道模型在新数据上的表现如何,唯一的方法就是尝试。
标准做法是分割你的数据:
-
训练集:用于训练模型的数据。
-
测试集:你保留这部分数据,仅在最后用于评估你的最终模型在未见数据上的性能。该集合上的错误率称为泛化误差。
-
验证集(或开发集):那么你如何选择不同的模型或调整模型的设置(超参数)呢?你不能使用测试集,否则你会最终过拟合到它。解决方案是从训练数据中创建第三个集合,即验证集。你使用这个集合来比较模型并在将最终模型运行在测试集之前进行微调。
数据不匹配问题
如果你的训练数据(如来自网络的高质量花朵图片)与生产环境中将看到的数据(如模糊的手机花朵图片)不完全匹配怎么办?这就是数据不匹配。为了诊断这个问题,你可以从训练数据中创建一个训练-开发集。
-
如果你的模型在训练-开发集上表现不佳,那么它就是过拟合。
-
如果它在训练-开发集上表现良好但在验证集上表现不佳,那么问题就是数据不匹配。
总结
没有一种模型能保证在所有问题上都能表现最佳,要知道什么有效,唯一的方法就是对你的数据做出合理假设,多尝试几个模型,并严格测试它们。
另外我们精心打磨了一套基于数据与模型方法的AI科研入门学习方案(已经迭代第6次),对于人工智能来说,任何专业,要处理的都只是实验数据,所以我们根据实验数据将课程分为了三种方向的针对性课程,包含时序、影像、AI+实验室,我们会根据你的数据类型来帮助你选择合适的实验室,根据规划好的路线学习 只需3-5个月左右(很多同学通过学习已经发表了 sci 一区及以下、和同等级别的会议论文)学习形式为直播+录播,多位老师为你的论文保驾护航。
适合人群:
-
导师放养,自学无头绪
-
时间紧任务重有延毕风险
-
想提前完成大小论文为之后读博或工作做准备的
-
想通过发表sci论文、提升科研能力bao研、考研的本科同学