COMP5318 Week 01 Introduction 讲课总结
COMP5318 Week 01 讲课总结:Introduction
课程:COMP5318 / COMP4318 — Machine Learning and Data Mining,Semester 2 2026 本讲讲师:Imdad Ullah(Week 1–5);Unit Coordinator:Dr William Zhi(Week 6 起接手授课) Slides 原作者:Irena Koprinska 参考章节:Witten ch.1,Tan ch.1 来源:
comp5318-week1-Administrative.pdf(45 页)+ Week 01 讲课字幕 + Canvas 教学材料页老师开场定调:这门课有 800+ 名学生,来自 CS、医疗、法律等各种背景,因此不走深度数学路线(原话:this will not be mathematical),重点是理解算法 + 会用。本讲全是高层概念,没有推导。
一、课程组织与考核
1.1 教学安排
| 项目 | 内容 |
|---|---|
| Lecture | 每周 2 小时,Week 1 就开始。⚠️ Slide 上印的是 6–8pm,老师现场更正为 5–7pm——以自己的 timetable 为准 |
| 录播 | 学校自动录制,上传到 Canvas 左侧 "Recorded Lectures"。Tutorial 不录播 |
| Tutorial(也叫 lab / prac) | 每周 1 小时,Week 2 开始;只需参加自己 timetable 上分配的那一场 |
| 教师办公地点 | Computer Science Building (J12) |
| Teaching assistants / Tutors | 名单见 Canvas |
| 讨论区 | Ed Discussion(从 Canvas 进入)。发帖不要发邮件——回复更快,而且一次回答所有人 |
| Canvas | 所有教学材料、unit outline、成绩。Canvas → Home 的 unit outline 文件是最重要的文档 |
1.2 材料发布时间表(来自 Canvas 教学材料页,比课上讲的更准确)
| 材料 | 发布时间 |
|---|---|
| Lecture slides + tutorial notes | 提前一周的周六上午 9:00(例:week 2 的材料在 week 1 周六 9am 放出) |
| 带答案版 slides | 如果 slides 里留了课堂练习没写答案,会出两个版本:无答案版周六 9am,有答案版在周五课后 |
| Homework + tutorial 解答 | 当周周五 21:00(最后一场 tutorial 结束后) |
| 录播 | 课后即传 |
1.3 考核构成
| 评估 | 权重 | 形式 | 截止 |
|---|---|---|---|
| Assignment 1 | 15% | 小组(≤ 3 人),Python 编程 + 报告,Canvas 提交 | Week 7 周五 23:59 |
| Assignment 2 | 25% | 小组(≤ 3 人),Python 编程 + 报告,Canvas 提交 | Week 11 周五 23:59 |
| Weekly Homework | 5% | 个人,Canvas Quizzes 形式 | 见下 |
| Final Exam | 60% | 个人,考试周,线下监考 | — |
Weekly homework 的准确规则(Canvas 页面):
- 一共 10 次,除 w1、w12、w13 外每周都有
- 在 Canvas 左侧 Quizzes 里,是设定好的 quiz
- 周六 9:00 开放,周二 17:00 截止(赶在本周第一场 tutorial 之前)
- 内容"非常简单",就是直接套用本周 lecture 的内容,目的是为 tutorial 做准备 + 逼你每周学
必须记住的规则:
- Double pass policy(School of CS):期末考至少要拿 40%。老师课上强调:不是 60 分里的 40%,而是 100 分卷面里的 40 分。哪怕平时分满分,期末 39 分照样挂。
- 迟交:最多 5 天,每天扣 5%;超过 5 天不接受。
- Special Consideration:走学校统一系统(登录 myUni 在线提交),必须在评估截止日起 3 个工作日内提交表格,由 SAS 审核。
- 组队:现在就开始组队。老师说往年常有人拖到很晚才组,最后被迫单独提交,还很难证明自己的贡献。
- 不限 tutorial:tutorial 1 的人可以和 tutorial 10 的人组队(同 tutorial 沟通更方便而已)。
- 两次作业最好同一组;想换组要联系 unit coordinator 重新分配。
- 一定要在 Canvas 上正式加入 group,否则看不到分数,也无法体现贡献。
老师反复提醒:编程作业永远比看起来花时间,一定要早开始、早提交,避开截止前的系统拥堵。
1.4 Tutorial 的结构(考试相关,重要)
大多数周会有两份材料:
| 部分 | 内容 | 重要提示 |
|---|---|---|
| Theoretical | 纸笔练习与手算,检验你是否真的理解算法 | 第一题在 lecture 上或 tutorial 开头做,剩下的自己做完。这些题的风格和考试题非常接近 |
| Practical | 用 Python 及其机器学习 /
神经网络库(.ipynb 格式) |
Tutorial 的主要内容。做不完要回家做完,这部分对作业很重要 |
材料同时提供 .ipynb(Jupyter Notebook)和
.pdf 两种格式。
1.5 编程环境与先修
- 假定你会编程,至少掌握一门语言,最好是 Python。本课用 Python + sklearn 等库。
- 环境:Jupyter Notebook(Canvas 有安装文档,含
graphviz等包的安装),或 Google Colab。 - 不熟 Python 的:Canvas 有 Python refresher 短文档;slides 还推荐了三个免费课程(DataCamp / edX / Coursera 的 Python for Data Science)。
- 算力:学校不提供任何计算资源,老师明确说本课作业在自己笔记本上就能跑。
1.6 教材
| 类型 | 书 |
|---|---|
| 主教材 | Witten, Frank, Hall & Pal — Data Mining: Practical Machine Learning Tools and Techniques, 4th ed., Morgan Kaufmann, 2017(3rd ed. 也可) |
| 主教材 | Tan, Steinbach, Karpathe & Kumar — Introduction to Data Mining, 2nd ed., Pearson, 2019(旧版也可) |
| Python 实践 | Mueller & Guido — Introduction to Machine Learning with Python, O'Reilly, 2016 |
| Python 实践 | Géron — Hands-On Machine Learning with Scikit-Learn, Keras and TensorFlow, O'Reilly, 2019 |
四本图书馆都有纸质版和电子版。
1.7 学术诚信与 AI
三类违规(slide 21):
| 类型 | 定义 |
|---|---|
| Plagiarism | 从其他学生、网站或其他来源抄袭——抄整份还是抄一部分都算 |
| Academic dishonesty | 把自己的作业给别人抄(作业或考试)。给的人同样受罚 |
| Misconduct | 找他人代做作业或考试(无论是否付费)。必须上报 University Registrar 调查 |
检测工具:文本用 Turnitin(两次作业的报告 + 考试),代码用 MOSS(两次作业)。老师强调:
MOSS 骗不过去——改变量名、调换 if-else 条件顺序都没用。
Gen AI:
| 场景 | 是否允许 |
|---|---|
| Assignment 1 / Assignment 2 | 允许(unit outline 标为 not secure) |
| Final Exam | 禁止(secure,线下监考) |
合法协作 vs 作弊(slide 24):个人作业里可以讨论,但不能一起完成——每个人必须自己写代码、自己写报告。
Slide 上给了标准回绝话术:I can't do this. This is against the University policy. I will not risk my reputation and future by doing this.
二、为什么需要 ML 和 DM
2.1 数据爆炸(Data is everywhere)
原因:自动化采集工具与传感器、成熟的数据库技术、更便宜更强的计算机。
来源:business、science、medicine、economics、environment、web……
| 类别 | 例子 |
|---|---|
| 购物 | 超市、百货、网店。Amazon 每天处理数百万次访问——你在某商品页停留 1 分钟还是 0.5 秒它都知道 |
| 金融 | 银行 / 信用卡使用数据 |
| Web / 社交 | Google、Facebook 等。老师建议去看自己的 Google Dashboard:每一次点击、每一次搜索都有记录,导出有 2–3 GB |
| 其他 | 电话通话详单、政府统计、交通数据 |
| 科学数据 | 望远镜扫描天空、卫星遥感、气象数据 |
| 医疗 | 病历、影像、fMRI 脑成像、基因表达数据 |
| 生物数据 | 高通量的 cytometry、gene expression |
老师额外补充的一点:手机 App 里的 analytics library —— 你装任何 App,它都自带分析库,随 App Store / Play Store 一起下载,无论你愿不愿意都在为广告商和平台采集数据。
2.2 核心命题
当前趋势:Gather whatever data you can, whenever and wherever possible! 预期:它会有用——要么用于当初收集的目的,要么用于某个尚未设想到的目的。 然而:raw data is useless —— 只存不用就只是消耗存储、增加账单。
因此需要自动化方法从原始数据里抽取知识。
好 pattern 的三个条件:
| 条件 | 含义 |
|---|---|
| Meaningful | 数据和要解决的问题之间存在关系 |
| Useful | 今天可能没用,明天可能有用 |
| Actionable | 能据此做决策、采取行动 |
"Useful" 的定义因领域而异——医疗行业眼中的"有用"和商业侧完全不同,要在自己的业务里定义。
过程是 automatic 或 semi-automatic:
| 模式 | 适用场景 |
|---|---|
| Automatic | 遵循确定性步骤、能得到确定性答案的问题 |
| Semi-automatic | 解不能保证 100% 正确时,引入 domain expert,人机协同 |
2.3 ML vs DM
| 维度 | Machine Learning | Data Mining |
|---|---|---|
| 定位 | AI 的核心部分 | Applied ML——用 ML 算法来做 DM |
| 算法来源 | — | DM 用的大多数算法都是在 ML 领域开发的 |
| 数据规模 | 不一定大 | 处理大规模、多维数据 |
完整链条(slide 29,要能背):
2.4 DM 的来源:一个交叉学科(slide 30)
| 学科 | 贡献了什么 |
|---|---|
| Databases | 关系数据模型、SQL、association rule 算法、data warehousing |
| Information Retrieval | 相似度度量、模糊查询(imprecise queries)、文本 / 图像 / 视频数据、Web 搜索引擎 |
| Statistics | 抽样、估计、假设检验、Bayes 定理、回归分析、时间序列分析 |
| Artificial Intelligence | 搜索算法与推理方法 |
| Algorithms | 算法设计、算法分析、数据结构 |
| Machine Learning | 分类与聚类算法(神经网络、决策树、k-nearest neighbour、SVM 等) |
老师抛出的定位问题:你想站在这张图的哪个位置? CS 背景大概率每块都要碰;医疗等背景则要和 ML engineer 协作——你的价值在于把业务问题讲清楚。
三、机器学习的任务类型
| 类型 | 有无 label | 任务 |
|---|---|---|
| Supervised learning | 有 | Classification(离散)、Regression(连续) |
| Unsupervised learning | 无 | Clustering |
| Reinforcement learning | 靠 reward | agent–environment 交互(Week 10/11,只讲基础) |
| Outlier detection | — | 异常检测 |
本课会覆盖 supervised、unsupervised 和 reinforcement learning 的算法。
3.1 Supervised Learning
给定:一组预先分类(标注)的样本
任务:学一个函数(classifier / regressor)
使其能预测:对新的、未见过的样本,给定
为什么叫 supervised:因为输入数据里同时有 features 和 labels——相当于有人(domain expert)事先给了"正确答案"来监督学习。
| 子类 | 目标变量 | 例子 |
|---|---|---|
| Classification | Categorical(取值属于预先指定的有限集合) | pass / fail;spam / not spam;fraudulent / legitimate;cat / dog / bird |
| Regression | Numeric | house price、temperature、customer expenditure、delivery time |
Slides 给的形式化例子:
其中 pass/fail 的输入是
例 1:报税作弊(Classification,slide 35 — 最经典的例子)
训练数据(10 条):
| Tid | Refund | Marital Status | Taxable Income | Cheat |
|---|---|---|---|---|
| 1 | Yes | Single | 125K | No |
| 2 | No | Married | 100K | No |
| 3 | No | Single | 70K | No |
| 4 | Yes | Married | 120K | No |
| 5 | No | Divorced | 95K | Yes |
| 6 | No | Married | 60K | No |
| 7 | Yes | Divorced | 220K | No |
| 8 | No | Single | 85K | Yes |
| 9 | No | Married | 75K | No |
| 10 | No | Single | 90K | Yes |
学到的分类器(决策树形式):
refund |
两个步骤: 1. Step 1:用 training
data 构建 classifier 2. Step
2:把它用在新数据上做预测(新数据只有 3
个特征,class 是 ?)
例 2:信用卡欺诈检测(slide 36)
| 环节 | 内容 |
|---|---|
| 数据 | 历史信用卡交易、通常买什么和什么时候买、人口统计与社会经济信息(年龄、教育、收入) |
| 标注 | 把历史交易标为 fraud / legitimate(需要 domain expertise) |
| 训练样本 | |
| 应用 | |
| 为什么判 fraud | 平时每周花 |
| Action | 直接取消交易,或要求 OTP 验证后放行 |
例 3:Regression 的例子(slide 37)
| 任务 | 数据 |
|---|---|
| 预测电力需求 | 历史用电需求 + 天气数据 + 天气预报。防止停电、保障可靠供电,也关系到电网的经济高效运行和电力市场参与者。短期(未来几小时 / 明天)与长期(下周)预测,粒度可以是 5 / 30 / 60 分钟 |
| 预测澳元汇率 | 历史数据、经济指标、政治事件 |
| 预测退休储蓄 | 当前储蓄 + 市场指标 |
| 预测 2030 年悉尼房价 | — |
| 预测股指 | — |
| 预测风速 | 温度、湿度、气压 |
老师额外分享的实战例子:一家建筑公司同时推进约 300 个项目,要根据每日 / 每月的进度数据预测项目能否在 2027 年 3 月前完工,还要看每个团队的表现,以便及时调配人手。他借此强调:在真实组织里最难的往往不是选算法,而是发现问题——经理不懂数据,作为专家你要主动从数据里看出哪些问题值得解决。
3.2 Unsupervised Learning
给定:只有输入向量
任务:把样本分成有限个 cluster,使得
| 目标 | 数学表述 |
|---|---|
| 同簇样本相似 | Within-cluster distances are minimized |
| 异簇样本不相似 | Between-cluster distances are maximized |
例:客户分群
聚类算法可能识别出:
- Low-frequency, low-spending customers
- Frequent, moderate-spending customers
- Frequent, high-spending customers
关键点:谁给这些簇命名? 算法只告诉你"这里有 3 组",是业务方 / domain expert 解释每组代表什么。学生追问"无监督是不是就不需要领域知识了",老师明确回答:训练不需要标签,但解释结果仍然需要 domain expert;簇的数量也不是无穷多,domain expert 能给出合理范围。
聚类的五个应用(slides 39–40)
| # | 应用 | 说明 |
|---|---|---|
| 1 | Targeted marketing | 把客户分成有明显特征的群体,做针对性营销——比大众营销便宜 |
| 2 | Customer loyalty | 找出可能流失的客户群(转投别的医保 / 电力 / 电话公司) |
| 3 | Gene clustering | 找结构和功能相似的基因,对理解疾病和寻找有效治疗很重要。数据来自 microarray,同时分析数千个基因 |
| 4 | Document clustering | 按内容找相似文档。应用:专利文档分组(方便评估新专利)、个性化新闻推荐。 Pipeline: |
| 5 | 饮食习惯聚类 | 理解特定人群(如年轻澳洲人)的饮食模式。 Group 1 示例:不吃早餐、在意体重、不规律运动;高蛋白低脂高糖饮食;因为喜欢社交而外食;晚饭后加餐。 用途:推广健康饮食 + 推动政策变化。老师补充:还能节省资源——不必把预算花在本来就健康意识强的人群上 |
3.3 Reinforcement Learning(简介)
结构:agent 与 environment。Agent 采取 action → environment 观察 → 给出 reward。坏 reward → 继续学;好 reward → 说明这个 action 对。
四、The DM Process(六步)
这是一个迭代循环,不是一条直线。
1) Business Understanding
- 调研业务目标与需求
- 判断DM 能不能用来达成这些目标
- 确定能收集什么数据来构建一个可部署的模型
你所在的行业就是你的 business——医院、银行、教育机构都算。老师说目标往往很小:IT 部门可能只想"优化资源";财务部门可能只想"把散落的 Excel 集中起来有效利用"。
2) Data Understanding
- 拿到初始数据集,判断是否适合进一步处理
- 数据质量差 → 按更严格的标准重新收集
- 从数据中获得洞察,回头审视目标:DM 到底能不能用?
3) Data Preparation(预处理,让 ML 算法能跑)
Cleaning —— 真实世界的数据是:
| 问题 | 例子 | 对策 |
|---|---|---|
| Incomplete | 缺失值 | 填补缺失值 |
| Noisy | 含错误或离群点 | 平滑噪声、识别并移除离群点 |
| Inconsistent | 编码、名称不统一(如 NSW vs
New South Wales) |
消解不一致 |
Transformation —— 转成统一格式、转成新格式,执行 normalization、dimensionality reduction、feature selection。
老师原话:你本来是 machine learning engineer,突然就变成 data engineer 了。 日期格式(DD-MM-YYYY / MM-DD-YYYY / YYYY-MM-DD)必须统一,否则 pipeline 会崩。
4) Modelling
构建 ML 模型。
3) 和 4) 是携手进行的,有很多次迭代——模型的表现会反过来指导预处理策略(比如换一种 feature selection 或 dimensionality reduction,再重新建模)。
5) Evaluation(非常重要)
- 性能如何?accuracy、F1 measure 等
- 这些 pattern 是有意义有用的,还是只反映了虚假规律(spurious regularities)?
- 性能差 → 重新审视项目,回到步骤 1)
- 性能好 → 部署到实践中
6) Deployment
- 通常需要软件工程师把它集成进更大的软件系统
- 可能需要用另一种编程语言重新实现模型
- 老师的现实提醒:enterprise application 很难对付,因为不可定制。例:CommBank 十年前没有欺诈检测,后来做出方案还要往现有基础设施里塞。
- 持续维护本身也非常消耗资源:明天可能出现训练时没见过的新模式;昨天 4 个特征,今天发现需要第 5 个——一改结构就要从头再走一遍完整流程。
五、考点重点
- ML 与 DM 的区别:ML 是 AI 的核心部分;DM 是 applied ML,处理大规模多维数据;DM 用的大多数算法都在 ML 领域开发。
- 完整数据链条:data collection → raw data → cleaning & preparation → data mining → discovered patterns → interpretation & validation → useful knowledge → action。
- 好 pattern 的三条件:meaningful、useful、actionable。
- 三大任务类型:supervised(classification 离散 / regression 连续)、unsupervised(clustering)、reinforcement learning。要能对给定场景判断类型。
- Supervised 的定义:给定预标注样本
,学 ,可预测性地用于未见样本。要能解释"为什么叫 supervised"。 - Classification vs Regression 的判据:目标变量是 categorical 还是 numeric。
- Unsupervised 的两个优化目标:within-cluster distances minimized + between-cluster distances maximized。
- 两个关于领域知识的易错点:
- Supervised 里 label 由 domain expert 引入,不是原始观测的一部分。
- Unsupervised 里训练不需要标签,但解释簇的含义仍需 domain expert。
- DM process 六步:Business Understanding → Data Understanding → Data Preparation → Modelling → Evaluation → Deployment。记住它是迭代的,尤其 3) 和 4) 携手迭代,5) 性能差要回到 1)。
- Data preparation 的三类 cleaning 问题:incomplete、noisy、inconsistent。
- DM 的六个学科来源及各自贡献(Databases / IR / Statistics / AI / Algorithms / ML)。
- 报税作弊决策树(slide 35)——这个例子在后面几周会反复出现,把树的结构记住。