我在b站学ML(九)

神经网络

在解决复杂的非线性分类问题上,只是简单的增加逻辑回归的二次项或三次项等等,造成的计算成本太高,并不是解决复杂非线性问题的好办法,当n很大时,将会产生非常多的特征项。例如房价问题,如果有100个特征,增加二次项最终得到的特征项将是5000个,增加三次项得到的特征项是17000个,可见这并不是一个很好的方法。

我在b站学ML(九)

人脑中的神经元

树突输入神经,接收一定数目的信息,并做一些计算,轴突输出神经,给其他神经元传输信息

我在b站学ML(九)

简单了解神经网络

我在b站学ML(九)为偏置单位(或偏置神经元,总等于1),我在b站学ML(九)为偏度单元(值为1),Layer1为输入层,输入特征项,Layer3为输出层,输出假设的最终计算结果,Layer2被称为隐藏层,在监督学习中我们能看到输入和正确的输出,而隐藏层的值是看不到的。

我在b站学ML(九)

从数学上定义神经网络

我在b站学ML(九)表示第 j 层的第 i 个神经元或单元,例如我在b站学ML(九)表示第二层的第一个激励,即隐藏层的第一个激励,所谓激励是指由一个具体神经元读入计算并输出的值。

我在b站学ML(九)参数矩阵(或权重矩阵)控制着从一层比如说从第一层到第二层或者第二层到第三层的作用,表示计算第 j + 1层的第 a 项时,第 j 层的第 b 项的参数。

这里有四个输入单元,四个隐藏单元(我在b站学ML(九)我在b站学ML(九)没画出来),一个输出单元,参数矩阵我在b站学ML(九)控制着三个输入单元到三个隐藏单元以及四个隐藏单元到输出单元的映射。

我在b站学ML(九)

向前传播

这里起了个感觉很高大上的名字,其实就是从神经网络的输出层开始不断乘以不同参数然后再以不同函数进行映射。

输入层、隐藏层、输出层的激励分别看为我在b站学ML(九)我在b站学ML(九)我在b站学ML(九)

将输入层的激励由参数矩阵我在b站学ML(九)控制向前传播给隐藏层,隐藏层通过激励函数g()计算得到隐藏层的激励我在b站学ML(九),再通过参数矩阵我在b站学ML(九)控制向前传播给输出层,输出层通过激励函数g()计算得到输出层的激励我在b站学ML(九)(即我在b站学ML(九)).。

我在b站学ML(九)

这里讲了个用一个三层的神经网络求解逻辑XNOR运算(异或非)的例子,比较好理解

我在b站学ML(九)

神经网络处理多分类问题

识别图片中是人,还是汽车,还是摩托车,还是卡车。

做法是建立一个具有四个输出单元的神经网络,此时神经网络的输出是一个四维向量,第一个输出元素进行分辨图上是不是一个行人,第二个输出元素分辨图上是不是一个汽车……以此类推。

当图上是一个行人是,我们希望输出结果是[1,0,0,0],以此类推。

我在b站学ML(九)

我在b站学ML(九)