水很深的深度学习task01
人工智能、机器学习和深度学习
人工智能、机器学习和深度学习这几个名词我们能经常听到,但是它们之间有什么样的联系呢?首先,人工智能是最大的一个范围,而机器学习和深度学习都是人工智能的一部分。接着,机器学习又包含深度学习,也就是说深度学习其实是机器学习的一个分支,虽然深度学习的风头甚至盖过了机器学习。
人工智能
何谓人工智能?其实人工智能并没有一个严格的定义,不同的人对它有不同的定义。
定义一:人工智能是研究如何制造出人造的智能机器或智能系统,来模拟人类的智能活动,以延伸人们智能的科学。使机器做那些人需要
通过智能来做的事情
定义二:人工智能是计算机科学的一个分支,是研究使计算机表现出人类智能的学科
定义三:人工智能是一门以知识为核心的,研究知识的表示、知识的获取、知识的运用的科学
人工智能虽然听起来很新颖,但其实早在1956年就已经诞生了。1956年夏,在美国的达特茅斯(Dartmouth)学院,由McCarthy(斯坦福大)、Minsky(哈佛大学)、Lochester(IBM公司)、Shannon(贝尔实验室)四人共同发起,邀请IBM公司,MIT,还有Simon、Newell等人参加,在一起探讨用机器模拟智能,经McCarthy提议,决定使用“人工智能”一词来概括这个研究方向。标志着人工智能这个学科的正式诞生。
机器学习
机器学习定义 :让计算机具有像人一样的学习和思考能力的技术的总称。具体来说是从已知数据中获得规律,并利用规律对未知数据进行预测的技术
机器学习有三个分类:
1.有监督学习(SupervisedLearning):这一类的机器学习的训练需要标签,也就是答案。一个形象的例子就是我们通过不断地刷题,然后对答案,如此往复,不断提高自己的能力。
2.无监督学习(UnsupervisedLearning):这一类机器学习算法不需要标签就能完成训练。
3.强化学习(ReinforcementLearning):强化学习是通过自己不断地进行尝试,并根据环境中得到的反馈来提高自己,就类似于婴儿学习走路。
深度学习
深度学习其实就是神经网络,只不过深度学习算法的网络层数比传统的神经网络要深很多。
深度学习可以是有监督的,也可是无监督的。有监督的深度学习算法有——深度前馈网络、卷积神经网络、循环神经网络等,而无监督的深度学习算法有——深度信念网、深度玻尔兹曼机,深度自编码器等。
现在人工智能领域的很多工作都是依靠深度学习来实现的,深度学习主要应用于一下几个方面:
1.计算机视觉
2.自然语言处理
3.语音识别
部分数学基础
矩阵基本知识
张量(tensor)
矩阵想必大家都不陌生,矩阵就是二维的数组,在深度学习中张量是一个更为常用的数学量。
张量(tensor)就是一个多维数组,将不同维度的数组定义为不同阶的向量。
1.将标量定义为0阶向量,比如一个自然数5
2.一维数组就是一阶向量,比如[1,2,3]
3.二维数组——矩阵,就是二阶向量
4.将多个矩阵的叠加称为三阶向量(注意,是多个矩阵叠加而非三个)
5.如果将四阶张量看成是一维数组的话,那么三阶张量就是数组中的元素。为方便理解这里我们以图片为例子,一张图片有三个通道,那么我们将一张图片视为一个三阶张量(如下图所示)
那么四阶的向量就应该是下面这幅图的样子
由于5阶及以上的张量基本用不到,这里就不在介绍。
矩阵分解
机器学习中常见的矩阵分解有特征分解和奇异值分解。由于特征分解得到的是特征值和特征向量,下面给出它们的定义:
若矩阵 A 为n维方阵,则存在n维非零向量 x 和常数 λ 满足Ax=λx,称 λ 为矩阵 A的一个特征值,x 为矩阵 A 关于λ 的特征向量。
矩阵特征分解
矩阵特征分解的目的就是提取出矩阵最重要的特征。
那么如何求解特征值和特征向量呢?我们可以从原公式入手
由于矩阵有非零解的条件是行列式为0,则
通过上面这个式子就可以算出矩阵的特征值λ了。
然后将求得的特征值带回到下图所示公式中就可以求出特征向量。
求得特征值和特征向量后,特征值分解就可以表示为如下形式:
其中Q就是特征向量组成的矩阵,而Σ则是一个对角矩阵,每一个对角元素就是一个特征值,注意这些特征值是从大到小排列的,也就是说对角元素的值是从左上角到右下角是递减的。
我们都知道图像其实就是一个像素值组成的矩阵,假设有一个100x100的图像,对这个图像矩阵做特征值分解,其实是在提取这个图像中的特征,这些提取出来的特征是一个个的向量,即对应着特征向量。而这些特征在图像中到底有多重要,这个重要性则通过特征值来表示。
奇异值分解(SVD)
奇异值分解和特征分解类似,也是将一个矩阵分解为三个部分,但不同的是特征分解只能对方阵进行,而奇异值分解对任意的矩阵都成立。奇异值分解的形式如下图所示
假设A为一个m*n的矩阵,那么U就是一个mxm的正交矩阵, Σ是一个 mxn的对角矩阵,只有对角线上有非零值,V是一个nxn的正交矩阵。可以用下面的一张图清晰地体现它们的结构
现在问题来了,如何求取U、 Σ和V这几个值呢?前面说过A是一个mxn的矩阵,那么A的转置乘以A就可以得到一个nxn的方阵,既然是方阵那么我们就可以求它的特征值和特征向量
通过这种方式求得的所有特征向量组成的nxn矩阵V,就是奇异值分解中我们要求的V,一般将它称为右奇异值矩阵。
当我们用A乘以A的转置可以得到一个mxm的方阵,这样我们就又可以计算出这个方阵的特征向量了,求得的所有特征向量组成的mxm矩V,就是奇异值分解公式中我们要求的U,一般称其为左奇异矩阵。
现在只剩下Σ未知了,其实他的求法也很简单。前面我们不是通过A乘以A的转置求得了它们相乘后的方阵的特征值和特征向量了吗?
而Σ对角线上的奇异值就等于所求的的特征值的开方
这样的话,显然,Σ对角线上的元素值也是从左上角到右下角不断递减的,因为前面说过特征值的大小是从左上角到右下角不断递减的。