深度学习中得数学,高效计算基础与线性分类器

唐世光 唐世光     2022-08-28     803

关键词:

深度学习说到底就是要调节网络中得权重,使网络的分类结果更接近于训练值。这个重复迭代的过程又是一个线性回归的问题。在这种可能会用到高数,线性代数,概率论中的知识。

一、数学基础提一提。

1.高数中得知识。

  高数中最重要的就是微积分了,那在深度学习中出现最多的一个概念就是梯度。什么是梯度呢?要说导数,学过高数的肯定都知道。其实梯度就是当把标量x变成向量X时,对X求导就是梯度。那为什么要用梯度呢?因为梯度等于0在凸函数中往往代表着一个极小值点。我们要求得就是损失函数的极小值,这正是我们需要的。梯度是指向函数最大增加的方向,下面来解释为什么。

  

 

往往我们直接去求梯度等于0并不容易,所以我们要一步一步迭代,当f(x)无限接近于0.当X(k)=梯度,此时等式右边就变成一个二范式,这就代表了函数的最大增加方向。当我们对梯度取负时,就变成了函数减小最快的方向。也就是我们常说的梯度下降方法。工程中会在梯度前乘一个常数用来控制变化的程度,通常被称为步长。

2.概率论

(1)其中用的较多的知识是:独立变量概率的表示形式有分布函数,概率密度估计函数,累积分布函数

(2)中心极限定理

(3)贝叶斯公式

3.PCA:一种算法,用来对矩阵降维使用。

二、神经网络简介与应用

 1.图像上的应用

(1)场景识别

(2)图片内容识别

(3)自动图片归类

(4)拍立淘

2.自然语言上的应用

把一些文本输入到RNN会自动学习。例如把小四的文章输入网络中,可以自动学习其文笔输出文字。

3.综合应用

把在图像和文本上的应用结合起来。例如输入一张图片,输出对这张图片的描述。

三、高效计算基础

1.Python的数据类型,可参考另一篇博文http://www.cnblogs.com/softzrp/p/6523336.html

2.Python中的库:numpy和scipy

四、图像识别 其实就是输入一个多维数组,每一个位置的数都是0-255的范围,都代表一个颜色

1.困难之处:

(1)视角不同:一张图片经过旋转或者侧视后构图是完全不同的,计算机很难识别。(这也是一个好处,当样本量不够时可以通过旋转等方式增加样本量)

(2)尺寸大小不统一

(3)变形

(4)光影等干扰

(5)背景干扰

(6)同类内的差异

2.数据驱动学习,不是先去定义一个规则

3.K最近邻法

(1)需要衡量样本间的距离(曼哈顿距离,欧式距离,余弦距离)

(2)k最近邻法:找到训练集中最近的N个,以他们中出现的最多的结果作为结果

(3)N折交叉验证:把训练集分成N分,用其中N-1份做训练,第i份做测试得到一个准确率,最后把这n个准确率求平均。当N取不同的值会得到多个不同的平均准确率,取最大的那个平均准确率对应的n值

4.KNN做识别的优缺点

(1)准确度不高

(2)要记录全部训练数据

(3)慢

5.线性分类器

(1)得分函数:f(x,W)=Wx+b  其中x为输入的一个列向量,W为权重矩阵。举个例子:一张图片是32*32*3(长宽为32个像素,3位通道)的,那就可以构建一个32*32*3=3072维的一个列向量,把他作为x输入。假如要分为10类,那么W就是一个10*3072的一个矩阵。W*x后得出一个10*1的一个列向量f,把它作为得分函数。

理解:1)看做一条直线对空间划分         2)模板匹配:w的每一行可以看做是其中一个类别的模板;每类得分,实际上是像素点和模板匹配度;模板匹配的方式是内积运算

(2)损失函数(代价函数/cost function)(客观度/object)

给定W,可以由像素映射到类目得分,可以调整参数/权重W,使得映射的结果和实际类别吻合,损失函数是用来衡量吻合度的

损失函数 1:hinge loss/支持向量机损失

 对于训练集中的第i张图片数据x i,在W下会有一个得分结果向量f(x i ,W), 第j类的得分为我们记作f(x i ,W) j, 则在该样本上的损失我们由下列公式计算得到

 

 
 因为是线性模型,因此可以简化成

 

加正则化项:

 

 

损失函数2: : 互熵损失(softmax)

对于训练集中的第i张图片数据x i,在W下会有一个得分结果向量f yi,则损失函数记作

   

或者

其中一般:

计算机视觉与深度学习线性分类器

目录从线性分类器开始线性分类器的定义线性分类器的决策步骤线性分类器的矩阵表示线性分类器的wiT\\bmw_i^TwiT​如何理解线性分类器的决策边界线性分类器的损失函数损失函数的定义多类支持向量机损失从线性分类器开始线性... 查看详情

深度学习初步:

一、背景介绍  1.深度学习应用  2.一点基础:线性分类器    1)线性分类器得分函数:      (1)给定W,可以由像素映射到类目得分      (2)可以调整参数/权重W,使得映射的结果和实际类别吻合     ... 查看详情

深度学习—线性分类器理解

1、我们将要实现一种更强大的方法来解决图像分类问题,该方法可以自然地延伸到神经网络和卷积神经网络上。这种方法主要有两部分组成:一个是评分函数(scorefunction),它是原始图像数据到类别分值的映射。另一个是损失... 查看详情

《深度学习与计算机视觉算法原理框架应用》pdf+《深度学习之pytorch实战计算机视觉》pdf

下载:https://pan.baidu.com/s/12-s95JrHek82tLRk3UQO_w《深度学习与计算机视觉算法原理、框架应用》PDF,带书签,347页。《大数据架构详解:从数据获取到深度学习》PDF,带书签,373页。配套源代码。下载:https://pan.baidu.com/s/1P0-o29x0ZrXp8Wo... 查看详情

《动手学深度学习》softmax回归(pytorch版)

softmax-regression1分类问题2softmax回归模型3单样本分类的矢量计算表达式4小批量样本分类的矢量计算表达式5交叉熵损失函数6模型预测及评价小结前几节介绍的线性回归模型适用于输出为连续值的情景。在另一类情景中,模型输... 查看详情

《动手学深度学习》softmax回归(pytorch版)

softmax-regression1分类问题2softmax回归模型3单样本分类的矢量计算表达式4小批量样本分类的矢量计算表达式5交叉熵损失函数6模型预测及评价小结前几节介绍的线性回归模型适用于输出为连续值的情景。在另一类情景中,模型输... 查看详情

动手学深度学习v2学习笔记02:线性代数矩阵计算自动求导(代码片段)

前文回顾:数据操作、数据预处理文章目录一、线性代数实现1.1标量和向量1.2矩阵和多维张量1.3张量的运算1.3.1基础运算1.3.2按特定轴运算1.3.3乘积运算1.3.4范数二、矩阵计算2.1标量导数2.2向量导数2.2.1标量-向量求导2.2.2向量-... 查看详情

计算机视觉中的深度学习3:线性分类

Slides:百度云提取码:gs3n线性分类的参数线性分类的公式f(x,W)=Wx+bf(x,W)=Wx+bf(x,W)=Wx+b其中WWW为参数或者权重以一个有101010类的32×32×332\\times32\\times332×32×3的图片为例其中f(x,W)f(x,W)f(x,W)和bbb为(10,)(10,)(10,)向量 查看详情

深度学习必备基础知识

 线性分类器                 1.线性分类器得分函数CIFAR-10:一共有10个类别,几千张图片的分类任务给你一张图片,然后得出每个类别的分数是多少,结果是一个得... 查看详情

机器学习基础笔记:最简单的线性分类器

监督学习多用来解决分类问题,输入的数据由特征和标签两部分构成。我们由浅入深地介绍一些经典的有监督的机器学习算法。这里介绍一些比较简单容易理解的处理线性分类问题的算法。线性可分&线性不可分首先,什么是... 查看详情

深度学习之四:卷积神经网络基础

计算机视觉在深度学习的帮助下取得了令人惊叹的进展,其中发挥重要作用的是卷积神经网络。本节总结了卷积神经的原理与实现方法。1卷积神经网络1.1计算机视觉与深度学习计算机视觉要解决的问题是如何让机器理解现实... 查看详情

学习深度学习如何下手

...讨论是毫无意义的,刚开始应该先打好编程和数学基础。深度学习看似难度大,按照正确的学习路径学习,可以大大降低学习门槛,同时激发学习的乐趣。简单的说,学习路线大概如下:先学编程、数学和深度学习知识,然后动... 查看详情

零基础学python--机器学习:人工智能与机器学习概述

@TOC一、机器学习与人工智能、深度学习了解机器学习定义以及应用场景说明机器学习算法监督学习与无监督学习的区别说明监督学习中的分类、回归特点说明机器学习算法目标值的两种数据类型说明机器学习(数据挖掘)的开发流... 查看详情

搞定《动手学深度学习》-(李牧)pytorch版本的所有内容

目录目录简介阅读指南1.深度学习简介2.预备知识3.深度学习基础4.深度学习计算5.卷积神经网络6.循环神经网络7.优化算法8.计算性能9.计算机视觉10.自然语言处理环境参考(大家可以在这里下载代码)原书地址(大家可... 查看详情

斯坦福cs231n—深度学习与计算机视觉----学习笔记课时6

课时6线性分类器损失函数与最优化(上)多类SVM损失:这是一个两分类支持向量机的泛化SVM损失计算了所有不正确的例子,将所有不正确的类别的评分,与正确类别的评分之差加1,将得到的数值与0作比较,取两者中的最大值。... 查看详情

人工智能深度学习机器学习常见面试题241~260

目录241.线性分类器与非线性分类器的区别以及优劣242.贝叶斯网络243.因子图 查看详情

斯坦福cs231n—深度学习与计算机视觉----学习笔记课时12&&13

课时12神经网络训练细节part2(上)训练神经网络是由四步过程组成,你有一个完整的数据集图像和标签,从数据集中取出一小批样本,我们通过网络做前向传播得到损失,告诉我们目前分类效果怎么样。然后我们反向传播来得... 查看详情

google深度学习笔记从线性分类器到深度神经网络

转载请注明作者:梦里风林Github工程地址:https://github.com/ahangchen/GDLnotes欢迎star,有问题可以到Issue区讨论官方教程地址视频/字幕下载LimitofLinearModel实际要调整的参数很多如果有N个Class,K个Label,需要调整的参... 查看详情