Machine Learning Specialization --- Course 1, Week 1
第 1-8 课学习总结
课程基本信息
| 项目 | 内容 |
|---|---|
| 课程 | Supervised Machine Learning: Regression and Classification |
| 周次 | Week 1 --- Introduction to Machine Learning |
| 涵盖课时 | 1-1 至 1-8(共 8 个视频) |
| 总时长 | 约 46 分钟 |
第 1-1 课:欢迎来到机器学习(Welcome to Machine Learning!)
课程概述
这是整个专项课程的导论单元。吴恩达首先向学习者表达了欢迎,并简要介绍了机器学习在当今世界的重要地位和广泛应用。他指出,机器学习是人工智能的核心驱动力,正在深刻改变各行各业的面貌。
核心要点
机器学习技术已经渗透到我们日常生活的方方面面。从搜索引擎的结果排序到社交媒体的内容推荐,从语音助手到自动驾驶汽车,机器学习的应用无处不在。吴恩达强调,学习机器学习不仅是为了掌握一门技术,更是为了理解当今 AI 时代底层运作的基本原理。
作为课程的开门第一课,这一节的核心目的是让学习者建立对整个专项课程的整体认知图景,了解接下来将要学习的内容模块,包括监督学习、无监督学习、神经网络等核心主题。
第 1-2 课:机器学习的应用(Applications of Machine Learning)
课程概述
这一课列举了机器学习在各行业中的代表性应用场景,通过丰富的真实案例展示了机器学习的强大能力和广阔前景。
核心应用领域与详细案例讲解
搜索引擎与信息检索:Google、百度等搜索引擎使用机器学习算法对搜索结果进行排序。以 Google 为例,当用户搜索"best restaurants nearby"时,系统不仅需要根据网页内容相关性排序,还需要综合考虑餐厅的评分、距离、用户的历史偏好等因素。机器学习模型从数十亿次搜索点击行为中学习什么样的网页在什么情况下对用户最有价值,从而动态调整排序策略。这与早期搜索引擎使用固定规则(如关键词密度)进行排序的方式形成了鲜明对比。
语音识别与自然语言处理:以苹果的 Siri 为例,当用户说"Hey Siri, turn on the living room lights"时,系统首先需要将这段语音信号转换为文字(语音识别),然后理解用户的意图是"打开客厅的灯"(自然语言理解),最后执行对应的操作(智能家居控制)。每一步都依赖机器学习模型:语音识别模型从海量的语音数据中学习不同口音、不同说话方式下的声学特征到文字的映射;自然语言理解模型则学习从文字序列到语义意图的转换。机器翻译系统同样如此,以 Google 翻译为例,系统从大量的双语对照文本中自动学习不同语言之间的词汇对应和句法转换规则,从而在面对从未见过的句子时也能生成质量较高的翻译结果。
垃圾邮件过滤:以 Gmail 的垃圾邮件过滤器为例,传统的规则引擎可能写出类似"如果邮件标题包含'免费''限时优惠'则标记为垃圾邮件"这样的固定规则。但这种方法的局限性很快显现:垃圾邮件发送者只需稍微改写措辞(如将"免费"改为"零成本"、"限时优惠"改为"活动特惠")就能轻易绕过规则。更深层的问题是,同一个词在不同上下文中含义可能完全不同------"投资"一词出现在正经的财经报道中是正常的,但出现在以高收益为噱头的推销邮件中则可能是垃圾邮件。机器学习的方法则不同:它从海量的已标记邮件(用户手动标记的垃圾邮件和正常邮件)中学习所有词汇、发送者行为、发件时间等数十个维度的综合特征,自动构建一个判断模型,从而能够识别出即使是全新措辞的垃圾邮件变种。
计算机视觉与图像识别:以医学影像诊断为例,放射科医生每天需要阅读大量的 X 光片、CT 影像和 MRI 影像来寻找疾病迹象。一项著名的研究是利用深度学习模型辅助放射科医生检测胸部 X 光片中的肺炎。模型从数万张经过专业放射科医生标注的 X 光片中学习正常肺部与肺炎感染肺部的影像特征差异------例如肺炎往往在肺叶区域呈现出局部密度增高的模糊影像。实验结果显示,机器学习模型在部分任务上的准确率已经可以与资深放射科医生相媲美。更重要的是,机器可以作为"第二意见"工具,帮助医生在大量阅片中减少因疲劳导致的漏诊。自动驾驶领域则以特斯拉的视觉系统为代表,车辆需要实时识别道路上的行人、车辆、交通标志、车道线等所有元素,这同样是一个极其复杂的计算机视觉任务,需要机器学习模型从数百万小时的驾驶视频数据中不断学习和完善。
推荐系统:以 Netflix 的电影推荐为例,该平台拥有数千部电影和上亿用户。如果用穷举法列出每个用户对每部电影的可能评分,那将是一个天文数字的计算量。Netflix 采用的推荐算法会综合考虑以下因素:该用户过去给类似电影的高评分记录、与该用户品味相似的其他用户对某部电影的评价、电影的类型、导演、演员特征与用户历史偏好的匹配程度。举例来说,如果系统发现用户 A 给《盗梦空间》《星际穿越》《敦刻尔克》都打了高分,那么它可以推断用户 A 偏好诺兰导演的烧脑型科幻或战争电影,因此当诺兰的新电影上线时,系统就会将其推荐给用户 A。这个推荐过程是完全自动化的,无需人工编辑逐一为用户配置喜好标签。
医疗诊断:在糖尿病视网膜病变的筛查中,眼科医生需要通过眼底照片来检测视网膜血管的病变情况。这一任务需要经过专业训练的眼科医生才能完成,且人工阅片的效率有限。Google Health 开发的机器学习系统可以从眼底照片中自动识别出血、渗出物、新生血管等病变特征,其检测准确性达到了与专业眼科医生相当的水平。该系统的优势在于:可以 24 小时不间断运行,适用于医疗资源匮乏地区的批量筛查场景;能辅助医生处理大量病例,将更多精力集中在需要深度判断的复杂案例上。
金融风控:以信用卡反欺诈为例,当你的信用卡在凌晨三点于一个你从未去过的国家发生了大额消费时,银行的风控系统会立即发出警报。这一判断背后是机器学习模型在实时运作:模型从大量的历史交易数据中学习你的正常消费模式------通常的消费金额范围、常用的消费地点、消费时间分布等。一旦某笔交易偏离了这些模式(如地点异常、金额异常、交易时间异常),模型就会给出一个较高的欺诈风险分数,进而触发人工审核或自动阻断。机器学习模型能够发现许多人类难以直观察觉的复杂欺诈模式,例如犯罪分子会采用"小金额试探---大金额套现"的分布式欺诈策略,单看每笔交易可能都正常,但综合时间序列分析就能发现异常。
机器学习应用的核心逻辑
吴恩达总结道,机器学习应用的核心逻辑可以概括为三个阶段:第一,让计算机从大量历史数据中自动学习和发现规律;第二,将学习到的规律编码到模型参数中;第三,将训练好的模型应用于新的、从未见过的数据上做出预测或决策。这个逻辑框架贯穿了整个专项课程,后续所有的算法和模型都是围绕这一逻辑的具体实现。
第 1-3 课:什么是机器学习?(What is Machine Learning?)
课程概述
这一课给出了机器学习的基本定义,介绍了机器学习的工作流程,并与传统编程范式进行了直观对比。
什么是机器学习
课程介绍了两个被广泛引用的经典定义。
Arthur Samuel 在 1959 年给出了一个直观但深刻的定义:"机器学习是让计算机无需明确编程即可自主学习的研究领域。"这个定义诞生于人工智能研究的早期阶段,它的核心洞见在于:机器可以像人类一样从经验中改进自身行为,而不需要工程师为每一种可能的情况预先生成程序指令。
Tom Mitchell 在 1997 年给出了一个更具体的定义,在机器学习领域被广泛引用:一个计算机程序被认为能够从经验中学习,如果它在完成某项任务时,随着经验(训练数据)的积累,其表现会越来越好。
这个定义中有三个关键要素需要理解。第一是任务------程序需要解决的问题,比如判断一封邮件是否为垃圾邮件,或者预测一套房子的价格;第二是经验------程序在训练过程中接触到的数据,比如成百上千封已经标记好"垃圾"或"正常"的邮件;第三是性能度量------衡量程序好坏的指标,比如分类的准确率或者预测值与真实值之间的误差。这些要素构成了理解任何机器学习问题的基本框架。
机器学习与传统编程的对比
传统编程要求程序员手动编写规则,程序接收输入数据和手工编写的规则,输出结果。以垃圾邮件过滤器为例,传统方式需要工程师分析大量的垃圾邮件样本,手动归纳出一套规则集,例如"如果邮件包含'免费'且包含链接且发送者不在联系人列表中,则判定为垃圾邮件"。这类规则的问题在于:首先,规则难以穷举所有情况,语言表达方式千变万化,规则总是会遇到漏洞;其次,当垃圾邮件发送者了解了规则之后,只需稍作变通就能绕过规则,比如用符号分隔敏感词,或者把"免费"改写成"兔费";第三,随着规则数量的增加,不同规则之间可能产生冲突,维护成本急剧上升;第四,对于一些复杂的模式识别任务,比如识别一张图片中的物体是什么,人类根本无法用显式规则来描述这一过程。
机器学习则完全颠覆了这一范式。在机器学习模式下,程序员不再编写具体的判断规则,而是编写学习算法,程序接收输入数据和学习算法,数据中包含每个输入对应的正确答案(标签),学习算法从这些配对中自动提取模式并生成模型,模型对新的输入数据给出预测结果。以同样的垃圾邮件过滤为例,机器学习的做法是:收集大量已标记的邮件数据,每封邮件的文本内容作为输入,"垃圾"或"正常"作为标签,将这些数据喂给学习算法,算法自动从数据中学习哪些词汇组合、发送者特征、时间模式等与"垃圾邮件"这一标签最相关,最终得到一个可以根据新邮件的特征判断其是否为垃圾邮件的模型。这个过程中,程序员不需要知道垃圾邮件有什么特征,特征完全由算法从数据中自动发现。
机器学习的基本工作流程
机器学习的基本工作流程包含以下步骤。第一步,准备训练数据,收集包含输入和对应正确答案的样本,比如一万封邮件,每封都有"垃圾"或"正常"的标签。第二步,选择一个模型,比如一个线性函数或者一个神经网络。第三步,通过学习算法调整模型的参数,使得模型的预测尽可能接近训练数据中的真实答案。第四步,将训练好的模型应用于新的、从未见过的数据,输出预测结果。这个流程贯穿整个专项课程,所有算法的差异主要体现在模型的选择、成本函数的设计以及优化方法上。
第 1-4 课:监督学习(上)(Supervised Learning --- Part 1)
课程概述
监督学习是机器学习中最为重要和应用最广泛的分支。这一课介绍了监督学习的基本概念,并通过房价预测的例子来说明回归问题的特征。
什么是监督学习
监督学习是机器学习中最主流的范式之一。简单来说,在监督学习中,我们给算法提供一组数据,每个数据都包含输入和对应的正确答案,算法通过学习这些配对,最终能够对新的输入给出正确答案的预测。可以把它想象成一个老师批改作业的过程:每一道题都给出了标准答案,学生通过对比自己的答案与标准答案的差异来学习正确的解题方法。
监督学习中的"监督"就体现在这里------数据中的标签扮演了"正确答案"的角色,学习算法可以通过比较预测值与真实值的差异来调整自己的参数,逐步改进预测效果。
监督学习的两个主要任务
**回归(Regression)**任务是监督学习的第一大类问题,其特点是预测的结果是一个连续数值,可以是范围内的任意数字。
课程以房价预测作为回归问题的经典示例。具体案例讲解如下:假设我们要建立一个根据房屋特征预测房价的模型。训练数据包含了该城市大量房屋的历史交易记录。每条记录包括房屋的面积、卧室数量、浴室数量、房龄、地段等特征,以及最终的实际成交价格。模型的任务是:给定一套新房屋的特征,预测它的成交价格。
让我们用一个更具体的数字场景来说明。假设训练数据中有这样几条记录:第一套房屋面积 120 平方米、3 间卧室、2 间浴室,最终以 58 万元成交;第二套面积 200 平方米、4 间卧室、3 间浴室,以 85 万元成交;第三套面积 80 平方米、2 间卧室、1 间浴室,以 42 万元成交。模型从这些数据中学习面积、房间数量与价格之间的关系。当面对一套新的房屋------面积 150 平方米、3 间卧室、2 间浴室时------模型会输出一个预测价格,比如 65 万元左右。注意,这里输出的是一个具体数值,而不是有限的几个固定选项。在真实的城市中,房价可以在 30 万到 1000 万之间的任意数值取值,模型理论上可以输出这个范围内的任何数字,这就是回归任务的典型特征。
房价预测在实际中有着广泛的应用。房产中介公司可以用它为待售房屋自动生成参考价格区间,银行在审批房贷时可以用它评估房屋价值的合理性,政府规划部门可以用它分析不同区域的价格走势从而指导土地规划和基础设施建设。
回归任务的另一个典型例子是天气预报:根据今天的气温、湿度、风速、气压等多个气象指标预测明天的气温。气温是一个连续变量,可能是 18.5°C、22.3°C 或者 37.8°C。类似的回归任务还包括根据历史销售数据预测下个月的营业收入,根据广告投放预算预测预期的用户增长量,根据农作物生长环境和施肥数据预测预期产量等。
回归问题与分类问题的初步区分
课程在此对分类问题做了初步的铺垫性说明。回归问题输出连续数值,可以在某一区间内取任意值;分类问题输出离散类别,取值只能来自预先定义好的有限集合。这个区别非常重要,决定了两种问题在评估方法和常用算法上的不同。
第 1-5 课:监督学习(下)(Supervised Learning --- Part 2)
课程概述
这一课继续深入介绍监督学习,重点讲解分类问题,并补充更多监督学习的应用实例,帮助学习者全面理解监督学习的全貌。
分类(Classification)问题
分类任务是监督学习的第二大类问题,其特点是预测的结果是一个离散类别,取值只能来自预先定义好的有限集合。比如判断一封邮件是"垃圾邮件"还是"正常邮件",这是一个二分类问题,输出只有两个选项;判断一张图片中的手写数字是"0"到"9"中的哪一个,这是一个多分类问题,输出有十个选项。
在二分类问题中,通常约定将其中一个类别称为"正类",另一个称为"负类"。这里的"正"与"负"仅仅作为两个类别的符号标识,不应被赋予任何价值判断色彩。
分类问题的详细案例讲解
肿瘤诊断案例:这是分类问题最经典的案例之一。假设有一个数据集包含了乳腺肿瘤的若干测量特征,包括肿瘤的半径、纹理、面积、周长、凹凸性等。一条典型的训练数据可能是:肿瘤的半径均值为 17.99 毫米,纹理为 10.38,面积约 1001 平方毫米,对应的标签是"恶性"或"良性"。模型的任务是:当面对一个新的肿瘤样本时,根据其测量特征判断它是恶性还是良性。注意,这里的输出只能是"恶性"或"良性"两个选项之一,而不是"恶性肿瘤概率为 0.73"这样的连续数值。
更具体地展开这个场景:假设训练数据中有三名患者的肿瘤样本。第一名患者的肿瘤测量值为半径 12.5 毫米、纹理 15.3、面积 780 平方毫米,放射科医生标记为"恶性";第二名患者的测量值为半径 6.8 毫米、纹理 9.2、面积 420 平方毫米,标记为"良性";第三名患者的测量值为半径 14.2 毫米、纹理 12.1、面积 890 平方毫米,标记为"恶性"。模型从这些数据中学习恶性与良性肿瘤在测量特征上的差异规律。当面对一名新患者的肿瘤测量值(半径 13.1 毫米、纹理 14.5、面积 820 平方毫米)时,模型判断该肿瘤为恶性的可能性较高。如果把这个判断交给医生,可以在临床诊断中起到重要的辅助参考作用。
垃圾邮件分类案例:在垃圾邮件分类中,每封邮件被转化为一个特征向量。我们可以统计邮件中出现的关键词频率,比如"免费"出现了 2 次,"优惠"出现了 1 次,"订单"出现了 0 次;也可以提取发件人的特征,比如是否在通讯录中、是否是常见营销域名;还可以提取邮件格式特征,比如是否有大量大写字母、是否包含多个感叹号、链接数量如何。把这些信息组合起来就形成了描述一封邮件的特征向量 x。训练数据中每封邮件都有对应的标签:垃圾邮件标记为"正类",正常邮件标记为"负类"。模型需要从这些数据中学习什么样的特征组合更可能出现在垃圾邮件中,然后在面对新邮件时判断其所属类别。
信用风险评估案例:银行在审批贷款时需要评估申请人的违约风险。输入特征可能包括申请人的年收入(比如 15 万元)、负债总额(比如 5 万元)、工作年限(比如 3 年)、信用历史长度(比如 5 年)、每月还款额占收入的比例(比如 30%)等。模型通过学习历史上大量贷款申请人的这些特征与其最终是否违约的对应关系,构建一个风险评估模型。当新的申请人提交申请时,模型根据其特征输出一个风险判断:是高风险还是低风险。这个判断可以帮助信贷员决定是批准申请、拒绝申请,还是要求申请人提供额外的担保材料。
图像识别案例:在手写数字识别任务中,每张 28×28 像素的灰度图像被展平为一个 784 维的特征向量,每个维度的值代表对应像素的灰度强度。训练数据包含了数万张已经标注了数字类别(0 到 9)的手写数字图像。模型需要从这些数据中学习图像的像素模式与数字类别之间的对应关系。比如数字"1"通常在图像的垂直中央附近有一条较粗的竖线,数字"0"则是一个完整的椭圆形闭合曲线。模型需要从大量样本中自动提炼出这些规律,从而能够识别出从未见过的手写字迹。这是一个多分类问题,输出空间包含 10 个类别。
监督学习的关键要素
构成监督学习问题的核心要素包括:训练数据集,是包含输入特征和对应标签的样本集合,是模型学习的经验来源;特征空间,描述了每个样本的所有可测量属性;标签空间,包含了所有可能的输出值;学习算法,从数据中提取模式的计算方法;以及泛化能力,这是监督学习中最重要的概念------模型在未曾见过的测试数据上的表现,这才是衡量模型真实价值的关键指标。一个好的模型不仅要能在训练数据上表现良好,更重要的是要能准确预测它从未见过的全新数据。
第 1-6 课:无监督学习(上)(Unsupervised Learning --- Part 1)
课程概述
这一课引入了机器学习的第二大分支------无监督学习。与监督学习不同,无监督学习不使用标签数据,而是从数据本身发现结构和模式。
什么是无监督学习
无监督学习是机器学习中与监督学习并列的另一大分支。简单来说,在监督学习中,每个训练样本都包含"输入 x"和"正确答案 y"两个部分;而在无监督学习中,每个训练样本只有"输入 x",没有任何标签或正确答案。
这就好比一个孩子在成长过程中观察世界的两种方式。监督学习类似于有老师指导的学习------老师告诉你"这是猫"、"那是狗",每张图片都有标准答案可以对照学习。无监督学习则类似于没有老师指导的自主探索------孩子自己观察一群动物,自己发现哪些动物之间长得相似(比如都有四条腿、都会叫),然后把相似的动物归为一组,自己给不同的组起名字或找规律。在这个过程中,没有人在旁边告诉你正确答案,一切规律都需要自己从观察中发现。
无监督学习的本质是"从数据中发现有趣的结构"。这里"有趣"的定义完全取决于数据本身,而不是预先由人工指定。比如数据中哪些样本彼此相似,应该被归为一组?数据的哪些维度是冗余的可以压缩?是否存在与大多数数据显著不同的异常个体?这些问题都没有标准答案,完全由数据驱动。
无监督学习的主要任务类型
聚类(Clustering):将数据集中的样本划分为若干个互不相交的组(称为"簇"),使得同一组内的样本彼此相似,不同组之间的样本差异明显。聚类算法不需要预先知道数据中有多少个组,也不需要为每个样本提供标签,它自主地决定如何分组以及应该分成几组。
异常检测(Anomaly Detection):识别数据中显著偏离大多数数据分布的异常样本。在异常检测中,"正常"的模式是从大多数数据中学习到的,任何偏离这一正常模式的观测点都会被标记为异常。这种方法不需要预先知道什么是"异常",只需要学习什么是"正常",然后把不符合正常模式的东西挑出来。
降维(Dimensionality Reduction):将高维数据映射到低维空间,同时尽可能保留原始数据中的重要信息,比如样本之间的距离关系或者数据方差最大的方向。降维后的数据更易于可视化和后续分析。
第 1-7 课:无监督学习(下)(Unsupervised Learning --- Part 2)
课程概述
这一课继续深化无监督学习的概念,通过具体案例展示无监督学习的实际应用,并提供了监督学习与无监督学习的系统性对比。
聚类算法的详细案例讲解
Google News 新闻聚类案例:Google News 每天聚合来自数千家媒体来源的新闻报道。当一个重大事件发生时,不同媒体会从各自的角度报道这一事件,标题和内容各有不同。例如,关于"某科技公司发布新品手机"的新闻,可能有以下几种不同的报道标题:"X公司发布年度旗舰手机"、"X公司新品发布:售价6999元起"、"X公司新一代手机亮相:影像系统全面升级"、"X公司发布会汇总:5款新品一览"。聚类算法的任务是在没有任何人工预先定义"哪个事件对应哪个类别"的情况下,自动将上述这些报道归为一组。
具体来说,聚类算法首先将所有新闻报道转化为文本特征向量------比如统计每个词在这篇报道中出现的频率,忽略常见无意义词汇后形成高维向量。然后计算不同报道之间标题和内容的文本相似度,将相似度高的报道自动聚合为一个簇。每个簇对应一个新闻主题,簇中的所有报道都指向同一个底层事件。更有趣的是,算法还会自动识别当天有多少个不同的新闻主题------是 5 个、8 个还是 20 个?这完全由算法根据数据自行判断,不需要人工预先设定。整个聚类过程是完全无人监督的:算法自己决定今天有多少个新闻事件、哪些报道属于同一事件,而不依赖任何人工标注的数据。
DNA 基因数据分析案例:在生物信息学中,研究人员通常拥有大量个体的基因表达数据。以基因芯片数据为例,每个个体的样本可能包含数千个基因的表达量测量值,每个值反映了该基因在特定条件下的活跃程度。无监督聚类算法可以对这些数据进行聚类,发现哪些个体的基因表达模式彼此相似。
用一个具体的场景来说明:假设研究人员收集了 500 个人的基因表达数据样本,每个样本包含 2000 个基因的表达量测量值。如果将这 500 个样本放在一起进行聚类,可能会发现样本自然地聚成了 3 个组。第一组包含 320 个样本,他们的基因表达模式高度相似------某些与免疫功能相关的基因表达量普遍较高;第二组包含 120 个样本,他们有另一种表达模式------某些与代谢相关的基因表达量显著不同于第一组;第三组包含 60 个样本,他们的表达模式最为独特,其中多个基因的表达量在所有样本中处于极端水平。如果进一步检查这三组人的临床信息,发现第一组主要是健康人群,第二组主要是某种慢性疾病患者,第三组则几乎全是重症患者。这就说明聚类算法仅仅通过分析基因数据本身,就成功地自动识别出了与健康状态相关的基因表达模式,这些发现可以帮助科学家缩小研究范围,更高效地找到与疾病相关的关键基因。
市场细分与用户分群案例:一家连锁零售企业积累了数百万用户的消费记录,每条记录包含用户的购买品类、购买频率、平均客单价、退货率、偏好折扣力度、是否参加会员活动等数十个维度的特征。如果要制定针对性的营销策略,显然不能对所有用户采取相同的策略------给高消费频次用户推送清仓折扣可能引起其反感,给低活跃用户群发新品推荐则可能石沉大海。
企业可以使用聚类算法对用户进行细分,将具有相似消费特征的用户归为同一组。聚类后可能发现这样几类典型用户群。第一类是"性价比敏感型"用户群,包含约 40 万用户,他们的共同特征是购买频次较低、客单价偏低、只有在大幅促销活动时才会购买、偏好折扣商品。第二类是"品质导向型"用户群,包含约 15 万用户,他们客单价较高、购买频次中等、偏好高端品牌、对价格敏感度较低。第三类是"活跃时尚型"用户群,包含约 25 万用户,他们的购买频次很高、偏好新品、经常浏览商品页面、对潮流趋势敏感。第四类是"沉默型"用户群,包含约 60 万用户,他们注册后购买频次很低、与平台互动少、存在流失风险。每个用户群具有不同的消费特征,企业可以针对每个群体制定差异化的营销方案。聚类在这里的价值在于:它不是由市场人员主观预设"应该有哪几类用户",而是从数据中客观地发现真实存在的用户群体及其特征。
天体数据分类案例:在射电天文学中,望远镜每次观测会记录数十亿个信号源,每个信号源具有多个属性,如信号强度、频率分布、空间位置等。天文学家使用聚类算法对这些信号源进行自动分类,将具有相似观测特征的信号源归为一组。在对星系进行分类时,聚类算法可能仅凭观测数据的相似性,自动将星系图像归为若干组,分别对应不同形态的星系类型。这有助于天文学家发现一些此前未被识别的星系亚类或新的天体类型。
监督学习与无监督学习的系统性对比
监督学习和无监督学习是机器学习的两大支柱,它们的核心区别在于数据中是否包含标签。监督学习的数据包含输入和对应的正确答案,学习目标是预测这些正确答案;无监督学习的数据只有输入没有答案,学习目标是发现数据中隐藏的结构。
一个简单的判别标准是:当你知道你想预测什么,并且你有对应的标注数据时,使用监督学习;当你不知道数据中有什么,只想让数据自己说话时,使用无监督学习。
在实际应用中,监督学习和无监督学习往往相互配合使用。例如在信用卡反欺诈系统中,可以用监督学习方法基于历史上已确认的欺诈案例训练一个欺诈检测模型(这是一个二分类问题);同时用无监督学习方法(如异常检测)发现那些不符合已知欺诈模式但行为异常的新交易,即便这些新交易不在历史欺诈案例库中。
第 1-8 课:Jupyter Notebooks
课程概述
这一课是衔接理论学习和编程实践的过渡单元,介绍了课程配套的实验环境------Jupyter Notebooks 的基本使用方法。
Jupyter Notebooks 简介
Jupyter Notebook 是一个开源的交互式编程环境,"Jupyter"这个名字来自三种核心编程语言的组合:Julia、Python 和 R,尽管它如今已经支持数十种编程语言。它广泛应用于数据科学、机器学习和科学计算领域。
Jupyter Notebook 的核心特性是"单元格"的概念。每个 Notebook 由多个单元格组成,单元格分为两种主要类型。代码单元格用于编写和执行代码,支持 Python、SQL、R 等多种编程语言。Markdown 单元格用于编写格式化的说明文本,支持 Markdown 语法,可以嵌入图片、超链接等元素,还可以添加标题、列表、链接等格式化元素。这种"代码加文档"的混合形式使得 Notebooks 特别适合教学和探索性数据分析------学习者可以在同一个文档中边写代码边记录理解,既能立即看到代码的执行结果,又能在 Markdown 单元格中写下自己的思考和解释。
基本操作详解
课程演示了 Jupyter Notebooks 的核心操作方法。进入代码单元格后,可以直接编写 Python 代码,比如写一条打印语句或者定义一个变量。按 Shift 和 Enter 的组合键执行代码,执行结果会直接显示在代码单元格下方。执行过程中如果出现错误,错误信息也会显示在输出区域中,便于调试和修正。Markdown 单元格的操作方式是:双击进入编辑模式,输入格式化的文本内容,使用 # 符号表示标题级别,用 - 符号创建列表,编辑完成后按 Shift 和 Enter 将其渲染为格式化输出。
课程中的实验安排
整个专项课程提供了丰富的 Jupyter Notebook 形式的实验和练习。Week 1 配备了四个可选实验,分别对应课程中介绍的各个概念。
第一个实验是 Python 和 Jupyter Notebooks 入门,帮助学习者熟悉实验环境的基本操作和 Python 的基础语法。第二个实验是模型表示,通过代码理解监督学习中数据与模型的对应关系,包括如何将房价数据表示为向量、如何定义一个简单的线性模型。第三个实验是成本函数,编程实现均方误差成本函数,并可视化其在不同参数下的取值,从而直观地理解"最小化成本函数"的含义。第四个实验是梯度下降,手动实现梯度下降算法,观察参数在每一次迭代中如何更新,以及算法如何逐步收敛到最优解。
这些实验的核心理念是"做中学"。吴恩达建议学习者不要仅仅观看视频中播放的代码运行结果,而要自己在 Notebook 中亲手运行代码、修改参数、观察结果变化。例如在成本函数的实验中,可以尝试用不同的参数值计算成本函数,观察其如何随着参数变化而变化,从而建立对优化目标的直观感受。
环境配置方案
课程提供了两种运行 Notebooks 的方式。第一种是 Google Colab,这是推荐的入门方式。它是一个免费的云端 Jupyter 环境,无需在本地安装任何软件,打开浏览器即可开始编程,还能免费使用 GPU 资源,这对于后续的神经网络实验特别有帮助。第二种是本地安装,需要先安装 Python 环境,课程推荐使用 Anaconda 发行版,它预装了 Python 以及数据科学和机器学习常用的核心库,如 NumPy、Pandas、Matplotlib、scikit-learn,避免了手动逐个安装依赖的繁琐过程。
第 1-1 至 1-8 课 知识体系总结
课程内容定位
这 8 个课时构成了整个专项课程的"入门导论"部分,核心目标是为学习者建立对机器学习领域的整体认知框架。课程没有引入任何具体的算法细节或数学公式,而是通过概念讲解和案例分析,帮助学习者理解机器学习要解决什么问题、为什么需要机器学习、以及机器学习的基本范式分类。这些概念性理解是后续深入学习各类算法的认知基础。
核心概念汇总
机器学习的核心问题可以概括为:如何让计算机系统通过分析数据自动改进其完成任务的性能?围绕这个问题,机器学习形成了两大主要范式。
第一是监督学习。当我们有输入和对应的正确答案时,使用监督学习。监督学习解决两类问题:如果要预测的是一个连续数值(比如房价、温度、销售额),这就是回归问题;如果要预测的是一个离散类别(比如垃圾邮件还是正常邮件、肿瘤恶性还是良性),这就是分类问题。
第二是无监督学习。当我们只有输入数据而没有正确答案时,使用无监督学习。无监督学习可以在不知道类别定义的情况下自动发现数据中的分组(聚类),可以发现偏离正常模式的异常样本(异常检测),也可以将高维数据压缩到低维空间便于分析和可视化。
知识结构图
机器学习(Machine Learning)
│
├── 定义
│ ├── Arthur Samuel(1959):无需明确编程即可自主学习
│ └── Tom Mitchell(1997):随经验增加而性能提升
│
├── 监督学习(Supervised Learning)
│ ├── 数据:输入 + 对应的正确答案(标签)
│ ├── 目标:学会预测正确答案
│ ├── 回归:预测连续数值(如房价、气温)
│ │ └── 案例:房价预测、天气预报、销量预测
│ └── 分类:预测离散类别(如垃圾/正常、恶性/良性)
│ ├── 二分类:两个选项
│ │ └── 案例:垃圾邮件判断、肿瘤诊断、欺诈检测
│ └── 多分类:多个选项
│ └── 案例:手写数字识别(0-9)
│
├── 无监督学习(Unsupervised Learning)
│ ├── 数据:仅有输入,无标签
│ ├── 目标:发现数据中隐藏的结构
│ ├── 聚类:自动发现数据中的分组
│ │ └── 案例:新闻聚类、用户分群、基因数据分析
│ ├── 异常检测:发现偏离正常模式的样本
│ │ └── 案例:信用卡欺诈检测、设备故障预警
│ └── 降维:将高维数据压缩到低维
│ └── 案例:数据可视化、特征压缩
│
└── 实践工具
└── Jupyter Notebooks(交互式编程环境)
与后续课程的衔接
这 8 课是整个专项课程的理论铺垫。从第 1-9 课开始,课程将正式进入具体的算法和数学工具。第 1-9 至 1-10 课将引入线性回归模型,定义一个具体的预测函数形式;第 1-11 至 1-13 课引入成本函数,定义如何衡量预测的误差;第 1-14 至 1-20 课引入梯度下降算法,定义如何通过迭代优化找到最优参数。这些内容将把监督学习的框架落实为可计算、可实现的数学模型和算法,正式开启从概念到实践的关键一步。
本总结基于 Coursera 平台上吴恩达(Andrew Ng)Machine Learning Specialization --- Course 1, Week 1 中第 1-1 至 1-8 课的视频内容。