神经网络算法介绍
在解决分类问题时,可以用逻辑回归算法,但当解决复杂的非线性分类器时,这并不是一个好的选择。
如果用逻辑回归来解决,首先要构造一个包含很多非线性项的逻辑回归函数。使用逻辑回归会构造一个s型函数。当多项式足够多,足够复杂,会有一个非常扭曲的决策边界。这可能会出现过拟合的情况。
另一个问题,复杂的非线性分类器会包含有很多的特征项,要包含所有的特征项时很困难的事情,而且计算成本过大。
比如要识别一个图像是不是汽车,就要检测图像的每一个像素,这是一个非常大的计算量。因此神经网络是一个很好的选择。
神经网络模型
逻辑单元这是一个最简单的神经网络的模型。左侧的是三个特征值的输入,右侧是一个输出,这是一个二元问题的神经网络模型。
一般在处理神经网络时,和逻辑回归一样,需要添加一个的默认特征项。在神经网络里,这称之为偏置单位
还有关于的函数
在神经网络里这个成为激励函数,这是神经网络的术语,它是和逻辑回归里相同的函数。在这种情况下,激励函数的参数称之为权重。
看一个复杂一点的模型:
多层神经网络上图中,第一层是输入层,然后进入第二层,最后输出预测函数,也就是第三层,输出层。
输入层和输出层之间的节点层,称之为隐藏层。上图中有一个隐藏层。
隐藏层中的是第层的第个单元。和输入层一样,在计算时会添加一个偏置单元
是从第层到第层的映射参数矩阵。
计算过程
隐藏层的激活节点和输出层的输出函数计算过程如下:
是一个矩阵,关于它的维度:
在第层,该层有个单元,而第层有个单元,则会是一个维矩阵
举个例子,假如有一个三层的神经网络,第一层有2个输入特征值,第二层是3个单元,最后第三层输出1个预测结果:
s是一个的矩阵
s是一个的矩阵
为了方便,将激励函数中的参数用变量替换:
其中为:
向量形式
用向量的形式来表示:
第三层:
类推到通常情况:
最后一步
举例说明
1.预测“与” AND
其中
我们要计算“与”,其中, &&
设置
通过上面的公式
,
,
,
,
满足”与“的逻辑。
2.预测“或” OR
与 预测“AND”的神经网络模型一样,我们只是调整一下:
,
,
,
,
满足”或“的逻辑。
3.预测“异或” XOR
其中
,
,,
,,
,,
,,
这符合“异或”的逻辑。
转载自:
https://codeeper.com/2020/01/16/tech/machine_learning/neural_network_intro.html