简述什么是神经网络,神经网络主要包括

  简述什么是神经网络,神经网络主要包括

  上一页:目录

  神经网络虽然用了数学,但不如数学严谨。不同于传统的机器学习方法(如决策树、随机森林、最近邻法等。),它可以让我们清楚地知道它学到了什么。虽然现在很多人都在致力于研究神经网络背后的原理,但是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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • python 残差,残差神经网络是cnn
  • python 残差,残差神经网络是cnn,Python深度学习神经网络残差块
  • 卷积神经网络的基本结构,卷积神经网络的结构
  • 基于图神经网络,dqn神经网络
  • 神经网络心得体会,简单循环神经网络
  • 深度卷积神经网络与卷积神经网络的区别,卷积神经网络简单理解
  • 基于空间的图卷积神经网络,卷积神经网络每一层通过数据变换实现图像的
  • java神经网络框架,神经网络模型有哪几种,java神经网络框架,神经网络模型有哪几种形式
  • 人工神经网络算法与机器算法,人工神经网络算法的应用
  • 怎样做神经网络分类器检测,神经网络 分类器
  • 卷积神经网络是一种常用来处理,卷积神经网络的基本概念
  • 社交网络分析模型,python建立神经网络模型
  • 卷积神经网络lenet-5详解,卷积神经网络alexnet
  • 神经网络 dnn,神经网络的梯度
  • bp网络神经预测模型,bp神经网络实例分析
  • 留言与评论(共有 条评论)
       
    验证码: