吴恩达ML简略总结( 三 )


神经元模型
层1为输入层,层2为隐藏层(一个神经网络可能不止一个隐藏层),层3为输出项
把神经网络与大脑神经类比,输入层就类似于大脑神经的轴突,而输出层就类似于大脑神经的终端,中间可能会经过多个神经元(即对于一个神经网络可能有多个隐藏层),这些神经元的功能我们是不知道的,而构造的神经网络亦是如此,隐藏层的功能是不确知的,而可以通过假设函数、输入层和输出层的大量数据训练出合适的神经参数,以模拟实际的隐藏层(或者说大脑神经的神经元)的功能 。
上图描述了单个神经元模型的组成,而多个上图所示的神经元结合在一起就可以构成一个神经网络,如下图所示:
ai(j):表示第j层第i个神经元的激活项(所谓的激活项就是由具体的神经元计算并输出的值)
Θ \Theta Θ是从输入层映射到第一层隐藏层的权重以及从第一层隐藏层映射到第二层隐藏层的权重,也称之为模型的参数
如上图所添加的x0和a0,为模型的偏置单元,其值总为1
其中第一个算式a1(2)激活值等于函数(或者说激活函数)作用在这组输入的线性组合的结果,a2(2)和a3(2)亦如此,那么也就是说 Θ \Theta Θ(1)控制着三个输入层单元到三个隐藏层单元的映射,是一个3*4的矩阵;更一般的,如果一个神经网络在在第j层有sj个单元,在j+1层有sj+1个单元,那么 Θ \Theta Θ(j)就是一个sj+1*sj+1的矩阵
仔细观察上图中的四个算式,很容易可以将上述的神经网络向量化:
上述的运算称为神经网络的前向传播
下面将举两个例子表明如何用神经网络来计算逻辑与以及逻辑或的:
占位符
再思考本节中第一个关于识别图片是否是汽车的例子,就是将图片的原始像素点作为原始输入,映射到第一层的隐藏层经过复杂的运算得到更多的特征,得到的结果再依次作为输入进入下一层隐藏层得到更加复杂的特征,最后这些特征被应用到最后一层逻辑回归分类器,使神经网络准确预测出所给的图片是否是汽车 。
如图为神经网络用于多元分类的一个直观例子:
根据上述的用于多元分类的神经网络,介绍神经网络的代价函数和反向传播算法;
代价函数 反向传播算法 梯度检测 随机初始化 神经网络的正则化
学习曲线
学习曲线可以判断某个学习算法是否具有偏差或者方差,从而改进算法
绘制学习曲线
首先,
列出训练集的损失函数和交叉验证误差集的损失函数:
J t r a i n ( θ ) = 1 2 m ∑ i = 0 m ( h θ ( x ( i ) ) ? y i ) 2 J_{train}(\theta) = \frac{1}{2m}\sum_{i=0}^{m}(h_{\theta}(x^{(i)})-y^i)^2 ?(θ)=2m1?i=0∑m?(hθ?(x(i))?yi)2
J c v ( θ ) = 1 2 m c v ∑ i = 0 m ( h θ ( x ( i ) ) ? y i ) 2 J_{cv}(\theta) = \frac{1}{2m_{cv}}\sum_{i=0}^{m}(h_{\theta}(x^{(i)})-y^i)^2 Jcv?(θ)=2mcv?1?i=0∑m?(hθ?(x(i))?yi)2
m: 样本总数,为一个常数
机器学习系统设计
--------------------------------------------2019.4.11----------------------------------------
--------------------------------------------------- 待更----------------------------------------------