简述什么是神经网络,神经网络主要包括
上一页:目录
神经网络虽然用了数学,但不如数学严谨。不同于传统的机器学习方法(如决策树、随机森林、最近邻法等。),它可以让我们清楚地知道它学到了什么。虽然现在很多人都在致力于研究神经网络背后的原理,但是3354它学到了什么?确实有一些令人兴奋的结果,但还远远不够。
我们经常把网络称为“黑匣子”,即我们不知道它学到了什么,为什么它能这么好地工作(这里“我不知道”是指它还不能被严谨地解释)。
我理解的神经网络(监督学习)其实就像一个孩子。一开始他做不到,所以一开始只能“蒙眼”。“盲”是指随机。这不重要。重要的是有一个好老师(家长)告诉他怎么做最好(标签)。在这种试错修正中,孩子不断成长。
让我们看一个带有简单预测器的简单例子。假设我们不知道英里和公里的换算关系,但是我们知道它们之间的关系是线性的(公里=英里*C,C是常数)。现在我们只知道他们之间一些正确的匹配数据。
因为我们不知道系数C到底是什么,所以我们随机初始化C=1,我们希望得到一个合适的系数c的值,当我们告诉它英里数时,它可以输出公里数。
当我们使用第一组数据时,勇士号2乘以系数C=1得出公里数等于2,但我们已经知道,实际的值应该为1,所以我们知道此时程序的输出有误差,为+1,也就是说我们初始化的C太大了!一个显而易见的方法是,我们减小C的值,让C从1变到0.9以此希望得到更接近于实际解的输出。。
我们继续使用表中的数据。当沃利斯数为3时,我们乘以C=0.9,输出结果为2.7。但是我们已经知道实际解应该是1.5,误差1.2,说明我们的系数C还是太大了,所以我们继续更新(降低)系数C到0.8。
当然,在这个例子中,我们清楚地知道C的实际值应该是0.5,即km=li *0.5。刚才我们只用了两个数据将随机得到的系数1更新为0.8。想象一下,如果我们有很多数据,就可以用这个“很笨”的方法得到最后相对满意的解。。
现在我们来看看这个方法。我们没有一步到位的准确解决问题,就像做数学题一样。反之我们尝试得到一个答案并多次改进答案,这种方法也称为迭代,能够使我们持续地,一点点地改进答案。说的通俗一点就是孟。一开始只是懵,但是我们会根据已知数据改变策略。如果萌的结果大,下次我就小了。如果萌的结果大,下次我就大,这和我们的思维方式很像。
我们也可以给上面的例子起个高大上的名字:监督学习(带标签数据),后面会介绍。
分类与预测
我们来看这样一个例子。我们现在得到一批bug的特征值,有两个特征:长和宽。现在让你把这两种类型的bug分开。
显然,我们可以找到这样一条线来区分这两类昆虫,使用的策略也是“蒙人”。首先我们随机指定一个斜率,然后根据样本数据更新斜率,直到这条直线能够正确的对昆虫进行分类,这就是分类。
假设我们经过多次迭代找到了这样一条直线,现在给定一个新的数据,我们就可以判断这个数据所代表的点是在直线的上方还是下方。上半部分叫蓝色bug,下半部分叫黄色bug,从而实现预测的功能。
如何训练一个简单的分类器?在这一部分,我们将介绍如何更新权重,即如何获得一个合适的数量。
在前面的例子中,我们继续对bug进行分类,但是我们仍然希望找到一个好的分类线来区分这两种类型的bug。
显然,这样一条线是存在的。
我们还是可以假设分割线是一条直线y=Ax(这里之所以没有B,是因为直线不能过原点,对这个问题没有任何影响),或者用‘幻数’的方法。我们尝试从上图中的A=0.25开始画这条线:
显然,这条直线是行不通的!我们无法根据未知点在直线的上/下侧这一事实得出bug的种类。* *显然,我们希望直线向上移动一点!* *那么你想上调多少?
查表数据,一条宽度为3的蜗杆的长度应该是1,但如果用上面的直线来预测长度,就会得到:y=0.253=0.75。与实际长度1相比,0.75太小了。
在我们调整参数A的值之前,想一想这个问题,直线Y的值应该是多少?我们希望直线能把所有不同的bug分开,而不是落在直线上。所以,对于x=3.0,我们把y的目标值设为1.1(这个只比1.0大一点,刚好可以完成分类问题。也可以选择1.2,1.3甚至100,但这可能会使两种类型的bug都在直线以下,使分类器无用)。
定义误差值=期望值-实际值
y=ey-y=1.1-0.75的误差=0.35。
那么y和A的关系是什么,A的调整量?(AA)作为调整后的权重系数,则目标值E=(AA)x A)x。
e-y=(AA)x-x=yy
简化后, y= a * x
我们得到A的调整量 A= Y/x,也就是说我们可以通过求导数来确定权重相对较好的更新量。
总结:神经网络其实就是一个幻数。初始权重是随机的(魔术),然后通过不断的试错来调整这些参数。如果输出太大,权重就会减少,反之亦然。确定更新量,我们可以通过求导数来确定更新量(实际上已经使用了梯度下降最小化损失函数的思想)。
接下来:感知器模型原理,对偶形式,二元分类问题和python实现
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。