Stanford 机器学习笔记 Week4 Neural Networks: Representation

Motivations

Non-linear Hypotheses

线性回归不能解决的问题:

在分类问题中,分类边界实际上是一个由各个参数构成的多项式。当参数很少时(比如只有x1,x2),多项式

还可以构造出来,但是当参数很多(假设有x1….x100),构造出的多项式的项数将非常多。对于n个参数的2

次多项式,项数大约是n^2/2个。

一个问题:给定一幅图,如何确定是不是一辆汽车?

一种方法是把图片的每个像素点作为一个参数,该点的亮度是这个参数的值,这样训练集就构成了。一个

100*100分辨率的图,如果使用线性回归的话,分类边界多项式将有大约5 * 10^7项。

Neurons and the Brain

神经网络是一种模拟大脑的算法。在80s和90s非常火,90s末期热度下降,近年因为硬件计算能力的提升,

再次成为热点。

生物学家曾经做过一个实验,将耳朵与听觉皮层的链接切断,同时链接视神经和听觉皮层,发现听觉皮层同

样可以学会处理视觉任务。这个实验证明了大脑学习处理听觉,视觉,触觉等的方法是一样的。因此,发现

这个算法可能会指引我们实现真正的AI。

Neural Networks

Model Representation I

神经元作为神经网络的基础组成单位,通过树突从身体其他部分获得信息(input),在神经元内部进行处

理,通过轴突和其他神经元交换信息(output),是最小运算单元。

在神经网络算法中每个logistic unit相当于一个神经元,它们接受输入并根据系数向量计算sigmoid值(g(x) =

1/(1+e^(-x))),然后传递给其他logistic unit。神经网络算法中系数向量θ又被称为权重向量。

Stanford 机器学习笔记 Week4 Neural Networks: Representation_第1张图片
上图表示了logistic unit互相传递信息的过程,其中第一列参数向量X被称为输入层,最后一列被称为输出

层,中间都称为隐藏层。x0和a0都是bias unit,值始终为1。

Stanford 机器学习笔记 Week4 Neural Networks: Representation_第2张图片

θ为权重矩阵,表示第j层向第j+1层转移时各logistic unit的权重,如上图所示。它的大小为j+1层unit数x * j

层unit数y+1(+1是bias unit)。运算依然使用sigmoid函数。

Model Representation II

令z(i),j 为 a(i),j中g函数中内部的内容。则:

z(i+1) = θ(i)*a(i); a(i) = g(z(i));

再添加bias unit a(i),0 = 1。这样就可以逐层递推hθ(X)了。

递推到hθ(X)最后一层时,做的实际上就是logistic regression,但是输入的不再是X,X的一些线性组合,通

过逐层递推过来,使得每个x(i)拥有更合适的权值,而不是像线性递推中手动设定多项式。

Applications

Examples and Intuitions I

在sigmoid函数中有两个特殊的点,x=4.0和-4.0时曲线的增长性快速下降接近定值1和-1。

通过设置好权重向量,logistic unit可以实现各种运算。比如当θ0 = -30 , θ1 = 20, θ2 = 20时,hθ(X) =

g( -30 + 20x1 + 20x2 ),这个函数可以模拟逻辑运算AND(写出真值表就知道了)。又比如当θ0 = -10 ,

θ1 = 20, θ2 = 20时可以模拟OR运算。

Examples and Intuitions II

如上一节所述,通过控制权重向量可以模拟简单逻辑运算。之后在神经网络中下一层就可以使用上一层的简

单运算结果实现更复杂的运算,这就是神经网络的整体思路。

Multiclass Classification

用神经网络算法做多类别分类实际还是使用1 vs all思想。假设有3个分类,最终结果hθ(X)是一个三元向量,

接近[0;0;1],[0;1;0],[1;0;0],hθ(X)(i)表示是不是第i分类的。

训练集中每个数据表示为(x(i),y(i) ),其中y(i)属于[0;0;1],[0;1;0],[1;0;0]之一, x(i)就是参数向量。同时另

hθ(x(i))接近y(i)。

你可能感兴趣的:(Stanford 机器学习笔记 Week4 Neural Networks: Representation)