斯坦福 机器学习Andrew NG 第四讲 Neural Networks representation
1·Non-linear hypotheses
为什么要引入神经网络呢?
还以前面所讲的房价问题为例,假如一个房子的价格和层数,卧室数,房屋面积,等100项因素有关,那么当Non-linear hypotheses的最高次项为xi*xj时,总共有大约5000项特征,当最高次项为xi*xj*xk时,总的特征量为O(100^3);
然而,在应用中,有的时候Non-linear hypotheses往往有更多的特征,比如在处理计算机视觉中的问题时:
即使是一幅50*50分辨率的RGB图片,它就有大约3000000个二次特征。
所以用Non-linear hypotheses来处理这些问题时,特征数非常大,不适用。
2·Neurons and the brain
神经网络算法:
起源:算法,试图模仿大脑。
非常广泛的使用在80年代和90年代初,20世纪90年代后期减弱。
最近的复苏:在很多方面有广泛的应用。
3·Model representation
上图是一个神经细胞,它有轴突(输出),树突(输入),和胞体。人们仿照神经元设计了神经元模型( Logistic unit)。
这样的logistic 模型可以组成多级的结构,完成复杂的运算。
如上图,第二层是第一层的输出,是第三层的输入。
下面我们进行神经网络参数计算的向量化:
令z(2)表示中间层,x表示输入层,则有
通过以上这种神经元的传递方式来计算h(x), 叫做Forward propagation, 向前传递。
这里我们可以发现,其实神经网络就像是logistic regression,只不过我们把logistic regression中的输入向量[x1~x3]变成了中间层的[a(2)1~a(2)3], 即
h(x)=g(Θ(2)0 a(2)0+Θ(2)1 a(2)1+Θ(2)2 a(2)2+Θ(2)3 a(2)3)
而中间层又由真正的输入向量通过Θ(1)学习而来,这里呢,就解放了输入层,换言之输入层可以是original input data的任何线性组合甚至是多项式组合。
4·Examples and intuitions
下面的例子用神经网络来实现逻辑(与,或,同或,异或)功能。
上图是逻辑与的实现。
上图是由逻辑与和逻辑或组合实现逻辑异或。
5·Multi-class classification
神经网络的多级分类问题。下面是计算机视觉中的目标分类的一个例子。