神经网络是如何进行预测的?

朋友们,如需转载请标明出处:http://blog.csdn.net/jiangjunshow算法

总目录(新手请点击总目录从序言看起,不然你可能看不懂本篇文章)网络

上一篇文章介绍了如何将待预测数据输入到神经网络中。那么,神经网络是如何给出预测结果的呢?咱们输入一个图片,神经网络是如何预测这是个有猫的图片仍是没有猫的图片呢?函数

本篇文章给你们介绍一种用于预测的算法——逻辑回归(logistic regression)。 
这里写图片描述 
这里写图片描述 
看到上面的公式,很多同窗可能被吓得小鸡鸡都萎缩了一截。不用怕,看完我下面的解说后,你就会以为其实它们的原理很简单。就像玻璃栈道同样,只是看起来可怕而已。 
这里写图片描述 
给定一个输入特征向量x(例如你想要识别的图像——是否有猫),你须要一个能输出预测结果的算法(在这里咱们用的是逻辑回归算法)。这个被输出的预测结果咱们称为ŷ y^,假设y是1,若是预测得很准的话ŷ y^可能会是0.99)。.net

上面第一个公式中的x是个(n,1)维的矩阵,表示一个训练样本,里面的n表示一个训练样本中的特征数量,例如一张图片就是一个训练样本,图片中每一个颜色强度值就是一个特征;w也是一个(n,1)维的矩阵,它表示权重(weight),它一一对应于每一个输入的特征,也能够说它指示了某个特征的重要程度;b是一个实数,在这里能够将其看做为一个阀值。blog

如何理解w和b呢?我举个例子来帮助你们理解。能够把上面的算法过程看做是一种经过权衡输入而后再作出决定的一个过程。假设周末即将到来,你据说在你的城市将会有一个音乐节。你要决定是否去参加这个节日。你须要经过权衡3个因素(3个特征)来作出决定:1,天气好吗? 2,你的女朋友是否愿意陪你去?3,举办地点离地铁近吗?这3个因素就对应着上图中的x一、x2,x3(它们是x这个训练样本中的3个特征)。咱们能够给它们赋个值,若是天气好,那么x1为1,不然为0,x2和x3雷同。假设你很讨厌坏天气,若是天气很差,你就不会去参加这个节日。对其它两个因素要求不高(这里假设你是个老司机,女人多得是,不怕冷落了女朋友)。那么咱们分别给3个权重赋值为7,2,2。w1的值大不少,这代表天气对你来讲很重要,比你的女朋友是否愿意去,以及交通的便利性更重要。而b咱们能够看做一个阀值,假设咱们给b赋值为-5,那么也就是说,只要天气好,即便女朋友不陪你去、交通也不方便,你也会去参加这个节日——x1 * w1 + x2 * w2 + x3 * w3 = 1 * 7 + 0 * 2 + 0 * 2 = 7(这里的*表明乘法)(咱们这里先不考虑σ函数),而7 +(-5)> 0,结果是你会去那个音乐节。若是咱们选择不一样的w和b值,那么对于同一个输入x,会有不一样的结果输出。例若有些苦逼,很是在乎女朋友的感觉,女朋友不去,他不敢去,那么w可能就变成了2,7,2。训练神经网络的目的就是经过训练过程来获得这些w和b值(后面会教你们如何来训练获得它们)。这些w和b值可让神经网络获得一项判断能力,一项预测能力——输入一张图片,神经网络根据训练好的w和b,经过上面的公式根据每一个像素的值以及与其对应的权重值以及阈值来断定这张图里是否有猫。神经网络就是这样来进行预测的。它和咱们人类的思考方式是同样的。虽然咱们人能够作出很是复杂的判断,可是基本原理是很简单的。人为何能轻松分辨出一个图片中是否有猫?由于咱们人就是一个巨型的神经网络,这个神经网络里面包含了数亿甚至更多的神经元(上图蓝色的圆圈就表示一个神经元),每一个神经元均可以接受多个输入,在平常生活中,小孩子经过大人的教导,不断的看见猫,咱们的神经元对于这个输入就造成了不少特定的w(权重),因此当再次看见一个猫时,这个输入(这个猫)与相应的w联合起来进行运算后,其结果就指示了这个输入是一个猫。 
这里写图片描述 
这里写图片描述图片

下面再来讲一下σ,它表明了sigmoid函数,上面是它的定义公式以及图形。咱们为何须要它?在上面咱们举的去参加节日的例子中,咱们得出的结果为2,其实对于不一样的x和w值,结果可能会更大。因此这并不适用于二元分类问题,由于在二元分类问题中你想要获得的ŷ y^应该表示一个几率,一个输入是否等于它真实标签的几率(例如输入的图像里面是否有猫)。因此ŷ y^的值应该在0和1之间。sigmoid函数的做用就是把计算结果转换为0和1之间的值。经过看它的图形就能够明白,往sigmoid函数里输入的值z越大,那么ŷ y^就越靠近1,也就是里面有猫的几率就越大。get

为了找到那些适合的w和b值,咱们还须要一个损失函数。下一篇文章我将给你们介绍它。io

相关文章
相关标签/搜索