Machine Learning

机器学习入门(16)--神经网络基本概念

2017-01-11  本文已影响383人  Alfie20

为什么要引入神经网络呢?

随着特征个数n的增加二次项的个数大约以n^2的量级增长, 其中n是原始项的个数即我们之前说过的x1到x100这些项事实上二次项的个数大约是(n^2)/2。因此要包含所有的二次项是很困难的,所以这可能 不是一个好的做法;而且由于项数过多,最后的结果很有可能是过拟合的。此外,在处理这么多项时也存在运算量过大的问题。这个就是我们即将讲非线性分类器。
然而,在应用中,有的时候Non-linear hypotheses往往有更多的特征。举个例子,假设你想要使用机器学习算法来训练一个分类器使它检测一个图像来判断图像是否为一辆汽车。取出汽车门把手图片中的一小部分将其放大表明当人眼看到一辆汽车时,计算机实际上看到的却是这个一个数据矩阵或像这种格网它们表示了像素强度值告诉我们图像中每个像素的亮度值。
这个分类问题中特征空间的维数是多少?假设我们用50*50像素的图片我们的图片已经很小了长宽只各有50个像素但这依然是2500个像素点。因此我们的特征向量的元素数量N=2500。因此 如果我们非要通过包含所有的二次项来解决这个非线性问题那么这就是式子中的所有条件XixXj连同开始的2500像素总共大约有300万个。这数字大得有点离谱了对于每个样本来说要发现并表示所有这300万个项,这计算成本太高了。
这个时候就是神经网络用武之地了。

人脑神经元

我们的大脑中充满了 这样的神经元 神经元是大脑中的细胞 其中有两点 值得我们注意 一是神经元有 像这样的细胞主体 二是神经元有 一定数量的 输入神经 这些输入神经叫做树突 可以把它们想象成输入电线 它们接收来自其他 神经元的信息 神经元的输出神经叫做轴突 这些输出神经 是用来 给其他神经元传递信号 或者传送信息的。简而言之 神经元是一个计算单元 它从输入神经接受一定数目的信息 并做一些计算,然后将结果通过它的 轴突传送到其他节点 或者大脑中的其他神经元 下面是一组神经元的示意图 神经元利用微弱的电流 进行沟通 这些弱电流也称作动作电位 其实就是一些微弱的电流
如下图,是一个神经细胞,它有轴突(输出),树突(输入),和胞体。


神经元模型( Logistic unit)

人们仿照神经元设计了神经元模型( Logistic unit)。



这样的logistic 模型可以组成多级的结构,完成复杂的运算。



那么神经网络的问题就简单转化为,如何通过输入计算出h(x),即:

神经网络的术语:

上一篇下一篇

猜你喜欢

热点阅读