首页 > 其他 > 详细

机器学习(2)-吴恩达

时间:2019-05-26 22:38:23      阅读:197      评论:0      收藏:0      [点我收藏+]

根据Andrew Ng在斯坦福的《机器学习》视频做笔记,已经通过李航《统计学习方法》获得的知识不赘述,仅列出提纲。

1 神经网络学习

1.1 非线性假设

\(n\)很大时,用逻辑回归建立非线性假设并不是一个好做法

1.2 模型展示

模仿了大脑中的神经元(计算单元):树突(input)、轴突(output)

偏置单元(bias unit):\(x_0=1\)

权重(weights/parameters):\(\theta\)

激活函数(activation function):\(g(z)\)

神经网络就是一组神经元连接在一起的集合。

第一层:输入层(input layer)

中间层:隐藏层(hidden layer)

最后一层:输出层(output layer)

\(a_i^{(j)}\):第\(j\)层的第\(i\)个激活项(神经元);

\(\theta^{(i)}\)代表从第\(j\)层映射到第\(j+1\)层时的权重的矩阵。

向量化

\(a_1^{(2)}=g(\theta_{10}^{(1)}x_0+\theta_{11}^{(1)}x_1+\theta_{12}^{(1)}x_2+\theta_{13}^{(1)}x_3\)

\(a_2^{(2)}=g(\theta_{20}^{(1)}x_0+\theta_{21}^{(1)}x_1+\theta_{22}^{(1)}x_2+\theta_{23}^{(1)}x_3\)

\(a_3^{(2)}=g(\theta_{30}^{(1)}x_0+\theta_{31}^{(1)}x_1+\theta_{32}^{(1)}x_2+\theta_{33}^{(1)}x_3\)

\(z^{(2)}=\Theta^{(1)}x=\theta^{(1)}a^{(1)}\),则\(a^{(2)}=g(z^{(2)})\)

添加\(a_0^{(2)}=1\)

\(z^{(3)}=\Theta^{(2)}a^{(2)},h_\theta(x)=a^{(3)}=g(z^{(3)})\)

其中\(x=\begin{bmatrix}x_0 \\ x_1 \\ x_2 \\ x_3 \\ \end{bmatrix}\quad\)\(z^{(2)}=\begin{bmatrix}z_1^{(2)} \\ z_2^{(2)} \\ z_3^{(2)} \\ \end{bmatrix}\quad\)

可以知道:每一个\(a\)都是由上一层所有的\(x\)和每一个\(x\)所对应的\(\theta\)决定的。

把这样从左到右的算法称为前向传播算法( FORWARD PROPAGATION )

例子

利用神经元来组合成更为复杂的神经网络以实现更复杂的运算。

\(\text{XNOR}=( \text{x}_1\, \text{AND}\, \text{x}_2 )\, \text{OR} \left( \left( \text{NOT}\, \text{x}_1 \right) \text{AND} \left( \text{NOT}\, \text{x}_2 \right) \right)\)

1.3 利用神经网络解决多元分类问题

如果我们要训练一个神经网络算法来识别路人、汽车、摩托车和卡车,在输出层我们应该有4个值。

输出层4个神经元分别用来表示4类,也就是每一个数据在输出层都会出现\([a \ b \ c \ d]^T\),且\(a,b,c,d\)中仅有一个为1,表示当前类。

机器学习(2)-吴恩达

原文:https://www.cnblogs.com/angelica-duhurica/p/10928012.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!