机器学习笔记4-神经网络(Neural Network)(上)

一、神经网络算法的优点及其适用范围
机器学习笔记4-神经网络(Neural Network)(上)
先看如上一个例子,这是一个非线性的分类问题,我们如要对其进行正确区分的话可能需要用到x1x2的三次项,如上图右边公式。而当我们分类问题变得复杂,不仅仅是两个特征变量能够区别开的,而甚至有100或更多的特征变量。假设有特征x1,x2...x100,且仅仅考虑二次项的话,需要有5000项。且最后结果很可能由于项数过多而发生过拟合的现象。
而现实中很多分类问题,其输入特征都要远远的大于100.例如我们要对一些图片进行分类,来区分哪些图片是汽车,哪些不是汽车的图片。所以如下图,我们从图片中拿出50*50像素的区域作为输入。此时就有2500个输入变量,若图片为RGB三色的图,将有7500个输入变量。
机器学习笔记4-神经网络(Neural Network)(上)
若有这么多的变量,再使用梯度下降法将会带来巨大的计算复杂度,这也正是本文要介绍的神经网络算法处理数据的优点。
二、模型建立
机器学习笔记4-神经网络(Neural Network)(上)
大脑中的神经元如上图,有无数的树突作为数据的输入,然后相邻的神经元之间还会有信息的传递,最终产生相应的输出结果。输入、传递和输出对应的神经网络模型中的输入层、隐藏层与输出层,如下图
机器学习笔记4-神经网络(Neural Network)(上)
每一个输入变量xi都与隐藏层的所有变量相连,也就是每一个隐藏层的单元与其上一层输入层的所有输入都相关;相同的在隐藏层与输出层之间也存在着相同的关系。所有其对应的权重矩阵有如下这样的关系。
机器学习笔记4-神经网络(Neural Network)(上)
a(j)i:第j层第i个单元
Θ(j):从第j层到第j+1层的权重矩阵
如果在第j层有sj个单元,在j+1层有sj+1个单元,则Θ(j)矩阵维度为sj+1x(sj+1)(第j层包含偏置变量a(j)0

a**三、例子**
第一个例子为计算机中的与运算、或运算
机器学习笔记4-神经网络(Neural Network)(上)
机器学习笔记4-神经网络(Neural Network)(上)
上述例子中,只有输入层和输出层没有隐藏层,下面例子中将上述与运算和或运算结合在一起,组成了异或运算。其中
a(2)1=x1 and x2
a(2)2=(~x1) and (~x2)
a(3)1=a(2)1|a(2)2
机器学习笔记4-神经网络(Neural Network)(上)
四、多类别分类问题
机器学习笔记4-神经网络(Neural Network)(上)
对于多类别分类问题,其输出为矩阵的形式,输入项输入哪一类,则对应输出矩阵中这项为1,其余为0.