机器学习


绪论

计算机学院    张腾

tengzhang@hust.edu.cn

课程安排

授课:张腾

时间:40 学时

  • 28 学时理论,周二 5 - 6、周四 1 - 2 节课 (2 - 8 周),西十二 N401
  • 12 学时实验,周二 9 - 12 节课 (5 - 7 周),南一楼 116

考核:

  • 实验:头歌平台,华为 MindSpore 平台
  • 期末:1 次大作业
参考书目

引言

小明机器学习小红??

引言

机器学习接管生活

引言

g 机器学习 机器学习 图像识别 图像识别 图像识别->机器学习 应用 人机博弈 人机博弈 人机博弈->机器学习 应用 自动驾驶 自动驾驶 自动驾驶->机器学习 应用 资讯推荐 资讯推荐 资讯推荐->机器学习 应用 文本分类 文本分类 文本分类->机器学习 应用 机器翻译 机器翻译 机器翻译->机器学习 应用 量化交易 量化交易 量化交易->机器学习 应用 智能导航 智能导航 智能导航->机器学习 应用

引言

g cluster_0 本课程 机器学习 机器学习 模型更迭 模型更迭 机器学习->模型更迭 学派兴衰 学派兴衰 机器学习->学派兴衰 发展历程 发展历程 机器学习->发展历程 时代背景 时代背景 机器学习->时代背景 图像识别 图像识别 图像识别->机器学习 应用 人机博弈 人机博弈 人机博弈->机器学习 应用 自动驾驶 自动驾驶 自动驾驶->机器学习 应用 资讯推荐 资讯推荐 资讯推荐->机器学习 应用 文本分类 文本分类 文本分类->机器学习 应用 机器翻译 机器翻译 机器翻译->机器学习 应用 量化交易 量化交易 量化交易->机器学习 应用 智能导航 智能导航 智能导航->机器学习 应用

与传统算法的区别

g cluster_1 cluster_11 传统计算机算法 cluster_2 cluster_21 机器学习算法 输入 输入 struct1 步骤1 步骤2 …… 步骤n 输入->struct1:s1 输出 输出 struct1:sn->输出 数据 (输入1, 输出1) (输入m, 输出m) struct2 步骤1 步骤2 …… 步骤n 数据->struct2:s1 算法 算法 struct2:sn->算法

机器学习算法是一种元算法 (meta algorithm)

寻龙诀

寻龙分金看缠山,一重缠是一重关,关门如有八重险,不出阴阳八卦形。发丘印,摸金符,搬山卸岭寻龙诀;人点蜡,鬼吹灯,勘舆倒斗觅星峰;水银癍,养明器,龙楼宝殿去无数;窨沉棺,青铜椁,八字不硬莫近前。入口为马,马为离卦;子鼠遇马为坎离;未羊遇马为坤离;戌狗遇马为乾离,上乾下离见生门。

寻龙诀

  • 传统计算机算法 (寻龙诀):山川地势 → 有无大墓
  • 机器学习算法:(山川地势, 有无大墓) 的成对数据 → 寻龙诀

机器学习算法早已用于分析遥感图像,检测石油矿产等资源

多学科交叉

动手实践

编程语言:Python (首选)、JuliaMatlab

机器学习必备的第三方开源扩展包

  • NumPy:针对高维矩阵、数组运算的数学函数库
  • pandas:用于操纵数值表格和时间序列的函数库
  • SciPy:用于最优化、线性代数、积分、插值的数学函数库
  • Matplotlib:绘图库
  • scikit-learn:机器学习库
  • TensorFlow:谷歌开发的神经网络函数库
  • PyTorch:脸书开发的神经网络函数库

第三方扩展包之间依赖关系复杂,新手推荐用 Anaconda

开发环境个人偏爱 VS Code

大纲

人工智能逻辑推理知识工程机器学习任务类型模型方法监督学习半监督学习无监督学习分类回归结构预测聚类降维密度估计符号学派连接学派统计学派类推学派决策树感知机对数几率回归神经网络朴素贝叶斯k-近邻支持向量机

背景

《旧唐书·魏徵传》

以铜为镜,可以正衣冠;

为镜,可以知兴替;

以人为镜,可以明得失。

背景

控制论之父维纳,1948 年出版《控制论》

第一次工业革命:用某种机器来减轻甚至代替体力劳动

上世纪中叶:用某种新型机器来减轻甚至代替脑力劳动

关键问题:如何让机器具有人类的智能?

维纳,Norbert Wiener,1894.11.26 - 1964.3.18,美国应用数学家,控制论之父

起源

计算机之父图灵

xx之父

  1. 开创性贡献
  2. 持久影响力
  3. 广泛性认可
  4. 系统性工作
  5. 领域奠基人

图灵,Alan Mathison Turing,1912.6.23 - 1954.6.7,英国计算机科学家、数学家、逻辑学家、密码分析学家和理论生物学家,计算机之父

起源

1950 年,Mind 杂志第 4 季度第 1 篇文章

计算机器与智能 Computing Machinery and Intelligence

计算机器与智能

I propose to consider the question, 'can machines think?'

七个章节

  1. 模仿游戏 (图灵测试):将抽象的“机器能否思考”化为一个具体的测试
  2. 对新问题的批评
  3. 模仿游戏中的机器
  4. 数字计算机:存储器、执行器、控制器
  5. 数字计算机的通用性
  6. 主要问题的争议:批判神学、鸵鸟式、数学等 9 个方面的异议
  7. 学习机器:起点在哪里?抽象的智力活动,如下棋;机器装备传感器,像孩子一样不断学习
达特茅斯会议

1956 年,人工智能元年,达特茅斯会议,十仙过海

人物关系

g 丘奇 丘奇 克门尼 克门尼 丘奇->克门尼 导师 图灵 图灵 丘奇->图灵 导师 麦卡锡 麦卡锡 克门尼->麦卡锡 老板 普林斯顿数学系 普林斯顿数学系 克门尼->普林斯顿数学系 母校 爱因斯坦 爱因斯坦 爱因斯坦->克门尼 助理 香农 香农 爱因斯坦->香农 同事 香农->图灵 交流 香农->麦卡锡 老板 明斯基 明斯基 香农->明斯基 老板 麦卡锡->普林斯顿数学系 母校 莱夫谢茨 莱夫谢茨 莱夫谢茨->麦卡锡 导师 塔克 塔克 莱夫谢茨->塔克 导师 纳什 纳什 塔克->纳什 导师 塔克->明斯基 导师 维纳 维纳 赛弗里奇 赛弗里奇 维纳->赛弗里奇 导师 明斯基->普林斯顿数学系 母校 西蒙 西蒙 赛弗里奇->西蒙 交流 冯诺伊曼 冯诺伊曼 摩根斯顿 摩根斯顿 冯诺伊曼->摩根斯顿 合作 摩根斯顿->西蒙 导师 纽厄尔 纽厄尔 西蒙->纽厄尔 导师 纽厄尔->普林斯顿数学系 母校

会议内容

正式确定人工智能 (artificial intelligence) 这个术语

七个研究方向:

  • 自动计算机,“自动”指的是可编程
  • 编程语言
  • 神经网络
  • 计算规模理论,即计算复杂性
  • 自我改进,即机器学习
  • 抽象
  • 随机性和创见性

干货:西蒙、纽厄尔的逻辑理论家 (logic theorist),第一个可运行的人工智能程序

五十年后再聚首

人工智能发展史

gantt todayMarker off dateFormat YYYY axisFormat %Y title 三次浪潮 section 萌芽时期 推理期: done, 1950, 1975 1950 图灵测试: 1950, milestone 1956 达特茅斯会议: 1956, milestone 1963 逻辑理论家证明《数学原理》中的52条定理: 1963, milestone 1975 西蒙、纽厄尔获图灵奖: 1975, milestone 知识期: done, 1965, 1990 1965 费根鲍姆研制DENDRAL: 1965, milestone 1969 知识系统兴起: 1969, milestone 1975 专家系统兴起: 1975, milestone 1994 费根鲍姆获图灵奖: 1994, milestone 学习期: active, 1984, 2030 1984 瓦利安特提出PAC学习框架: 1984, milestone 1985 珀尔提出贝叶斯网的信念传播算法: 1985, milestone 1986 反向传播算法被重新提出: 1986, milestone 1995 以支持向量机为代表的统计学习兴起: 1995, milestone 2010 瓦利安特获图灵奖: 2010, milestone 2011 珀尔获图灵奖: 2011, milestone 2012 深度学习兴起: 2012, milestone 2018 辛顿等获图灵奖: 2018, milestone
推理期

机器擅长固定套路的计算 vs. 人类擅长妙手偶得的推理

西蒙、纽厄尔设计了逻辑理论家程序

  • 1952 年证明了《数学原理》中的 38 条定理
  • 1963 年证明了《数学原理》中的 52 条定理,定理 2.85 的证明更巧妙
  • 西蒙、纽厄尔获得了 1975 年的图灵奖

衰退:

  • 并非所有问题都可以转换成逻辑推理问题
  • 十万步内无法证明两个连续函数之和还是连续函数
  • 数学家不认可机器证明的定理 (可能出于保护自己的饭碗)
王浩和吴文俊的工作

  • 1959 年王浩证明了《数学原理》中 150 条一阶逻辑定理和 200 条命题逻辑定理,关于高阶逻辑复杂性的研究启发了学生库克的 NP 理论
  • 1978 年吴文俊给出几何定理自动证明,国际上称为吴方法,吴文俊自称为数学机械化
谁说了实话

  • A:B 和 C 都是说谎者
  • B:A 和 C 都是说谎者
  • C:A 和 B 中至少有一个说谎者

根据 A 说实话与否有 (利用$p \rightarrow q \Longleftrightarrow \neg p \vee q$)

  • $A \rightarrow \neg B \wedge \neg C \Longleftrightarrow A \rightarrow \neg B, ~ A \rightarrow \neg C \Longleftrightarrow (1) ~ \neg A \vee \neg B, ~ (2) ~ \neg A \vee \neg C$
  • $\neg A \rightarrow B \vee C \Longleftrightarrow (3) ~ A \vee B \vee C$

根据 B 说实话与否有

  • $B \rightarrow \neg A \wedge \neg C \Longleftrightarrow B \rightarrow \neg A, ~ B \rightarrow \neg C \Longleftrightarrow (4)~\neg B \vee \neg C$

根据 C 说实话与否有

  • $C \rightarrow \neg A \vee \neg B \Longleftrightarrow (5)~\neg A \vee \neg B \vee \neg C$
  • $\neg C \rightarrow A \wedge B \Longleftrightarrow (6)~A \vee C, ~ (7) ~ B \vee C$
归结原理

  1. $\neg A \vee \neg B$
  2. $\neg A \vee \neg C$
  3. $A \vee B \vee C$
  4. $\neg B \vee \neg C$
  5. $\neg A \vee \neg B \vee \neg C$
  6. $A \vee C$
  7. $B \vee C$

利用归结原理 $p \vee q, ~ \neg p \vee r \Longrightarrow q \vee r$ 消除变量$p$

  1. 1 + 7:$\neg A \vee C$
  2. 6 + 8:$C$,C 是老实人
  3. 2 + 8:$\neg A$,A 是说谎者
  4. 4 + 9:$\neg B$,B 是说谎者
知识期

教训:光会逻辑推理还不够,机器得拥有知识

信仰:知识就是力量

专家系统 = 知识库 + 推理机,在特定领域内具有专家水平解决问题的能力

  • DENDRAL:通过分析化合物质谱与核磁共振数据推测化学结构
  • MYCIN:诊断血液和其他细菌感染并推荐抗生素药物种类和剂量
  • XCON:自动完成订单中计算机部件的选择和布局设计
  • 知识工程之父费根鲍姆获得了 1994 年的图灵奖

衰退:

  • 人工构建知识库成本太高,专业知识需相关领域的专家来提供
  • 人类的很多智能行为,无法描述其背后的知识
动物识别专家系统

g cluster_0 知识库 cluster_1 推理 是否冷血 是否冷血 是否有羽毛 是否有羽毛 是否冷血->是否有羽毛 是否有腿 是否有腿 是否冷血->是否有腿 是否会飞 是否会飞 是否有羽毛->是否会飞 是否有羽毛->猫 是否有腿->蛇 蜥蜴 蜥蜴 是否有腿->蜥蜴 是否会飞->鸡 NULL NULL 是否会飞->NULL 没羽毛 没羽毛 ??? ??? 没羽毛->??? 不冷血 不冷血 不冷血->???

图像知识

我们人类是如何识别这些手写数字的?

文本知识

我们人类是如何判断这首词的情感的?

明月几时有?把酒问青天。不知天上宫阙,今夕是何年。我欲乘风归去,又恐琼楼玉宇,高处不胜寒。起舞弄清影,何似在人间。

转朱阁,低绮户,照无眠。不应有恨,何事长向别时圆?人有悲欢离合,月有阴晴圆缺,此事古难全。但愿人长久,千里共婵娟。

语音知识

我们人类是如何听出下面这段语音的?

启示:让机器从数据中自动学习得到知识