CS229 Lesson 4 牛顿方法
课程视频地址:http://open.163.com/special/opencourse/machinelearning.html
课程主页:http://cs229.stanford.edu/
更具体的资料链接:https://www.jianshu.com/p/0a6ef31ff77a
笔记参考自中文翻译版:https://github.com/Kivy-CN/Stanford-CS-229-CN
这一讲介绍了牛顿法以及广义线性模型。
7.另一种最大化$ℓ(θ)$的算法回到logistic回归,其中$g(z)$是sigmoid函数,现在让我们讨论一种最大化$ℓ(θ)$的不同算法。
为了让我们开始,让我们考虑牛顿法来找到一个函数的零点。 具体来说,假设我们有某个函数$f:\mathbb R\to \mathbb R$,我们希望找到$θ$的值,使得$f(θ)= 0$。这里,$θ\in \mathbb R$是实数。 牛顿法执行以下更新:
\theta: =\theta -\frac{f(\theta)}{f'(\theta)}这种方法有一个自然的解释,我们可以 ...
CS231 第十一讲 图像识别和分割
课程视频地址:https://study.163.com/courses-search?keyword=CS231
课程主页:http://cs231n.stanford.edu/2017/
这一讲介绍了图像识别和分割。
之前我们介绍了图像识别问题,实际中还有图像分割,定位以及识别问题:
分割图像分割问题是给图像中每个像素打上标签,具体的形式如下:
一种处理图像分割问题的方法是使用滑动窗口——将图像拆成很多小块,然后给每个小块打上标签:
但是这个方法的问题是效率太低,比较好的方法是直接对整个图像做卷积操作:
但是这样做的结果是对第一层需要大量参数,为了解决这问题,可以使用下采样和上采样方法,对应的操作为池化(pooling)和去池化(unpooling):
去池化为池化的逆操作,比较常见的方法如下:
注意“Max Unpooling”和“Bed of Nails”不同,前者元素的位置是随机的,后者元素总是位于左上方。
注意这几种去池化方法没有参数可以学习,还有一种参数可学习的去池化方法——转置卷积(Transpose Convolution):
转置卷积的计算方法为将 ...
CS229 Lesson 3 欠拟合与过拟合的概念
课程视频地址:http://open.163.com/special/opencourse/machinelearning.html
课程主页:http://cs229.stanford.edu/
更具体的资料链接:https://www.jianshu.com/p/0a6ef31ff77a
笔记参考自中文翻译版:https://github.com/Kivy-CN/Stanford-CS-229-CN
这一讲介绍了局部加权回归,logistic回归以及感知机。
3. 概率解释当遇到回归问题时,为什么线性回归,特别是为什么最小二乘成本函数$J$是合理的选择呢? 在本节中,我们将给出一组概率假设,在该假设下,最小二乘回归是作为一种非常自然的算法推导出的。
让我们假设目标变量和输入通过如下等式关联起来
y^{(i)} =\theta^T x^{(i)} +\epsilon^{(i)}其中$\epsilon^{(i)}$是一个误差项,可以捕获不在模型中的影响(例如,如果有一些特征与预测住房价格非常相关,但我们没将其考虑在回归模型中)或随机噪声。让我们进一步假设$\epsilon ...
CS229 Lesson 2 监督学习应用.梯度下降
课程视频地址:http://open.163.com/special/opencourse/machinelearning.html
课程主页:http://cs229.stanford.edu/
更具体的资料链接:https://www.jianshu.com/p/0a6ef31ff77a
笔记参考自中文翻译版:https://github.com/Kivy-CN/Stanford-CS-229-CN
这一讲介绍了处理线性回归的梯度下降方法以及正规方程。
Part I 线性回归 为了让我们的房屋示例更有趣,让我们考虑一个稍微丰富的数据集,其中我们还知道每个房子的卧室数量:
这里,$x$是$\mathbb R^2$中的二维向量。 例如,$x^{(i)}_1$是训练集中第$i$个房屋的生活区域,$x^{(i)}_2$是其卧室数。 作为初始选择,假设我们决定将$y$近似为$x$的线性函数:
h_{\theta}(x)=\theta_0 +\theta_1 x_1+\theta_2x_2这里,$\theta_i$是参数(也称为权重),它们参数化从$\mathcal X ...
CS231 第十讲 循环神经网络
课程视频地址:https://study.163.com/courses-search?keyword=CS231
课程主页:http://cs231n.stanford.edu/2017/
这一讲介绍了循环神经网络(RNN)。
RNN基本概念RNN用于处理序列数据,根据输入输出的数量,RNN有如下几种形式
一般的RNN架构如下
每一步中,我们使用$t$时刻的输入$x_t$和$t-1$时刻的状态$h_{t-1}$计算$t$时刻的状态$h_t$,然后利用$h_t$计算输出$y_t$,所以$h_t$的公式如下
h_t = f_W(h_{t-1}, x_t)常见的形式如下
\begin{aligned}
h_t &=\tanh(W_{hh}h_t +W_{xh}x_t)\\
y_t &= W_{hy}h_t
\end{aligned}实际中,一般将第二张图片中的架构展开,这样更便于理解。
多对多
多对一
一对多
例子来看个生成字母的例子,假设字母为[h,e,l,o],可以利用如下网络生成字母
还有一个例子是Image Captioning,即给图像打标签,处理方法是现将图 ...
Michael Collins NLP Lecture 5
课程主页:http://www.cs.columbia.edu/~cs4705/
课程网盘地址:
链接:https://pan.baidu.com/s/1KijgO7yjL_MVCC9zKZ7Jdg提取码:t1i3
这一讲主要介绍了概率上下文无关文法(Probabilistic Context-Free Grammars (PCFGs))。
3.概率上下文无关文法(Probabilistic Context-Free Grammars (PCFGs))3.1 基本定义给定上下文无关文法$G$,我们将使用以下定义:
$\mathcal T_G $是语法$G$下所有可能的最左派生(解析树)的集合。当语法$G$在上下文中很清楚时,我们通常将其简写为$\mathcal T $。
对于任何派生$t\in \mathcal T_G $,我们用$\text{yield}(t)$来表示由$t$的产生的字符串$s\in \Sigma’$(即,$\text{yield}(t)$是$t$中的单词序列)。
对于给定的句子$s\in \Sigma’$,我们用$\mathcal T_G(s)$表示集合
...
CS231 第九讲 CNN架构
课程视频地址:https://study.163.com/courses-search?keyword=CS231
课程主页:http://cs231n.stanford.edu/2017/
这一讲介绍了一些CNN架构。
AlexNet第一个例子是AlexNet,其架构如下
上图中每一层拆成两部分是因为当时内存不够的原因。
VGGNetVGGNet相比AlexNet来说层数更多,其网络架构如下
GoogLeNetGoogLeNet考虑到计算的问题,利用Inception模块减少了很多参数,Inception模块是一个局部网络,GoogLeNet将很多个Inception模块组成一个大网络,其架构如下
每个Inception模块中进行了并行滤波操作,例如进行多个卷积操作以及池化操作
这样做有一个问题,就是参数会非常多,我们来看个具体例子
从上图中可以看出,如果利用之前所述的架构,那么每个Inception模块计算量就会很大。该问题的解决方案是首先利用$1\times 1$卷积核降低深度,效果如下
在实际中,还用了池化操作,优化后的网络结构如下
利用上述操作减少了大量参数 ...
CS231 第八讲 深度学习软件
课程视频地址:https://study.163.com/courses-search?keyword=CS231
课程主页:http://cs231n.stanford.edu/2017/
这一讲介绍了PyTorch和TensorFlow。
PyTorch和TensorFlow最主要的区别在于PyTorch建立的是动态图,而TensorFlow建立的是静态图:
静态图的特点是我们只建立一次图,然后不断复用,我们使用的框架会在运行之前优化计算图:
静态图另一个特点只要建立了图,就相当于构造了一个数据结构,可以将其保存下来,很方便的部署(不需要源代码),而动态图则需要保存代码。
不过在条件语句以及循环语句中,由于动态图使用的是语言本身的条件和循环语句,此时会方便很多:
CS231 第七讲 训练神经网络(下)
课程视频地址:https://study.163.com/courses-search?keyword=CS231
课程主页:http://cs231n.stanford.edu/2017/
这一讲继续介绍训练神经网络的一些技巧。
更好的优化之前我们介绍了随机梯度下降法,但是这个方法有一些问题——如果损失在某个方向降低很快,另一个方向降低很慢,那么图像如下
如果从红点出发,利用随机梯度下降法产生的结果非常震荡,这就会严重影响效率
另一个问题是,随机梯度下降很容易陷入局部最优点和马鞍点
还有一个问题是,随机梯度下降法很容易受到噪声干扰,这会让优化速度减慢
下面介绍几种处理上述问题的优化方法。
Momentum第一种方法是Momentum,其更新公式如下
\begin{aligned}
v_{t+1} &= \rho v_t + \nabla f(x_t) \\
x_{t+1}&= x_t -\alpha v_{t+1}
\end{aligned}伪代码如下
vx = 0
while True:
dx = compute_gradient(x)
vx = rho ...
Michael Collins NLP Lecture 4
课程主页:http://www.cs.columbia.edu/~cs4705/
课程网盘地址:
链接:https://pan.baidu.com/s/1KijgO7yjL_MVCC9zKZ7Jdg提取码:t1i3
这一讲主要介绍了语法解析(Parsing)以及上下文无关法(Context-Free Grammars)。
Chapter 3 概率上下文无关法(Probabilistic Context-Free Grammars (PCFGs))首先介绍语法解析问题,问题形式如下
语法解析的一个应用是机器翻译,因为不同语言中的语法有所不同,例如
本章介绍的概率上下文无关法为处理语法解析问题的一个常用方法,在此之前,我们先介绍上下文无关法(Context-Free Grammars)。
1.上下文无关法(Context-Free Grammars)1.1 基本定义上下文无关法(CFG)是一个四元组$G=(N,\Sigma,R,S)$,其中
$N$是一组有限的非终止符。
$\Sigma$一组有限的终止符。
$R$是形如$X\to Y_1Y_2…Y_n$的有限规则的集合,其中$X\ ...
Michael Collins NLP Lecture 3
课程主页:http://www.cs.columbia.edu/~cs4705/
课程网盘地址:
链接:https://pan.baidu.com/s/1KijgO7yjL_MVCC9zKZ7Jdg提取码:t1i3
这一讲主要介绍了标注问题和隐马尔可夫模型。
Chapter 2 标注问题和隐马尔可夫模型2.1 介绍在许多NLP问题中,我们希望对序列对进行建模。词性(POS)标注可能是此类问题中最早,最著名的例子。 在POS标注中,我们的目标是建立一个模型,其输入为句子,例如
\text{the dog saw a cat}其输出是标注序列
\begin{eqnarray*}
\text{D N V D N}\tag{2.1}
\end{eqnarray*}(这里我们使用D表示定冠词,N表示名词,V表示动词)。标签序列与输入句子的长度相同,因此为句子中的每个单词指定一个标签(在本例中D标注the,N标注dog,V标注saw,依此类推)。
我们将使用$x_1…x_n$来表示标注模型的输入:将其称为句子。在上面的例子中,我们的长度为$n=5$并且
x_1 =\text{ ...
台大实分析单元 22 Radon测度之微分
然后介绍Radon导数的性质。
$\mu$是定义在$\Omega\subset \mathbb R^n$上的Radon测度($\Omega$为开集),定义
\underline D \mu(x)=\underset {\Omega\supset B\to x}{\lim \inf} \frac {\mu(B)}{\lambda^n (B)}
=\lim_{\delta\to 0^+} \{\inf _{\delta B