机器学习(十)神经网络

故事扮演 提交于 2020-01-03 20:03:48

机器学习(十)神经网络

前言:

我们前面已近学习了线性回归解决预测问题,逻辑回归解决分类问题,那么现在我们学习神经网络能解决什么问题呢?我认为它是为了解决线性回归和逻辑回归存在的不足而出现的。我们想想对于逻辑回归,如果我们的特征要素比较少的情况下,比如只有x1,x2,x3,那么我们得到的多项式还能够接受,但是如果我们问题的特征要素很多的情况,比如x1,x2,x3,…,x100,有100个特征要素,那么对于逻辑回归仅仅是二次多项式,我们将会有大概5000个项,如果仅仅三次多项式,我们的多项式将有大概17000项,这对于人类的预测以及计算机的处理都是一个极大的挑战,并且导致效率极低!!!!因此,人们想到人类的大脑每天处理的信息量更是巨大的,那么能不能模仿人类神经解决这个问题呢?由此神经网络应运而生。(这是我个人的主观理解,如有不当,请评论区指正,谢谢~~)

一、神经网络的直观理解

1、大脑中的神经元结构如下

在这里插入图片描述

2、参照大脑中的神经元结构得到有个神经元模型如下

在这里插入图片描述
关于神经网络中的激活函数并不一定是上图中的sigmoid函数,比较常用的还有tanh函数,ReLU函数等,关于激活函数可以参考这篇文章,其中的θ1,θ2,θ3,θ4称为权重或者参数,本博文称仍像前面的线性回归、逻辑回归一样称其为参数

3、神经网络就是由上图的多个神经元组合而成,神经网络模型如下

神经网络就是由多个神经元组成的,一个神经元的输出作为下一个神经元的输入。神经网络有“3”层,包括第一层的输入层,最后一层的输出层和中间层的隐藏层,其中输入层和输出层都只是一层,而隐藏层可以有多层

符号解释

aij,在第j层的第i个神经元的激活值;
θikj,第j层的第k个神经元,到第j+1层的第i个神经元的参数(权重);
Sj,第j层神经元的个数,不包括偏差单元
θj,权重矩阵,控制第j层到第j+1层的权重;θj的维数是Sj+1 * Sj + 1

在这里插入图片描述

上图神经网络模型的计算过程

在这里插入图片描述

4、向前传播算法,将神经网络模型的计算过程矢量化

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
上面向前传播算法之所以命名为向前传播,就是因为它从前一层向后一层不断计算,最终计算出预测函数hθ(x),下图更可以直观的看到这一由后向前的计算过程
在这里插入图片描述

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!