深度学习中的数学
1、数学是基石,编程为工具
2、深度学习基本全是优化问题(数学)
微积分知识重点:
① 导数:导数法则、常见的函数的导数、
② 多元函数的导数:求梯度(偏导数)、二阶导数和hess矩阵
l 为什么需要使用矩阵表达多元函数?
方便计算、简洁
l 二次型求梯度 特别简单(需要了解:张矩阵)、
泰勒级数和极值:
l 实际中我们想求一个函数的极值点:
令f’(x) = 0,哇,太难了............怎么办?(泰勒展开)
一阶函数函数的导数是一个数,可以确定函数的极值点。但是二阶、多阶呢?
写成二次型后求hess矩阵,判断hess矩阵的正定性。
l 为什么要用梯度下降法???
使用泰勒展开,如果 δ为函数的梯度,
为了求出f’(x) = 0,是一种迭代求法。
概率论知识:
随机变量:分布函数、累积分布函数(求概率)、概率密度函数(累积分布函数的导数)
l 高斯分布(最完美的分布)
对称轴:μ 分散程度:δ
独立的高斯变量相加仍然是高斯分布!(神奇)。
X = x1 + x2 + x3 (三项以后)(任意独立分布加起来也是高斯分布)
贝叶斯公式(机器学习中最重要的公式):
矩阵重点:
特征值和特征向量的理解:
Ax = λx
这个式子是如此的简单粗暴,以致于从这个公式来看,给向量x乘上一个矩阵A,只是相当于给这个向量乘上了一个系数λ。偌大一个矩阵A对向量x的作用竟然本质上不过只是和一个小小的数字λ相同而已!!!
好像只是对x1,x2进行了旋转。但是x3的方向没变。
l 特征分解(对角化):
对称矩阵一定可以对角化(概率:协方差矩阵就是对角阵)
(PCA 就是根据矩阵的特征值来降维。)
协方差矩阵:
降维之后(降行维数),我们让列(a1 a2 a3)的方差尽可能大,让行之间(a1 a2 a3, b1 b2 b3)的方差尽可能小。
注意:Cx 为协方差矩阵 求出特征向量 * 原始矩阵 = 目标阵
优化问题:(数值分析知识)。