Python教程

2022.01-1-03 深度学习入门-基于python的理论与实现

本文主要是介绍2022.01-1-03 深度学习入门-基于python的理论与实现,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

本篇用于记录《深度学习入门-基于python的理论与实现》中第4章神经网络的学习的随笔(主要是因为脑子笨,看了就忘,就想还不如写下来,毕竟写的时候会稍微过一下脑子,嘿嘿^_^)

神经网络的重要特种就是能够从数据中学习。所谓的“学习”是指可以根据输入数据自动决定权重参数。在之前的介绍中我们直到感知机中的权重是人通过真值表确定下来的,但是当输入因素较多时,在人工确定权重参数显然是不太可能的,有了神经网络就能很好的解决这一问题。

根据上面的介绍可以发现数据是机器学习的核心,这种数据驱动的方法摆脱了往往以人为中心的方法,能够极大的降低对于人的依赖。

那如何从数据中学习的呢?以手写识别为例进行介绍,识别数据中哪些是数字5

首先了解我们的目标是希望能够通过手写数据识别出任何的数字5,假设我们想要教一个小孩在认识数字,我们可能会先给他看一下哪些是数字5(可能是不同颜色写的5,也可能是大小不一样的,这一部分数据成为训练数据)这个过程是为了让他认识数字5,之后再给他看一些没有看过的(其他颜色或者类似的5, 这一部门数据称为测试数据)这个过程是为了验证他是否能够认识其他形式的5。当然我们肯定是希望他能够认识足够多的5,而不是只认识某一颜色或者某一大小的5,对于机器学习而言这一能力称之为泛化能力。

好的在回到课本的例子,为解决这一问题,一种方案是(机器学习方案),先从图像中提取特征量,再用机器学习技术学习这些特征量的模式。这里所说的“特征量”是指可以从输入数据(输入图像)找那个准确的提取本质数据(重要的数据)的转换器。图像的特征量通常表示为向量的形式。常用的特征量包括(SIFT, SURF和HOG等)使用这些特征量将图像数据转换为向量,然后对转换后的向量使机器学习中的SVM,KNN等分类器进行学习。 注意这个过程是机器学习的过程,对于特征量的设计依然是需要人工参与,对于不同的数据必须使用合适的特征量(必须设计专门的特征量

另外一种是神经网络(深度学习)深度学习有时也称为端到端机器学习,这里所说的端到端是指从一端到另一端的意思也就是从原始数据(输入)中获得目标结果(输出)的意思。

神经网络的优点是对所有的问题都是可以使用相同的处理流程,不需要像机器学习那样不停的更换特征量。神经网络都是通过不断的学习所提供的数据,尝试发现待求解的问题的模式,与待求解的问题无关,神经网络可以将数据直接作为原始数据,进行端到端的学习。

前面提到训练数据和测试数据。在机器学习中一般将数据分为:训练数据和测试数据。首先,使用训练数据进行学习,寻找最优的参数。然后使用测试数据评价训练得到的模型的实际能力。使用测试数据是为了正确评价模型的泛化能力。泛化能力是指处理未被观察的数据(不包含在训练数据中的数据)的能力。获得泛化能力是机器学习的最终目标。只对某个数据集过度过度拟合的状态成为过拟合

 

这篇关于2022.01-1-03 深度学习入门-基于python的理论与实现的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!