从零起步人工智能——机器学习之深度学习

从零起步,到最终目标是要做一个图像识别和特征提取的智能小程序。本章节介绍基础知识框架。内容目录:

  • 机器学习的概念
  • 机器学习的分类
  • 深度学习的概念
  • 人工神经网络模型
  • 前向传播、反向传播
  • 模型训练
  • 泛化、过拟合、正则化

机器学习的概念

对于机器学习的概念,机器学习是一门多领域的交叉学科,涉及到数学上概率学、线性代数以及其他学科等等。其主要是研究计算机怎么模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。
但是最根本来说机器学习(深度学习)目的寻找一个合适的函数

机器学习的分类

1.首先最基础是可以分成监督学习无监督学习半监督学习等常见方法。
监督学习 给予样本数据和标签的学习,最常见的是分类(预测值为离散型)和回归(预测值为连续型)。先根据标签纸或者目标值建立模型或规则,然后利用这些带有目标值的数据形成的模型或者规则,对新数据进行识别或者预测。
无监督学习只提供大量未知标注的数据集,一般通过聚类学习。即自身分析数据之间的数据特征,将数据集进行分类使类别内的数据比较相似。
半监督学习 监督学习和无监督学习并存
2.从机器学习的发展上来看,可以分为浅层学习深度学习两部分。浅层学习是机器学习的第一次浪潮,本文不将细讲。本文重点讲述深度学习!

深度学习的概念

机器学习的第二次浪潮,目前机器学习中最重要的一部分,其核心是:建立、模拟人脑学习分析的神经网络。
它源于人工神经网络,但跟人工人工神经网络有所区别。人工神经网络含有多层感知器。而深度学习结构含有多隐藏层多层感知器
常见的深度学习模型:卷积神经网络(CNN)、循环神经网络(RNN)、自动编码机、深度信任网络。

人工神经网络模型

神经网络是目前最流行的机器学习算法之一。随着时间的推移,证明了神经网络在精度和速度方面,比其他的算法性能更好。并且形成了很多种类,像CNN(卷积神经网络)、RNN、自编码等等。
但是想要理解神经网络,我们首先需要了解它是由什么构成的。

神经元

神经网络最基本的构件就叫做神经元。其灵感来自于人类大脑的神经构造。人类神经元结构
这就是人类的神经元结构,由树突、胞体、轴突、细胞膜组成,而神经网络的神经元与其极为相似。人工神经网络的神经元可以当做一个网络节点,例如图中的X1、X2等这些一个个圆圈。

人工神经元
神经网络结构输入层(上图中Layer1层)、隐藏层(上图中Layer2层)、输出层(上图中Layer3层)、参数。
当上图中的隐藏层只有一个神经元的时候,就是一个感知器,它具有完整算法描述。所有我们将神经网络称为 多层感知器

前向传播、反向传播

深度学习中核心的知识:前向传播、反向传播

前向传播

概念:计算输出值的过程。
作用:拿到一个已知的深度学习的网络结构和参数之后,利用这样的网络结构来完成我们设定好的任务。总而言之就是 使用

反向传播

概念:不断迭代的神经网络(参数模型)训练,来进行参数优化的过程。
作用:通过有监督学习,获取到已知深度学习网络结构中的一些参数。参数主要是权值偏差值
将上图的神经网络的从layer2隐藏层到layer3输出层的三条连线取出来。可以看到下图,这三条连线代表了三种线性运算。其中W11、W12、W13就代表了权值,而b1则是偏差值。以下类推。
而这些值一般都是未知的,需要我们通过反向传播计算出来。而需要人工设定的参数可以叫做超参数

在这里插入图片描述
工作原理:通过计算输出层结果和真实值之前的偏差即loss(损失值),来进行逐层调节参数。也就是梯度下降算法。

梯度下降算法

概念:沿着导数下降(最快捷)的方向,进行参数更新优化.
梯度:函数在a点无数个方向中变化最快的方向。其他必备知识:导数、方向导数、偏导数。
梯度下降算法
从数学的角度上来讲,参数优化等于上图函数线段中从A点开始,找到最小值B点。
左边的计算公式,就是参数优化的函数表达形式。θ0是当前的位置,α是学习率或者步长,J(θ)是导数,通过这些可以求出θ1即下次移动的位置。
收敛:找到最优解的过程。
学习率(步长):每次调整多长,在数学上等于x轴,每次△X取多大。
学习率过大,容易导致loss震荡和错失最小值。学习率过小,找到最小值需要耗费大量的时间。

模型训练

在上面的反向传播中,提到需要进行参数模型的训练,也就是模型的训练。所谓的模型训练,也就是通过监督学习获得模型中一些参数,比如神经网络中的权值等。但也有通过训练无法获得的参数:超参数,例如学习率等。通过经验自己设定。
模型中不得不提的就是样本、标签、预测值、真实值。
样本:数据集中的每一条数据
标签:人为给定的对事物的分类,比如:男人、女人。
预测值:用测试集数据喂进去模型得到的值。
真实值:正确的值,即给与一张男人的图片给模型测试男还是女,而这个已经确定是男人图像,这就是真实值。

训练集、验证集、测试集

模型训练的时候,经常把数据划分为训练集、验证集合测试集,常见的比例是8:1:1。
训练集:对通过梯度下降来进行模型训练,得到模型的参数。
验证集:用来测试当前模型的准确率,然后根据验证集的结果可以调节迭代次数,学习率等超参数,使模型的结果在验证集上最优。可以认为验证集也参与了模型的训练。
测试集:在模型训练完成后,用来测试模型的准确性。课验证集的区别是:它不会调整任何参数。

模型训练发生的问题

泛化、欠拟合、过拟合是在模型训练的时候,经常会遇到的问题。当然如何很幸运的话,可以得到一个合适拟合的模型。
泛化:泛化能力是模型中对新数据的预测能力。泛化能力低可以表现为模型在训练集上测试的误差很低,但是真正在验证集上测试时却发现error很大。
过拟合:特征维度过多,导致拟合的函数完美的匹配训练集数据,导致泛化的能力很差。
欠拟合:特征维度过少,导致拟合的函数和训练集误差较大,无法匹配训练集。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值