吴恩达机器学习——第四周学习笔记

之前学习过的,无论是线性回归还是逻辑回归,都存在一个共同的缺点,当特征值过多时,计算量会变得非常庞大。

假设我们有非常多的特征,如当大于100个变量,我们希望用这100个特征来构建一个非线性的多项式模型,结果将是数量非常惊人的特征组合,即便我们只采用两两特征的组合我们也会有接近5000个组合而成的特征。这对于一般的逻辑回归来说需要计算的特征太多了。普通的逻辑回归模型,不能有效地处理这么多的特征,这时候我们需要神经网络。

神经网络(Neural Networks)

神经网络的表示

h_\theta(x)=\frac{1}{1+e^-\theta^Tx}g(z)=\frac{1}{1+e^-^z}

下图是一个简单的神经网络模型:

ai是激活单元,θi是权重。

每个激活节点的值如下:

如果神经网络的第j层有Sj个单元,j+1层有Sj+1个单元,那么上式中的θ的维数将会是s_j+_1*(s_j+1)

前向传播(Forward Propagation)

前向传播就是从输入层经过隐藏层,最终到达输出层的过程就叫做前向传播。

简单理解就是将上一层的输出作为下一层的输入,并计算下一层的输出,一直到运算到输出层为止。如下:

\large z^{(2)}=\theta^{(1)}a^{(1)}

\large a^{(2)}=g(z^{(2)})

\large z^{(3)}=\theta^{(2)}a^{(2)}

\large h_\theta(x)=a^{(3)}=g(z^{(3)})

 

如果盖住layer1,留下layer2,3的话就是一个简单的逻辑回归的模型,如下:

 每层的操作可以是不同的,可以更好的拟合出非线性假设。

 我们可以使用简单的神经网络模型来实现一些基础操作。

sigmoid函数如下:

或运算(OR)

初始化 \large \theta^{(1)}=[-30,20,20], \large h_\theta(x)=g(-30+20x_1+20x_2)

,就可以实现或运算。 

 

 以此类推,我们可以实现与运算,或非运算,或运算。

将这三个结合在一起组成了一个由输入层,隐藏层,输出层构成的一个神经网络的模型,实现了同或的运算。

 

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
乘风的头像乘风管理团队
上一篇 2022年5月21日
下一篇 2022年5月21日

相关推荐