Skip to content

Commit

Permalink
A4打印版更新
Browse files Browse the repository at this point in the history
  • Loading branch information
fengdu78 committed Mar 29, 2018
1 parent f132927 commit 2528b1f
Show file tree
Hide file tree
Showing 24 changed files with 61 additions and 72 deletions.
1 change: 0 additions & 1 deletion _config.yml

This file was deleted.

Binary file removed docx/week1.docx
Binary file not shown.
Binary file removed docx/week10.docx
Binary file not shown.
Binary file removed docx/week2.docx
Binary file not shown.
Binary file removed docx/week3.docx
Binary file not shown.
Binary file removed docx/week4.docx
Binary file not shown.
Binary file removed docx/week5.docx
Binary file not shown.
Binary file removed docx/week6.docx
Binary file not shown.
Binary file removed docx/week7.docx
Binary file not shown.
Binary file removed docx/week8.docx
Binary file not shown.
Binary file removed docx/week9.docx
Binary file not shown.
Binary file not shown.
Binary file modified docx/机器学习个人笔记完整版v5.1.docx
Binary file not shown.
Binary file removed docx/机器学习个人笔记完整版v5.docx
Binary file not shown.
32 changes: 15 additions & 17 deletions html/week10.html

Large diffs are not rendered by default.

28 changes: 13 additions & 15 deletions html/week5.html

Large diffs are not rendered by default.

10 changes: 4 additions & 6 deletions html/week7.html

Large diffs are not rendered by default.

36 changes: 17 additions & 19 deletions html/week9.html

Large diffs are not rendered by default.

8 changes: 4 additions & 4 deletions markdown/week5.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,13 @@

首先引入一些便于稍后讨论的新标记方法:

假设神经网络的训练样本有m个,每个包含一组输入$x$和一组输出信号$y$,$L$表示神经网络层数,$S_I$表示每层的**neuron**个数($S_l$表示输出层神经元个数),$S_L$代表最后一层中处理单元的个数。
假设神经网络的训练样本有$m$个,每个包含一组输入$x$和一组输出信号$y$,$L$表示神经网络层数,$S_I$表示每层的**neuron**个数($S_l$表示输出层神经元个数),$S_L$代表最后一层中处理单元的个数。

将神经网络的分类定义为两种情况:二类分类和多类分类,

二类分类:$S_L=0, y=0\, or\, 1$表示哪一类;

$K$类分类:$S_L=k, y_i = 1$表示分到第i类;$(k>2)$
$K$类分类:$S_L=k, y_i = 1$表示分到第$i$类;$(k>2)$

![](../images/8f7c28297fc9ed297f42942018441850.jpg)

Expand All @@ -26,14 +26,14 @@ $K$类分类:$S_L=k, y_i = 1$表示分到第i类;$(k>2)$
$ J\left(\theta \right)=-\frac{1}{m}\left[\sum_\limits{i=1}^{m}{y}^{(i)}\log{h_\theta({x}^{(i)})}+\left(1-{y}^{(i)}\right)log\left(1-h_\theta\left({x}^{(i)}\right)\right)\right]+\frac{\lambda}{2m}\sum_\limits{j=1}^{n}{\theta_j}^{2} $


在逻辑回归中,我们只有一个输出变量,又称标量(scalar),也只有一个因变量$y$,但是在神经网络中,我们可以有很多输出变量,我们的$h_\theta(x)$是一个维度为$K$的向量,并且我们训练集中的因变量也是同样维度的一个向量,因此我们的代价函数会比逻辑回归更加复杂一些,为:$\newcommand{\subk}[1]{ #1_k }$
在逻辑回归中,我们只有一个输出变量,又称标量(**scalar**),也只有一个因变量$y$,但是在神经网络中,我们可以有很多输出变量,我们的$h_\theta(x)$是一个维度为$K$的向量,并且我们训练集中的因变量也是同样维度的一个向量,因此我们的代价函数会比逻辑回归更加复杂一些,为:$\newcommand{\subk}[1]{ #1_k }$
$$h_\theta\left(x\right)\in \mathbb{R}^{K}$$ $${\left({h_\theta}\left(x\right)\right)}_{i}={i}^{th} \text{output}$$

$J(\Theta) = -\frac{1}{m} \left[ \sum\limits_{i=1}^{m} \sum\limits_{k=1}^{k} {y_k}^{(i)} \log \subk{(h_\Theta(x^{(i)}))} + \left( 1 - y_k^{(i)} \right) \log \left( 1- \subk{\left( h_\Theta \left( x^{(i)} \right) \right)} \right) \right] + \frac{\lambda}{2m} \sum\limits_{l=1}^{L-1} \sum\limits_{i=1}^{s_l} \sum\limits_{j=1}^{s_l+1} \left( \Theta_{ji}^{(l)} \right)^2$

这个看起来复杂很多的代价函数背后的思想还是一样的,我们希望通过代价函数来观察算法预测的结果与真实情况的误差有多大,唯一不同的是,对于每一行特征,我们都会给出$K$个预测,基本上我们可以利用循环,对每一行特征都预测$K$个不同结果,然后在利用循环在$K$个预测中选择可能性最高的一个,将其与$y$中的实际数据进行比较。

正则化的那一项只是排除了每一层$\theta_0$后,每一层的$\theta$ 矩阵的和。最里层的循环$j$循环所有的行(由$s_l$ +1 层的激活单元数决定),循环i则循环所有的列,由该层($s_l$层)的激活单元数所决定。即:$h_\theta(x)$与真实值之间的距离为每个样本-每个类输出的加和,对参数进行**regularization****bias**项处理所有参数的平方和。
正则化的那一项只是排除了每一层$\theta_0$后,每一层的$\theta$ 矩阵的和。最里层的循环$j$循环所有的行(由$s_l$ +1 层的激活单元数决定),循环$i$则循环所有的列,由该层($s_l$层)的激活单元数所决定。即:$h_\theta(x)$与真实值之间的距离为每个样本-每个类输出的加和,对参数进行**regularization****bias**项处理所有参数的平方和。

### 9.2 反向传播算法

Expand Down
2 changes: 1 addition & 1 deletion markdown/week7.md
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@ $C$ 较小时,相当于$\lambda$较大,可能会导致低拟合,高偏差

本节课中我们略去了一步,那就是我们在幻灯片中给出的优化问题。为什么会是这样的?它是如何得出大间距分类器的?我在本节中没有讲解,在下一节课中,我将略述这些问题背后的数学原理,来解释这个优化问题是如何得到一个大间距分类器的。

### 12.3 数学背后的大边界分类(可选
### 12.3 数学背后的大边界分类(选修

参考视频: 12 - 3 - Mathematics Behind Large Margin Classification (Optional) (20 min).mkv

Expand Down
8 changes: 4 additions & 4 deletions markdown/week8.md
Original file line number Diff line number Diff line change
Expand Up @@ -192,7 +192,7 @@ $$J(c^{(1)},...,c^{(m)},μ_1,...,μ_K)=\dfrac {1}{m}\sum^{m}_{i=1}\left\| X^{\le

下面给出主成分分析问题的描述:

问题是要将n维数据降至k维,目标是找到向量$u^{(1)}$,$u^{(2)}$,...,$u^{(k)}$使得总的投射误差最小。主成分分析与线性回顾的比较:
问题是要将$n$维数据降至$k$维,目标是找到向量$u^{(1)}$,$u^{(2)}$,...,$u^{(k)}$使得总的投射误差最小。主成分分析与线性回顾的比较:

主成分分析与线性回归是两种不同的算法。主成分分析最小化的是投射误差(**Projected Error**),而线性回归尝试的是最小化预测误差。线性回归的目的是预测结果,而主成分分析不作任何预测。

Expand All @@ -216,13 +216,13 @@ $$J(c^{(1)},...,c^{(m)},μ_1,...,μ_K)=\dfrac {1}{m}\sum^{m}_{i=1}\left\| X^{\le

第一步是均值归一化。我们需要计算出所有特征的均值,然后令 $x_j= x_j-μ_j$。如果特征是在不同的数量级上,我们还需要将其除以标准差 $σ^2$。

第二步是计算**协方差矩阵**(covariance matrix)$Σ$:
第二步是计算**协方差矩阵****covariance matrix**)$Σ$:
$\sum=\dfrac {1}{m}\sum^{n}_{i=1}\left( x^{(i)}\right) \left( x^{(i)}\right) ^{T}$


第三步是计算协方差矩阵Σ的**特征向量**(eigenvectors):
第三步是计算协方差矩阵$Σ$的**特征向量****eigenvectors**):

**Octave** 里我们可以利用**奇异值分解**(singular value decomposition)来求解,`[U, S, V]= svd(sigma)`
**Octave** 里我们可以利用**奇异值分解****singular value decomposition**)来求解,`[U, S, V]= svd(sigma)`

![](../images/0918b38594709705723ed34bb74928ba.png)
$$Sigma=\dfrac {1}{m}\sum^{n}_{i=1}\left( x^{(i)}\right) \left( x^{(i)}\right) ^{T}$$
Expand Down
8 changes: 3 additions & 5 deletions markdown/week9.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,13 +42,11 @@ $$

$x^{(i)} = {用户的第i个活动特征}$

模型$p(x)$ 为我们其属于一组数据的可能性

通过$p(x) < \varepsilon$检测非正常用户。
模型$p(x)$ 为我们其属于一组数据的可能性,通过$p(x) < \varepsilon$检测非正常用户。

异常检测主要用来识别欺骗。例如在线采集而来的有关用户的数据,一个特征向量中可能会包含如:用户多久登录一次,访问过的页面,在论坛发布的帖子数量,甚至是打字速度等。尝试根据这些特征构建一个模型,可以用这个模型来识别那些不符合该模式的用户。

再一个例子是检测一个数据中心,特征可能包含:内存使用情况,被访问的磁盘数量,CPU的负载,网络的通信量等。根据这些特征可以构建一个模型,用来判断某些计算机是不是有可能出错了。
再一个例子是检测一个数据中心,特征可能包含:内存使用情况,被访问的磁盘数量,**CPU**的负载,网络的通信量等。根据这些特征可以构建一个模型,用来判断某些计算机是不是有可能出错了。

### 15.2 高斯分布

Expand Down Expand Up @@ -98,7 +96,7 @@ $p(x)=\prod\limits_{j=1}^np(x_j;\mu_j,\sigma_j^2)=\prod\limits_{j=1}^1\frac{1}{\

![](../images/82b90f56570c05966da116c3afe6fc91.jpg)

我们选择一个$\varepsilon$,将$p(x) = \varepsilon$作为我们的判定边界,当$p(x) > \varepsilon$时预测数据为正常数据,否则则为异常
我们选择一个$\varepsilon$,将$p(x) = \varepsilon$作为我们的判定边界,当$p(x) > \varepsilon$时预测数据为正常数据,否则为异常

在这段视频中,我们介绍了如何拟合$p(x)$,也就是 $x$的概率值,以开发出一种异常检测算法。同时,在这节课中,我们也给出了通过给出的数据集拟合参数,进行参数估计,得到参数 $\mu$ 和 $\sigma$,然后检测新的样本,确定新样本是否是异常。

Expand Down
Binary file not shown.
Binary file removed 机器学习个人笔记完整版v5.pdf
Binary file not shown.

0 comments on commit 2528b1f

Please sign in to comment.