Skip to content

Commit

Permalink
chapter 1-3
Browse files Browse the repository at this point in the history
  • Loading branch information
zhanhao93 committed Jun 12, 2020
1 parent d79065c commit 05030e5
Show file tree
Hide file tree
Showing 9 changed files with 180 additions and 1 deletion.
Binary file added docs/.DS_Store
Binary file not shown.
65 changes: 64 additions & 1 deletion docs/README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,63 @@
# 《机器学习理论导引》NOTES
<<<<<<< HEAD
# 钥匙书 Key-book

周志华、王魏、高尉、张利军等老师所著的**《机器学习理论导引》**一书(下称《导引》),填补国内缺少机器学习理论入门著作的遗憾。该书试图以通俗易懂的语言,为有志于学习机器学习理论和研究机器学习理论的读者提供一个入门的导引。《导引》主要涵盖七个部分,分别对应机器学习理论中的七个重要概念或理论工具,即:**可学性、(假设空间)复杂度、泛化界、稳定性、一致性、收敛率、遗憾界**

《导引》是一本理论性较强的书籍,涉及大量的数学定理和各种证明。尽管撰写团队已尽可能降低了难度,但由于机器学习理论学习本身的特性,该书仍然对读者的数学背景提出了较高的要求。这难免会导致不求甚解的情形,影响学习效果;另一方面,由于篇幅所限,该书写作较为精炼,并非在各个章节都给出示例。读者每每遇到晦涩抽象之处,难免冥思苦索。

基于此两点,我们决定尝试编辑《钥匙书》这一参考笔记,来对《导引》一书作一些浅陋且皮毛的注脚。这既是着眼于那些阅读《导引》时遇到困难的读者,助其更快地走出迷雾;亦是对学习《导引》一书之过程的最好记录。

## 使用说明

- 《钥匙书》的补充性工作,主要包括四个方面:

(1)**证明补充**:对部分证明的证明思路进行解释,对部分省略的证明过程进行补充。

(2)**案例补充**:增加解释案例,帮助读者理解。

(3)**概念补充**:介绍部分文中涉及、但未阐释的概念。

(4)**参考文献讲解**:对部分重要的参考文献进行介绍。

此外,由于《导引》一书的第一章节为基础知识补遗,简明易懂,因此《钥匙书》的内容从《导引》的第二章开始。

### 在线阅读(内容实时更新)
地址:https://datawhalechina.github.io/key-book/



### 目录

- 第1章 [绪论](https://datawhalechina.github.io/key-book/#/chapter1/chapter1)
- 第2章 [可学性](https://datawhalechina.github.io/key-book/#/chapter2/chapter2)
- 第3章 [复杂度](https://datawhalechina.github.io/key-book/#/chapter3/chapter3)
- 第4章 泛化界
- 第5章 稳定性
- 第6章 一致性
- 第7章 收敛率
- 第8章 遗憾界
- 第9章 总结

### 选用的《机器学习理论导引》版本

<img src="https://raw.githubusercontent.com/datawhalechina/key-book/master/res/mlt.jpg" width="150" height= "175">

> 版次:2020年6月第1版<br>
## 编委会
| 职责 | 名单 |
| :---: | :---: |
| **主编** | [@HaoZHAN](https://github.com/zhanhao93) |
| **编委** | [@MaolinWANG](https://github.com/mlw67) [@leafy-lee](https://github.com/leafy-lee) [@YiwenYANG](https://github.com/youngfish42) [@Sm1les](https://github.com/Sm1les) |



## 关注我们

<div align=center>
<p>扫描下方二维码,然后回复关键词“钥匙书”,即可加入“钥匙书读者交流群”</p>
=======
# 《机器学习理论导引》NOTES
---

## 第一章:序言
Expand Down Expand Up @@ -74,8 +132,13 @@

## 关注我们
<div align=center>
>>>>>>> 321475f89305b0e3e2c4a4f9bdbbab899952cda1
<img src="https://raw.githubusercontent.com/datawhalechina/pumpkin-book/master/res/qrcode.jpeg" width = "250" height = "270" alt="Datawhale——一个专注于AI领域的开源组织">
</div>
## LICENSE
<<<<<<< HEAD

=======
>>>>>>> 321475f89305b0e3e2c4a4f9bdbbab899952cda1
<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/"><img alt="知识共享许可协议" style="border-width:0" src="https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png" /></a><br />本作品采用<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/">知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议</a>进行许可。
76 changes: 76 additions & 0 deletions docs/chapter1/chapter1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
# 《机器学习理论导引》NOTES

---

## 第一章:序言

*Edit: Hao ZHAN*

*Update: 06/08/2020*

---

## 1.关于《机器学习理论导引》

近年来,机器学习备受关注,机器学习的相关课程与教材可谓汗牛充栋。就国内教材而言,周志华的**《机器学习》**和李航的**《统计学习方法》**已然成为了广大学子入门机器学习的宝典。而 Mitchell 的 ***Machine Learning***, Duda 等人的 ***Pattern Classification***, Alpaydin 的 ***Introduction to Machine Learning***,则提供了一些古典风格的路径选择。若有更深入的需求, Bishop 的 ***Pattern Recognition and Machine Learning***, Murphy 的 ***Machine Learning - A Probabilistic Perspective***,Hastie 等人的 ***The Elements of Statistical Learning***,则可以系统性地给学习者提供帮助。以上的这些书籍还仅仅是广大学习材料中的一隅,似乎可以说无论国内精品,亦或海外译丛,都已不再缺乏。

然而,若是以**机器学习理论**的视角来考察国内的学习材料,则可以得出不同的结论。与上述描述机器学习算法(Machine Learning Algorithm)的著作不同,关注机器学习理论(Machine Learning Theory)书籍似乎并没有得到多少讨论。尽管在上述的这些著作中,或多或少都展开了对于理论的探讨,但篇幅极为有限——或为些许独立篇章,或为一点只言片语,难以满足广大学子理论学习、研究之渴求。

过去,机器学习理论的经典教材多以英文写作。上世纪末,围绕统计学习理论所展开的一系列讨论,产出了诸多经典文献。较为著名的有 Vapnik 的 ***The Nature of Statistical Learning Theory******Statistical Learning Theory***,以及 Devroye 等人的 ***A Probabilistic Theory of Pattern Recognition***。一些近期的讨论则是来自于 Shalev-Shwartz 和 Ben-David 的 ***Understanding Machine Learning***,以及 Mohri 等人的 ***Foundations of Machine Learning***。尽管 Vapnik 的两本著作,以及 ***Foundations of Machine Learning*** 都已有了优质的译作,但以中文来写作的、属于我们自己的机器学习理论入门著作的缺乏,仍旧是一个不大不小的遗憾。

而现在,周志华、王魏、高尉、张利军等老师所著的**《机器学习理论导引》**一书(下称《导引》),则填补这个空白。该书试图以通俗易懂的语言,为有志于学习机器学习理论和研究机器学习理论的读者提供一个入门的导引。该书主要涵盖七个部分,分别对应机器学习理论中的七个重要概念或理论工具,即:**可学性、(假设空间)复杂度、泛化界、稳定性、一致性、收敛率、遗憾界**

学习机器学习理论虽不如学习机器学习算法那样,可以立即将所学付诸应用。但只要砥砺前行、深入学习,则不仅可领悟机器学习中的重要思想,亦可体会机器学习之奥妙。<sup>[1]</sup>

## 2.关于《机器学习理论导引》NOTES

《导引》的NOTES,在团队内部又被戏称为《钥匙书》。《钥匙书》一名,取自《导引》一书的戏称——《宝箱书》,暗含抱关执钥,助诸位读者解惑之意。《导引》是一本理论性较强的书籍,涉及大量的数学定理和各种证明。尽管撰写团队已尽可能降低了难度,但由于机器学习理论学习本身的特性,该书仍然对读者的数学背景提出了较高的要求。这难免会导致不求甚解的情形,影响学习效果;另一方面,由于篇幅所限,该书写作较为精炼,并非在各个章节都给出示例。读者每每遇到晦涩抽象之处,难免冥思苦索。

基于此两点,我们决定尝试编辑《钥匙书》这一参考笔记,来对《导引》一书作一些浅陋且皮毛的注脚。这既是着眼于那些阅读《导引》时遇到困难的读者,助其更快地走出迷雾;亦是对学习《导引》一书之过程的最好记录。

《钥匙书》的补充性工作,主要包括四个方面:

(1)**证明补充**:对部分证明的证明思路进行解释,对部分省略的证明过程进行补充。

(2)**案例补充**:增加解释案例,帮助读者理解。

(3)**概念补充**:介绍部分文中涉及、但未阐释的概念。

(4)**参考文献讲解**:对部分重要的参考文献进行介绍。

此外,由于《导引》一书的第一章节为基础知识补遗,简明易懂,因此《钥匙书》的内容从《导引》的第二章开始。



## 3.项目更新计划

项目组会优先完成「证明补充」、「案例补充」和「概念补充」的内容。「参考文献讲解」则在前三项工作完成后统一进行。更新计划如下:

​ 2020/06/10:第2章、第3章

​ 2020/07/10:第4章、第5章

​ 2020/08/10:第6章、第7章

​ 2020/09/10:第8章、总结



## 4.项目成员

王茂霖:第2章、第3章内容的编辑

李一飞:第2章、第3章内容的编辑

杨昱文:部分内容的编辑

谢文睿:技术支持

詹 好:项目规划与统筹;第2章、第3章内容的编辑



---

[1] 关于学习理论的作用,可参阅《机器学习理论导引》1.5节内容。

Binary file added docs/chapter2/.DS_Store
Binary file not shown.
22 changes: 22 additions & 0 deletions docs/chapter2/chapter2.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,11 @@ $$
可分性的严格性是指,其需要对于所有的样本都可分。有时,由于噪声或者异常值的影响,数据并非完全可区分的,算法只能区分绝大多数的样本。因此可分性没有完全地定义了学习算法的有效性。

其次,可分性仅仅表示了学习算法的能力上限。例如,当我们在线性模型中使用高斯核技巧时,能够对任意二分类样本进行区分(维度为无穷)。但从这样一个庞大的假设空间中找到正确对应的映射函数却十分困难。这在深度学习中表现的最为明显。在这个意义上,可分性仅仅表示了学习算法能力上限而已。
<<<<<<< HEAD

=======

>>>>>>> 321475f89305b0e3e2c4a4f9bdbbab899952cda1

## 3.【概念补充】关于$size(c)$
Expand All @@ -99,7 +103,11 @@ $$

**P27**介绍了时间复杂度和样本复杂度的概念,在此对二者的等价性进行补充。

<<<<<<< HEAD
由于不同的机器、操作系统都会带来完全不一样的运行时间,因此在考察时间复杂度时通常会使用抽象机。抽象机通常是抽象意义上的图灵机或实体意义上的图灵机。在该抽象机中,时间复杂度被定义为了「需要执行的“操作”数量」(关于时间复杂度的严谨表述,见附录)。
=======
由于不同的机器、操作系统都会带来完全不一样的运行时间,因此在考察时间复杂度时通常会使用抽象机。抽象机通常是抽象意义上的图灵机或实体意义上的图灵机。在该抽象机中,时间复杂度被定义为了「需要执行的“操作”数量」。[^1]
>>>>>>> 321475f89305b0e3e2c4a4f9bdbbab899952cda1
一般学习问题是否可以有效解决的问题,取决于如何将其分解为一系列特定的学习问题。考虑学习有限假设类的问题,例如训练示例的数量为 $m_H(\epsilon,δ)= log(|\mathcal{H}|/δ)/\epsilon^2$ 的数量级的情况。如果,对一个 $h$ 评估会花费固定的时间,那么久可以通过对 $\mathcal{H}$ 进行详尽搜索,在时间 $O(|H|m_H(\epsilon,δ))$ 内完成这项任务。对于任何固定的有限假设类 $H$,穷举搜索算法都可以在在多项式时间内运行。如果问题序列 $|H_n| = n$ ,那么穷举搜索被认为是高效的;如果 $|H_n| = 2 n$ ,则样本复杂度是 $n$ 的多项式,而穷举搜索算法的计算复杂度随 $n$ 呈指数增长。此时,穷举搜索被认为是低效的。

Expand Down Expand Up @@ -163,6 +171,19 @@ $$

## 部分参考文献

<<<<<<< HEAD
[1] Understanding Machine Learning:3.1,8.1

[2] Foundations of Machine Learning:2

[3] An Introduction to Computational Learning Theory:1.2



---

## 附录:时间复杂度严谨描述
=======
Understanding Machine Learning:3.1,8.1

Foundations of Machine Learning:2
Expand All @@ -176,6 +197,7 @@ An Introduction to Computational Learning Theory:1.2


[^1]:**时间复杂度严谨描述**
>>>>>>> 321475f89305b0e3e2c4a4f9bdbbab899952cda1
我们分两个步骤定义学习的复杂性。我们考虑固定学习问题的计算复杂性(由三元组 $(Z, H, \mathcal{l})$ ——学习数据集 (domain set) ,基准假设类 (benchmark hypothesis class) 和损失函数确定)。然后,在第二步中,我们考虑一系列此类任务的复杂度变化情况。

Expand Down
Binary file added docs/chapter3/.DS_Store
Binary file not shown.
18 changes: 18 additions & 0 deletions docs/chapter3/chapter3.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,25 @@

这里用 $R^2$ 空间的示例进一步介绍打散的概念,以二维空间 $R^2$ 来说,一条任意的直线 $w_1x_1+w_2x_2+b=0$ 对于任意的三个点实现的对分(二分类)的所有情形如下:

<<<<<<< HEAD


<center><img src="https://raw.githubusercontent.com/datawhalechina/key-book/master/docs/chapter3/images/shattering.png" width= "600"/></center>
=======
![Alt text](/Users/zhanhao/Documents/BookNotes/机器学习理论导引/前三章/宝箱书补充_Part2&3_ML67/1591338505484.png)
>>>>>>> 321475f89305b0e3e2c4a4f9bdbbab899952cda1
可以发现,使用二维平面 $R^2$ 中的一条直线 $sign(wx+b)$ 可以实现三点的所有对分。

同样,考察四个点的情况,发现直线 $sign(wx+b)$ 并不能够实现对任意四点的对分。

例如,异或(XOR)问题:

<<<<<<< HEAD
<center><img src="https://raw.githubusercontent.com/datawhalechina/key-book/master/docs/chapter3/images/xor.png" width= "300"/></center>
=======
![Alt text](/Users/zhanhao/Documents/BookNotes/机器学习理论导引/前三章/宝箱书补充_Part2&3_ML67/1591343633291.png)
>>>>>>> 321475f89305b0e3e2c4a4f9bdbbab899952cda1
因此,根据VC维的定义, $sign(wx+b)$ 这样一个 $R^2$ 中的非齐次超平面的VC维为3。而对于齐次超平面 $sign(wx)$ ,由于其必须过原点,所以只能满足对任意两点的对分,因此其VC维为2。

Expand Down Expand Up @@ -66,9 +76,17 @@

## 部分参考文献

<<<<<<< HEAD
[1] Understanding Machine Learning:3

[2] Foundations of Machine Learning:3,4

[3] Statistical Learning Theory:9.2
=======
Understanding Machine Learning:3

Foundations of Machine Learning:3,4

Statistical Learning Theory:9.2

>>>>>>> 321475f89305b0e3e2c4a4f9bdbbab899952cda1
Binary file added docs/chapter3/img/shattering.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/chapter3/img/xor.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 05030e5

Please sign in to comment.