深度学习的基本概念

(边学边更新)

1、聚类

人类能够进行一定的归纳总结的能力,能够把认知的相似事物放到一起作为类事物,它们之间可以有彼此的不同,但是有一个我们心里的“限度”,只要在这个限度内,特征有区别并无碍,它们仍然还是这一类事物。在这一类事物的内部,同样有这种现象,一部分个体之间比较相近,而另部分个体之间比较相近,能够明显认知到差别,那么大类别又可以细分为小类别进行认知。
在没有人特意教给我们不同小种群的称谓与特性之前,我们自然具备的这种凭借主观认知的能力一一特征形态的相同或近似的划在一个概念下,特征状态不同的划在不同概念下,这本身就是“聚类”的思维方式。

比较常用的聚类算法有K-means,DBSCAN等,其基本思想就是计算各个向量之间的“距离”一一 欧氏距离或者曼哈顿距离,从远近判断是否从属于同一类别。属于非监督算法。

2、回归

回归,简单说就是“由果索因”的过程,是种归纳的思想一一当我看到大量的事实所呈现的样态,我推断出原因或客观蕴含的关系是如何的;当我看到大量的观测而来的向量(数字)是某种样态,我设计一种假说来描述它们之间蕴含的关系是如何的。

在机器学习领域,最常用的回归有两大类一一一类是线性回归,一类是非线性回归。

所谓线性回归,就是在观察和归纳样本的过程中认为向量和最终的函数值呈现线性的关系而后,设计这种关系为:y=J(x)=wx+b,这里的w,x分别是1*n 和n *1 的矩阵, wb 则指的是这两个矩阵的内积。

而下面要做的事情就是要对矩阵的内容和偏置的内容求出一个最“合适”的解, 这个“合适”的概念就是要得到一个全局范围内由 fix 映射得到的和我真实现测到的那个的差距加和,写出来是这种方式:
L o s s ∑ i = 1 n ∣ W X i + b − y i ∣ Loss \sum_ {i=1}^n|WX_i+b-y_i| Lossi=1nWXi+byi
如果函数不是线性关系,而用线性关系来进行表达的话,则会出现欠拟合现象。因此,这种情况之下,必须使用非线性回归。
非线性回归类中,在机器学习领域应用最多的当属逻辑回归。它和线性回归都叫回归,但是逻辑回归看上去更像分类,在这种模型中观察者假设的前提是只有两种值,y为1或0,或者说“是”或“否”的这种判断。 y = f ( x ) = 1 1 + e − ( w x + b ) y=f(x)=\frac{1}{1+e^{-(wx+b)}} y=f(x)=1+e(wx+b)1

训练的过程跟普通线性回归也是一样的,只不过损失函数的形式不同 。但是,它的损失函数的含义仍旧是表示这种拟合残差与待定系数的关系,并通过相应的手段进行迭代式的优化,最后通过逐步调整待定系数减小残差。

3、分类

一个分类器模型在它诞生(初始化)的时候其实是不具备这种功能的,只有通过给予它大量的图片以及图片所对应的标签分类,让它自己进行充分地总结和归纳,才能具备这样一种能力。

我们在编写代码教会分类器怎么做学习的时候其实是在教它如何建立一种输入到输出的映射逻辑,以及让它自己调整这种逻辑关系,使得逻辑更为合理 而合理与否的判断也非常明确,那就是召回率和精确率两个指标。
分类的训练过程和回归的训练过程一样,都是极为套路化的程序,

  • 输入样本和分类标签
  • 建立映射假说的某个 y=f{x 的模型
  • 求解出全局的损失函数 Loss 和待定系数的映射关系, Loss=g(w)
  • 通过迭代优化逐步降低 Loss ,最终找到一个能使召回率和精确率满足当前场景需要。注意,这里尤其指在验证数据集上的表现。

4、神经元

在我们使用的神经元通常有两个部分组成,一个是“线性模型”,另一个是“激励函数”。

4.1、线性模型

输入是n维的向量x,建立一个有n项输入的神经元f(x) ,把它展开写就是 f ( x 1 , x 2 , . . x n ) f(x_1,x_2,..x_n) f(x1,x2,..xn),输出写为f(x),二者之间有关系: f ( x ) = w ∗ x + b f(x)=w*x+b f(x)=wx+b,其中,w是1×n的矩阵,表示权重;x是n×1的矩阵,表示n维的输入,b表示的是偏置值。
在这里插入图片描述
但在实际的训练中,往往不知道权重和偏置,而知道输出的最终结果即yi,因此需要利用回归的方式求取W和b。在前面讲解回归的部分,我们提到过一个叫 Loss 的函数 L o s s = ∑ i n ∣ w x i + b − y i ∣ Loss=\sum_{i}^n{ |wx_i +b-y_i|} Loss=inwxi+byi来描述拟合与真实现测的差异之和,我们称之为残差。如果要想得到比较合适的w,b,那就还是要想办法让这个函数 Loss 尽可能小,然后取满足这个状态的,这个过程是没有区别的。

4.2 、激励函数

4.2.1、激励函数的基本介绍

激励函数在一个神经元当中跟随在 f ( x ) = w ∗ x + b f(x)=w*x+b f(x)=wx+b函数之后,用来加入一些非线性的因素。激活函数用于将非线性引入神经网络。它会将值缩小到较小的范围内。Sigmoid激活函数的压缩范围为0到1之间。在深度学习中有许多激活函数可用,ReLU,SeLU和TanH均优于Sigmoid激活函数。
并不是每个神经网络都需要激励函数

4.2.2、为什么要使用激励函数呢

因为现实生活中并不是所有问题都能被线性方程所解决,就是说有些问题是需要用到非线性方程的。
激励函数其实就是一个非线性方程,往往非线性问题所需要的非线性方程就是用 【线性方程✖激励函数】得到的。
在这里插入图片描述

讲完线性模型和激励函数就可以得到一个完整的神经元了。
在这里插入图片描述

5、神经网络

我们来看一个经典的神经网络。这是一个包含三个层次的神经网络。红色的是输入层,绿色的是输出层,紫色的是中间层(也叫隐藏层)。输入层有3个输入单元,隐藏层有4个单元,输出层有2个单元
在这里插入图片描述

  • 设计一个神经网络时,输入层与输出层的节点数往往是固定的,中间层则可以自由指定;
  • 神经网络结构图中的拓扑与箭头代表着预测过程时数据的流向,跟训练时的数据流有一定的区别;
  • 结构图里的关键不是圆圈(代表“神经元”),而是连接线(代表“神经元”之间的连接)。每个连接线对应一个不同的权重(其值称为权值),这是需要训练得到的。

5.1 输入层(用于数据的输入)

神经网络中的第一层。它需要输入信号(值)并将它们传递到下一层。它对输入信号(值)做任何操作,并且没有关联的权重和偏置值。在我们的网络中,我们有4个输入信号x1,x2,x3,x4。

Input Shape :它是我们传递给输入层的输入矩阵形状。我们网络的输入层有4个神经元,它期望1个样本的4个值。如果我们一次只提供一个样本,我们网络的期望输入形状是(1,4,1)。如果我们提供100个样品,则输入形状将为(100,4,1)。不同的库期望形状的格式是不同的。

5.2 隐藏层

隐藏层具有对输入数据应用不同变换的神经元(节点)。一个隐藏层是垂直排列的神经元的集合(Representation)。

隐藏层的意义就是把输入数据的特征,抽象到另一个维度空间,来展现其更抽象化的特征,这些特征能更好的进行线性划分,多个隐藏层其实是对输入特征多层次的抽象,最终的目的就是为了更好的线性划分不同类型的数据。

在我们给出的图像中有5个隐藏层。在我们的网络中,第一隐层有4个神经元(节点),第2层有5个神经元,第3层有6个神经元,第4层有4个,第5层有3个神经元。最后一个隐藏层将值传递给输出层。隐藏层中的每个神经元都与下一层的每一个神经元有连接,因此我们有一个完全连接的隐藏层

5.3 输出层 (用于输出结果)

着是网络的最后一层,它接收来自最后一个隐藏层的输入。通过这个层,我们可以知道期望的值和期望的范围。在这个网络中,输出层有3个神经元,输出y1,y2,y3。

【参考文献】
1.https://blog.csdn.net/weixin_30271335/article/details/96056235
2. https://blog.csdn.net/jinyuan7708/article/details/82466653
3. https://blog.csdn.net/qq_44929388/article/details/89430981

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值