深度学习线性代数基础
2017-08-24 15:33
344 查看
基于DL4J和ND4J API的学习代码:
https://github.com/deeplearning4j/oreilly-book-dl4j-examples
什么是机器学习?
通过算法从原始数据中获取结构描述。
结构描述的形式有哪些?
包括:
1.决策树(规则)
2.线性回归(参数)
3.神经网络(权重)
什么是数据挖掘?
从数据中抽取信息。
关系:机器学习重在指在数据挖掘过程中使用的算法,是数据挖掘中最关键的一环。
生物学小常识:大脑大约有860亿个神经元和500万亿个连接。
当信息经过神经元时,神经元会把信息做些处理,只前转那些对构建更大的目标有用的信号,没用的信息被过滤掉。
蚂蚁是通过何种算法,在分布式的环境做出近拟最优方案,完成协作类任务的?这个问题很有意思。
什么是深度学习?
神经元网络超过2层就算是深度学习,比较以前的模型,神经元更多,连接方式更复杂,需要更多的计算资源,能自动抽取特征。
深度学习四种基本架构:
1.无监督的预训练网络;
2.卷积网
3.循环网(Recurrent neural networks)
4.递归网(Recursive neural networks)
可以是以上四种的组合,那就复杂了。
什么是特征抽取?
决定数据的哪些特点可以做为可靠标识这些数据的指标或指示器。深度学习强大之处,在于可以自动抽取这些指标。
自动分类是深度学习最擅长的。
让机器去学习某著名画家的画作,创作相拟风格的画作,也是个有趣的例子。
数据+模型=机器学习
线性代数基础:
标量scalar:一个数,一个变量。
向量Vector:由n个元素或标量组成的元组(n-tuple)、有序集合或数组。n个标量组成向量的过程称为向量化。
列向量:是一个 n×1 的矩阵,即竖着写的向量。
向量长度:欧几里德距离(Euclidean distance),点到原点的距离。
矩阵Matrice:二维数组,也可以看成是具有相同长度的一组向量。
n*m: 有n行,m列,第一个数是行数,第二个数是列数。
张量Tensor:多维数组,其含义也包括了二维和一维。
rank:张量的维度数,标量是0,向量是1,矩阵是2等等。
超平面Hyperplanes:一维的超平面是一个一维的子空间,二维的超平面是一维,三维的超平面是二维。
百度百科对超平面的解释:超平面是n维欧氏空间中余维度等于一的线性子空间(也就是必须是(n-1)维度)。这是平面中的直线、空间中的平面之推广(n大于3才被称为“超”平面),是纯粹的数学概念,不是现实的物理概念。因为是子空间,所以超平面一定经过原点。
一个n维空间,只要有划分,就分有超平面的概念。
比如一个平面必须用一条线(平面的超平面)去划分,划分是与分类相联系的。优化这条直线的参数,即超平面的参数,是线性模型的核心概念。
点乘Dot product:也称为标量乘或内乘,指两个长度相同的向量,对应位置的元素相乘,再求和,返回一个数。这个数含有很多信息。
用法:
1.点乘是对每个向量中元素大小的一种度量,如大的元素会产生更大的点乘(2*2=4),小的元素(小数)会产生更小的点乘(0.2*0.2=0.04)。
2.在标准化后,点乘可以是两个向量相似度的一种度量,在数学上称为余弦相似度(cosine similarity)。
标准化:向量内积的结果是没有界限的,一种解决办法是除以长度之后再求内积,这就是应用十分广泛的余弦相似度(Cosine similarity)。
直观的解释是:如果 x 高的地方 y 也比较高, x 低的地方 y 也比较低,那么整体的内积是偏大的,也就是说 x 和 y 是相似的。
举例,第一组比第二组相似性高:
[0.4,0.6],[0.3,0.7]的点乘为:0.504
[0.4,0.6],[0.7,0.3]的点乘为:0.264
元素级的乘element-wise product:又称为哈达马乘(Hadamard product),和内乘比较,只是不求和,其它一样,返回一个shape相同的向量。
外乘Outer product:又称张量乘,shape(m,k)乘shape(k,n)得到shape(m,n)。
在机器学习中,需要把文本,时间序列,音频,视频,图片等原如数据全部转为浮点向量,才能使用线性代数。
svmlight文件格式举例:
1.0 1:0.7500000000000001 2:0.41666666666666663 3:0.702127659574468 4:0.5652173913043479
2.0 1:0.6666666666666666 2:0.5 3:0.9148936170212765 4:0.6956521739130436
2.0 1:0.45833333333333326 2:0.3333333333333336 3:0.8085106382978723 4:0.7391304347826088
第一列:lable. 其它列:features,每个feature前面有位置下标。这种格式适于稀疏矩阵。
Ax = b中,矩阵A的每个列向量都视为一个独立的feature. x是参数向量。
如果x有解,则方程是一致性方程。需要用到A的逆运算。并不是所有的矩阵都是可逆的。
可逆矩阵是线性代数中的一个矩阵,其定义为在线性代数中,给定一个 n 阶方阵A,若存在一个n 阶方阵B, 使得AB=BA=In(或AB=In、BA=In 任满足一个),其中In 为n 阶单位矩阵,则称A 是可逆的,且B 是A 的逆阵,记作 A^(-1)。
若方阵A 的逆阵存在,则称A 为非奇异方阵或可逆方阵。
A是可逆矩阵的充分必要条件是 |A|不等于0. (方阵A的行列式不等于0)。
给定一个 n 阶方阵 A,则下面的叙述都是等价的:
A 是可逆的。
A 的行列式不为零。
A 的秩等于 n(A 满秩)。
A 的转置矩阵 AT也是可逆的。
AAT 也是可逆的。
存在一 n 阶方阵 B 使得 AB = In。
存在一 n 阶方阵 B 使得 BA = In。
如何求解线性方程?
直接计算:如高斯消元法(Gaussian Elimination)和正规方程法(Normal Equations)
迭代计算:如随机坡度下降(Stochastic Gradient Descent SDG),共轭斜量法(Conjugate Gradient Methods),交替最小二乘法(Alternating Least Squares)
我们得到的样本数据,就是矩阵A,标签就是b,训练出来的参数就是系数x。
https://github.com/deeplearning4j/oreilly-book-dl4j-examples
什么是机器学习?
通过算法从原始数据中获取结构描述。
结构描述的形式有哪些?
包括:
1.决策树(规则)
2.线性回归(参数)
3.神经网络(权重)
什么是数据挖掘?
从数据中抽取信息。
关系:机器学习重在指在数据挖掘过程中使用的算法,是数据挖掘中最关键的一环。
生物学小常识:大脑大约有860亿个神经元和500万亿个连接。
当信息经过神经元时,神经元会把信息做些处理,只前转那些对构建更大的目标有用的信号,没用的信息被过滤掉。
蚂蚁是通过何种算法,在分布式的环境做出近拟最优方案,完成协作类任务的?这个问题很有意思。
什么是深度学习?
神经元网络超过2层就算是深度学习,比较以前的模型,神经元更多,连接方式更复杂,需要更多的计算资源,能自动抽取特征。
深度学习四种基本架构:
1.无监督的预训练网络;
2.卷积网
3.循环网(Recurrent neural networks)
4.递归网(Recursive neural networks)
可以是以上四种的组合,那就复杂了。
什么是特征抽取?
决定数据的哪些特点可以做为可靠标识这些数据的指标或指示器。深度学习强大之处,在于可以自动抽取这些指标。
自动分类是深度学习最擅长的。
让机器去学习某著名画家的画作,创作相拟风格的画作,也是个有趣的例子。
数据+模型=机器学习
线性代数基础:
标量scalar:一个数,一个变量。
向量Vector:由n个元素或标量组成的元组(n-tuple)、有序集合或数组。n个标量组成向量的过程称为向量化。
列向量:是一个 n×1 的矩阵,即竖着写的向量。
向量长度:欧几里德距离(Euclidean distance),点到原点的距离。
矩阵Matrice:二维数组,也可以看成是具有相同长度的一组向量。
n*m: 有n行,m列,第一个数是行数,第二个数是列数。
张量Tensor:多维数组,其含义也包括了二维和一维。
rank:张量的维度数,标量是0,向量是1,矩阵是2等等。
超平面Hyperplanes:一维的超平面是一个一维的子空间,二维的超平面是一维,三维的超平面是二维。
百度百科对超平面的解释:超平面是n维欧氏空间中余维度等于一的线性子空间(也就是必须是(n-1)维度)。这是平面中的直线、空间中的平面之推广(n大于3才被称为“超”平面),是纯粹的数学概念,不是现实的物理概念。因为是子空间,所以超平面一定经过原点。
一个n维空间,只要有划分,就分有超平面的概念。
比如一个平面必须用一条线(平面的超平面)去划分,划分是与分类相联系的。优化这条直线的参数,即超平面的参数,是线性模型的核心概念。
点乘Dot product:也称为标量乘或内乘,指两个长度相同的向量,对应位置的元素相乘,再求和,返回一个数。这个数含有很多信息。
用法:
1.点乘是对每个向量中元素大小的一种度量,如大的元素会产生更大的点乘(2*2=4),小的元素(小数)会产生更小的点乘(0.2*0.2=0.04)。
2.在标准化后,点乘可以是两个向量相似度的一种度量,在数学上称为余弦相似度(cosine similarity)。
标准化:向量内积的结果是没有界限的,一种解决办法是除以长度之后再求内积,这就是应用十分广泛的余弦相似度(Cosine similarity)。
直观的解释是:如果 x 高的地方 y 也比较高, x 低的地方 y 也比较低,那么整体的内积是偏大的,也就是说 x 和 y 是相似的。
举例,第一组比第二组相似性高:
[0.4,0.6],[0.3,0.7]的点乘为:0.504
[0.4,0.6],[0.7,0.3]的点乘为:0.264
元素级的乘element-wise product:又称为哈达马乘(Hadamard product),和内乘比较,只是不求和,其它一样,返回一个shape相同的向量。
外乘Outer product:又称张量乘,shape(m,k)乘shape(k,n)得到shape(m,n)。
在机器学习中,需要把文本,时间序列,音频,视频,图片等原如数据全部转为浮点向量,才能使用线性代数。
svmlight文件格式举例:
1.0 1:0.7500000000000001 2:0.41666666666666663 3:0.702127659574468 4:0.5652173913043479
2.0 1:0.6666666666666666 2:0.5 3:0.9148936170212765 4:0.6956521739130436
2.0 1:0.45833333333333326 2:0.3333333333333336 3:0.8085106382978723 4:0.7391304347826088
第一列:lable. 其它列:features,每个feature前面有位置下标。这种格式适于稀疏矩阵。
Ax = b中,矩阵A的每个列向量都视为一个独立的feature. x是参数向量。
如果x有解,则方程是一致性方程。需要用到A的逆运算。并不是所有的矩阵都是可逆的。
可逆矩阵是线性代数中的一个矩阵,其定义为在线性代数中,给定一个 n 阶方阵A,若存在一个n 阶方阵B, 使得AB=BA=In(或AB=In、BA=In 任满足一个),其中In 为n 阶单位矩阵,则称A 是可逆的,且B 是A 的逆阵,记作 A^(-1)。
若方阵A 的逆阵存在,则称A 为非奇异方阵或可逆方阵。
A是可逆矩阵的充分必要条件是 |A|不等于0. (方阵A的行列式不等于0)。
给定一个 n 阶方阵 A,则下面的叙述都是等价的:
A 是可逆的。
A 的行列式不为零。
A 的秩等于 n(A 满秩)。
A 的转置矩阵 AT也是可逆的。
AAT 也是可逆的。
存在一 n 阶方阵 B 使得 AB = In。
存在一 n 阶方阵 B 使得 BA = In。
如何求解线性方程?
直接计算:如高斯消元法(Gaussian Elimination)和正规方程法(Normal Equations)
迭代计算:如随机坡度下降(Stochastic Gradient Descent SDG),共轭斜量法(Conjugate Gradient Methods),交替最小二乘法(Alternating Least Squares)
我们得到的样本数据,就是矩阵A,标签就是b,训练出来的参数就是系数x。
相关文章推荐
- 深度学习框架Keras学习系列(一):线性代数基础与numpy使用(Linear Algebra Basis and Numpy)
- 深度学习数学基础之线性代数
- 深度学习之二——相关数学基础(线性代数理论)
- [深度学习基础] 2. 线性分类器
- 吴恩达机器学习 学习笔记 之 三 线性代数基础
- 零基础入门深度学习(2) - 线性单元和梯度下降
- 深度学习之数学基础(线性代数篇)
- 深度学习零基础入门一:线性回归
- 机器/深度学习矩阵和线性代数学习笔记
- 零基础入门深度学习(2) - 线性单元和梯度下降--https://www.zybuluo.com/hanbingtao/note/448086
- 零基础入门深度学习(2) - 线性单元和梯度下降
- (转载)深度学习基础(2)——线性单元和梯度下降
- 深度学习中得数学,高效计算基础与线性分类器
- 深度学习笔记(一)线性分类器(基础知识)
- 零基础入门深度学习 | 第二章:线性单元和梯度下降
- 零基础入门深度学习(2) - 线性单元和梯度下降
- 零基础入门深度学习(2) - 线性单元和梯度下降
- 零基础入门深度学习(2) - 线性单元和梯度下降
- 深度学习日记 1 - 线性代数
- 深度学习基础模型算法原理及编程实现--02.线性单元