神经网络(1)

想学习神经网络之前,我们要先了解一些理念。

1、如何解决问题

首先问题一般有输入与输出(结果),就好比在解决线性方程的时候,我们都知道y=kx+b,当k,b的值我们都知道的时候,只需给入输入值X就可以得到y的值。因此可以得出一个公式:输入(x)+算法(一元一次方程)= 输出(y)

 

输入是十分简单就可以得到的,因此如何找到这个算法,使用算法算出输出就变得十分的重要了。我们人类可以通过一些值进行总结归纳得出规律,找出算法,那我们如何让机器去找出算法呢?

2、机器总结出算法

要让机器自动总结出算法,即机器学习。机器学习总体上跟人考虑的方式差不多。想想当我们看到这张图的时候,是不是第一个反应是y=kx+b,这个式子就是适应所有直线的算法,不同的k与不同的b代表着不同的直线。但具体的直线是怎么样的是不是还需要我们代入几个数据去得出这个方程的k与b。然后再用一些其他的数据去验证k和b是否正确。那让机器学习的时候,我们直接设计成y=kx+b,给具体的直线留下了两个参数k和b,我们称呼这个结构为模型结构,因为有未知参数,我们称之为未训练的模型结构,其中x为输入,y为输出。然后设完直线之后我们是不是代入几个数去求出k和b?这个代入的过程我们就称为训练。然后训练完会得到一个比如y=3x+10的算法,因为k和b都已经求出来了,因此没有未知参数了。这个式子我们就称之为模型或训练好的模型。而其中y=kx+b是这个模型的结构,代入的数据点则称为训练数据,统称为训练数据集。我们得出这个直线之后需要做什么?需要验证,当我们拿出一些额外的数据去代入然后去对比输出值是否与预期相符,这些额外的数据就叫做验证数据集。得到了模型,并进行了验证之后,我们就可以假设这个模型基本满足了我们以后有一个x,就可以输入x给出这条直线上对应点的y值。这个过程我们就已经在使用模型了,称之为推理。但实际因为现实中并不会有y=kx+b这种很标准的结构,往往算法都是十分复杂的,并且会有一定的误差,这在我们训练模型的时候会显示给我们。但基本上准确率只要不是特别低都没有关系。其实这就算是机器学习了, 我们人类需要的事就是设计这个y=kx+b结构,以及给出训练数据集验证数据集,经过训练验证得到一个我们认为可用的模型,然后使用输入+模型就可以得到认为的正确输出结果了。

 在这个时候我们对训练数据集、验证数据集、训练、模型等一些概念有了一定的了解

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值