Skip to content

Commit 9586cfe

Browse files
deploy: update docs from openmlsys/openmlsys@00db02d
1 parent c7fa648 commit 9586cfe

108 files changed

Lines changed: 4249 additions & 1520 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

docs/404.html

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,18 @@
88

99

1010
<!-- Custom HTML head -->
11+
<script type="text/x-mathjax-config">
12+
MathJax.Hub.Config({
13+
"HTML-CSS": {
14+
availableFonts: ["TeX"],
15+
preferredFont: "TeX",
16+
webFont: "TeX"
17+
},
18+
SVG: {
19+
font: "TeX"
20+
}
21+
});
22+
</script>
1123

1224
<meta name="description" content="">
1325
<meta name="viewport" content="width=device-width, initial-scale=1">
@@ -30,8 +42,9 @@
3042

3143
<!-- Custom theme stylesheets -->
3244
<link rel="stylesheet" href="theme/dark-mode-images-d9c595d5.css">
33-
<link rel="stylesheet" href="theme/typst-e7733abe.css">
3445

46+
<!-- MathJax -->
47+
<script async src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
3548

3649
<!-- Provide site root and default themes to javascript -->
3750
<script>

docs/cn/404.html

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,18 @@
88

99

1010
<!-- Custom HTML head -->
11+
<script type="text/x-mathjax-config">
12+
MathJax.Hub.Config({
13+
"HTML-CSS": {
14+
availableFonts: ["TeX"],
15+
preferredFont: "TeX",
16+
webFont: "TeX"
17+
},
18+
SVG: {
19+
font: "TeX"
20+
}
21+
});
22+
</script>
1123

1224
<meta name="description" content="">
1325
<meta name="viewport" content="width=device-width, initial-scale=1">
@@ -30,15 +42,16 @@
3042

3143
<!-- Custom theme stylesheets -->
3244
<link rel="stylesheet" href="theme/dark-mode-images-3cd683db.css">
33-
<link rel="stylesheet" href="theme/typst-e7733abe.css">
3445

46+
<!-- MathJax -->
47+
<script async src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
3548

3649
<!-- Provide site root and default themes to javascript -->
3750
<script>
3851
const path_to_root = "";
3952
const default_light_theme = "light";
4053
const default_dark_theme = "navy";
41-
window.path_to_searchindex_js = "searchindex-526c3190.js";
54+
window.path_to_searchindex_js = "searchindex-2663fb80.js";
4255
</script>
4356
<!-- Start loading toc.js asap -->
4457
<script src="toc-31a2f041.js"></script>

docs/cn/appendix_machine_learning_introduction/classic_machine_learning.html

Lines changed: 36 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,18 @@
77

88

99
<!-- Custom HTML head -->
10+
<script type="text/x-mathjax-config">
11+
MathJax.Hub.Config({
12+
"HTML-CSS": {
13+
availableFonts: ["TeX"],
14+
preferredFont: "TeX",
15+
webFont: "TeX"
16+
},
17+
SVG: {
18+
font: "TeX"
19+
}
20+
});
21+
</script>
1022

1123
<meta name="description" content="">
1224
<meta name="viewport" content="width=device-width, initial-scale=1">
@@ -29,15 +41,16 @@
2941

3042
<!-- Custom theme stylesheets -->
3143
<link rel="stylesheet" href="../theme/dark-mode-images-3cd683db.css">
32-
<link rel="stylesheet" href="../theme/typst-e7733abe.css">
3344

45+
<!-- MathJax -->
46+
<script async src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
3447

3548
<!-- Provide site root and default themes to javascript -->
3649
<script>
3750
const path_to_root = "../";
3851
const default_light_theme = "light";
3952
const default_dark_theme = "navy";
40-
window.path_to_searchindex_js = "../searchindex-526c3190.js";
53+
window.path_to_searchindex_js = "../searchindex-2663fb80.js";
4154
</script>
4255
<!-- Start loading toc.js asap -->
4356
<script src="../toc-31a2f041.js"></script>
@@ -190,25 +203,25 @@ <h3 id="支持向量机"><a class="header" href="#支持向量机">支持向量
190203
Machine,SVM),是一种经典的机器学习分类算法,其核心思想在于最大化决策边界到数据点的距离。在这里,我们以线性可分数据为例;对于非线性可分的数据,运用<strong>核方法</strong>(Kernel
191204
Method)即可类似处理。</p>
192205
<p>如果训练数据是线性可分的,SVM的目标则是最大化<strong>间隔</strong>(Margin)。首先,我们先来定义最大化间隔的分类器,如下:
193-
$$min_(w,b) ~~~frac(1, 2) ||w||^2$$
194-
$$s.t. ~~~y_i (w^T x_i + b) &gt;= 1, ~~~forall 1 &lt;= i &lt;= n$$
206+
\[\min_{{w},b} ~~~\frac{1}{2} ||{w}||^2\]
207+
\[s.t. ~~~y_i ({w}^T {x_i} + b) \geq 1, ~~~\forall 1 \leq i \leq n\]
195208
其拉格朗日乘子为
196-
$$L(w,b,lambda) = frac(1, 2) ||w||^2 + sum_(i=1)^n lambda_i (1-y_i(w^T x_i + b))$$
197-
由于$frac(1, 2) ||w||^2$是凸的,并且$lambda_i (1-y_i(w^T x_i + b))$是线性的(也是凸的),所以优化问题的解为
198-
$$max_(lambda&gt;0) min_(w,b) L(w,b, lambda)$$
199-
$L$关于$w,b$的导数有
200-
$$nabla_(w) L= w - sum_(i=1)^n lambda_i y_i x_i$$
201-
$$nabla_b L = - sum_(i=1)^n lambda_i y_i$$
202-
$L$关于$w,b$的导数均为0得到,$w^* = sum_(i=1)^n lambda_i y_i x_i$以及$sum_(i=1)^n lambda_i y_i = 0$
203-
由于当$lambda$固定的时候,$b$的值对目标函数无贡献,所以可以令$b^* = 0$
209+
\[L({w},b,{\lambda}) = \frac{1}{2} ||{w}||^2 + \sum_{i=1}^n \lambda_i (1-y_i({w}^T {x_i} + b))\]
210+
由于\(\frac{1}{2} ||{w}||^2\)是凸的,并且\(\lambda_i (1-y_i({w}^T {x_i} + b))\)是线性的(也是凸的),所以优化问题的解为
211+
\[\max_{\lambda&gt;0} \min_{{w},b} L({w},b, {\lambda})\]
212+
\(L\)关于\({w},b\)的导数有
213+
\[\nabla_{{w}} L= {w} - \sum_{i=1}^n \lambda_i y_i {x_i}\]
214+
\[\nabla_b L = - \sum_{i=1}^n \lambda_i y_i\]
215+
\(L\)关于\({w},b\)的导数均为0得到,\({w}^* = \sum_{i=1}^n \lambda_i y_i {x_i}\)以及\(\sum_{i=1}^n \lambda_i y_i = 0\)
216+
由于当\(\lambda\)固定的时候,\(b\)的值对目标函数无贡献,所以可以令\(b^* = 0\)
204217
这时,由对偶性理论和KTT条件,我们得到:
205-
$$y_i (w^(<em>T) x_i + b^</em>) &gt; 1 =&gt; lambda_i^* = 0$$
206-
$$lambda_i^* &gt; 0 =&gt; y_i (w^(<em>T) x_i + b^</em>) = 1$$
207-
$$w^* = sum_(i=1)^n lambda_i^* y_i x_i$$
208-
如果$y_i (w^(<em>T) x_i + b^</em>) = 1$,那么$x_i$就是离超平面$(w^<em>,b^</em>)$最近的点之一,否则就不是。因此,$w^<em>$就是离超平面$(w^</em>,b^*)$最近的点$x_i$的线性组合。</p>
218+
\[y_i ({w}^{*T} {x_i} + b^*) &gt; 1 \Rightarrow \lambda_i^* = 0\]
219+
\[\lambda_i^* &gt; 0 \Rightarrow y_i ({w}^{*T} {x_i} + b^*) = 1\]
220+
\[{w}^* = \sum_{i=1}^n \lambda_i^* y_i {x_i}\]
221+
如果\(y_i ({w}^{*T} {x_i} + b^*) = 1\),那么\({x_i}\)就是离超平面\(({w}^*,b^*)\)最近的点之一,否则就不是。因此,\({w}^*\)就是离超平面\(({w}^*,b^*)\)最近的点\({x_i}\)的线性组合。</p>
209222
<p>如此,通过SVM算法,我们实现了数据的分类,并且能够最大化了决策边界到最近点的距离。
210-
我们定义满足$y_i (w^(<em>T) x_i + b^</em>) = 1$的$x_i$<strong>支持向量</strong>(Support
211-
Vectors),同时把分类器$hat(y)=s g n(w^(<em>T) x_i + b^</em>)$称为支持向量机。</p>
223+
我们定义满足\(y_i ({w}^{*T} {x_i} + b^*) = 1\)的\({x_i}\)<strong>支持向量</strong>(Support
224+
Vectors),同时把分类器\(\hat{y}=sgn({w}^{*T} {x_i} + b^*)\)称为支持向量机。</p>
212225
<h3 id="k最近邻算法"><a class="header" href="#k最近邻算法">K最近邻算法</a></h3>
213226
<p><strong>K最近邻算法</strong>(K-Nearest
214227
Neighbor,KNN)也是一种传统的机器学习算法,可用于分类、回归等基本的机器学习任务。和上面介绍的SVM算法不同,K最近邻算法的核心思想并不是用一个决策边界把属于不同类的数据分开,而是依靠每个数据点周围几个距离最近的数据的性质,来预测数据点本身的性质。</p>
@@ -218,23 +231,23 @@ <h3 id="k最近邻算法"><a class="header" href="#k最近邻算法">K最近邻
218231
<p>KNN算法有几个需要注意的关键问题,包括超参数K的选择,距离的度量方式,还有分类决策规则。对于超参数K,不宜过大,否则会导致很大的近似误差,反之亦不宜过小,否则会导致很大的估计误差。距离的度量,则可以选择曼哈顿距离、欧式距离和闵可夫斯基距离等等。为了降低K值对于预测结果产生的误差和影响,我们通常可以对分类决策规则做一定的规定,比如在投票决策时让距离小的点有更大的权重,距离较大的点权重较小。在编程实现KNN算法的时候,权重等参数都会以矩阵的形式进行运算,以提高运算效率。</p>
219232
<h3 id="k均值聚类算法"><a class="header" href="#k均值聚类算法">K均值聚类算法</a></h3>
220233
<p><strong>K均值聚类算法</strong>(K-Means Clustering
221-
Algorithm)是机器学习中一种常见的无监督聚类算法。在这里,我们首先定义聚类问题:给定数据点$x_1,dots.c, x_n in bb(R)^d$和$K in bb(N)$,需要划分为$K$个簇$C_1, dots.c, C_K in bb(R)^d$以及每个数据点所对应的分类中心点$C_((1)), dots.c, C_((n))$,以最小化距离和$sum_i ||x_i - C_((i))||^2$</p>
234+
Algorithm)是机器学习中一种常见的无监督聚类算法。在这里,我们首先定义聚类问题:给定数据点\({x_1},\cdots, {x_n} \in \mathbb{R}^d\)和\(K\in \mathbb{N}\),需要划分为\(K\)个簇\({C_1}, \cdots, {C_K} \in \mathbb{R}^d\)以及每个数据点所对应的分类中心点\({ C_{(1)}}, \cdots, {C_{(n)}}\),以最小化距离和\(\sum_i ||{x_i} - {C_{(i)}}||^2\)</p>
222235
<p>K均值聚类算法是一种解决聚类问题的算法,算法过程如下:</p>
223236
<ul>
224237
<li>
225-
<p>随机选择$C_1, dots.c, C_K$</p>
238+
<p>随机选择\({C_1}, \cdots, {C_K}\)</p>
226239
</li>
227240
<li>
228-
<p>$x_i$所对应的分类置为距离其最近的聚类中心点的分类</p>
241+
<p>\({x_i}\)所对应的分类置为距离其最近的聚类中心点的分类</p>
229242
</li>
230243
<li>
231-
<p>计算并赋值$C_K = frac(sum_(C_((i))=C_K) x_i, sum_(C_((i))=C_K) 1)$</p>
244+
<p>计算并赋值\({C_K} = \frac{\sum_{{C_{(i)}}={C_K}} {x_i}}{\sum_{{C_{(i)}}={C_K}} 1}\)</p>
232245
</li>
233246
<li>
234247
<p>重复以上步骤直到算法收敛</p>
235248
</li>
236249
</ul>
237-
<p>可以证明,K均值聚类算法会使得距离和$sum_i ||x_i - C_((i))||^2$不断地单调减小,并且最终能够收敛。不过,算法可能收敛到局部最小值。</p>
250+
<p>可以证明,K均值聚类算法会使得距离和\(\sum_i ||{x_i} - {C_{(i)}}||^2\)不断地单调减小,并且最终能够收敛。不过,算法可能收敛到局部最小值。</p>
238251
<p>本章结束语:</p>
239252
<p>在系统角度,机器学习的算法无论是什么算法,涉及到高维数据任务的现都是矩阵运算实现的。</p>
240253
<h2 id="参考文献"><a class="header" href="#参考文献">参考文献</a></h2>

0 commit comments

Comments
 (0)