一. 什么是机器学习
- 概率模型
- 神经网络
- ...
都是为了拟合输入与输出之间的关系
- Model Learning <==> Model Learning :给定数据,选择合适的数学模型,解释数据的道理
- 在假设空间找到最好的假设来解释数据,用模型来预测分类
“All models are wrong, but some are useful.” --- George E.P.Box
二. 机器学习的应用
- 人工智能 智能系统、计算神经学、机器学习等都是人工智能的分支
- 模式识别 信号、图像、声音等找到pattern,较早的学科
- 机器学习
- 数据挖掘 在数据库和机器学习之间发展
- 统计学习 机器学习的一部分,和统计学相关,机器学习的主流方法
- 深度学习 神经网络拟合复杂关系,机器学习的分支
-
- 自然语言处理
- 信息检索
- 计算机视觉
- 语言识别
- 图像处理
- 生物识别
- 生物信息
三. 机器学习的范畴
- 监督学习
- 分类
- 预测、拟合
- 无监督学习
- 聚类
- 降维
- 半监督学习
- 增强学习
四. 函数与数据泛化
- 函数
- 一组输入和一组输出之间的关系
- 现实数据
- 一般需要用时间相关的动态模型逼近拟合
- 数据泛化
- 理想模型:问题领域内的训练数据到任意的数据上泛化性能良好,从而可以在未来对模型没有见过的数据进行预测(在概括与精确之间的平衡)
- 奥卡姆剃刀:关于同一个问题的多种理论,每种理论都能作出同样准确的预言,那么应该挑选其中使用假定最少的
- 维度灾难
- 数据维度增加使得问题变得非常复杂
- 空间体积提高太快,可用数据变得稀疏,用来支撑结果所需要的数据量随维度增高而呈指数级增长
- 过拟合:随着模型复杂度增加(神经网络层数、决策树层数、多项式指数等)模型对训练数据解释完美,但对测试数据解释不好
- 如何解决过拟合:
- 更多数据,更真实了解数据分布
- 使用集成方法来平衡模型
- 集成学习:通过训练多个分类器,然后将其组合起来,从而达到更好的预测性能,提高分类器的泛化能力(Bagging、Boosting)
- 约束,把复杂度加惩罚项
- N次交叉验证
五. 线性代数
- 向量
- 大小
- 方向
- 平行四边形法则
- 向量空间
- 一个向量空间包含无数组向量,但是这些向量必须满足一定的规则,并且向量空间作为一个类,有自己的固有属性
- 欧几里得空间
- 笛卡尔坐标系(直角坐标系)的空间
- 生活中的三维空间
- 模 norm
- 向量空间内,模和范式一致
- 模是一个标量
- L-0 norm : 求向量中有多少非零数
- L-∞ norm : L-∞ norm = max(xi)
- 因为指数次幂增长非常sharp,所以只要大一点点,无穷次幂差别都会非常大
- L-1 norm : Σi |xi|
- L-p norm: ( Σi |xi|p )1/p
- 矩阵 Matrix
- 内积运算:将两个向量映射为一个实数,A与B的内积等于A在B的投影长度乘以B的模。若 |B| = 1,A•B=|A|cos(α) <==> A与B的内积等于A向B所在直线投影的矢量长度
- 基:确定一组基,在基所在的各个直线上给出向量的投影值,就可以准确描述向量
- 分别计算向量和两个基的内积
- 可表示为矩阵相乘的形式
- 矩阵相乘的物理意义:将右边矩阵中的每一列列向量变换到左边矩阵中每一行行向量为基所表示的空间中去
- 矩阵是在原有欧几里得空间上的线性变换
- 张量 tensor
- 一个标量(scalar)可以看做零阶张量
- 一个向量(vector)可以看做一阶张量
- 一个矩阵(matrix)可以看做二阶张量
- 张量是一个多维的数据存储形式,数据的维度被称为张量
- eg : RGB彩色图片可表示成一个三阶张量,三个维度分别为图片高度、图片宽度、色彩数据
- 行列式
- 行列式求值
- 行列式几何含义
- 行列式中的行或列向量所构成的超平行多面体的有向面积或有向体积
- 特征值与特征向量
- 矩阵是在欧几里得空间上的线性变换,变换上若找到矩阵的特征向量,那么做变换就是在这个特征向量方向上扩大 λ 倍 (λ = 特征值)
- tr(A) = 计算方阵A上对角线的加和
- 矩阵的特征值分解
- 奇异值分解SVD
- 把一个矩阵分解成三个矩阵的乘积,其中有一个矩阵是对角阵
- 矩阵不是方阵的情形下,一种广义的特征分解
- 和把一个向量拆成一组正交向量之和相似,这里向量换成矩阵,σ 对应坐标。
- 因式分解、泰勒展开、傅里叶变换、特征值分解、奇异值分解都是想要把当前数据表示为一组某种意义下相互独立(不能相互表达)的数据叠加的形式。目的是简化计算处理,或舍弃次要信息。
- 向量的导数
- 雅可比矩阵
- 黑塞矩阵
- 凸函数
- 凸集合:任何两个点的直线相连上所有的点都在集合内
- 凸函数:函数图像是“笑脸”型☺
- 激活函数、神经网络都喜欢用指数函数,因为它是凸函数,容易求导,容易顺着梯度寻找最优值。
六. 概率与统计
- 概率
- 客观概率基于频次,重复采样(掷骰子)
- 主观概率基于主观度量(贝叶斯概率)
- 概率公理
- P(A) ≥ 0, 如果小于0,事件不可能发生
- 任何两个独立事件,P(A ∪ B) = P(A) + P(B)
- 样本空间内所有事件的概率和 = 1
- 条件概率
- 给定B的条件下,A的概率 P( A | B ) = P(A ∩ B) / P(B)
- 全概率 :P(B) = Σi P( B | Ai )P(Ai)
- 独立性
- 事件A和事件B相互独立 <==> P(A ∩ B) = P(A)P(B) ,P( A | B ) = P(A)
- 贝叶斯公式 :P( A | B ) = P( B | A )P(A) / P(B)
- P(A) : 先验概率
- P( B | A) : 似然值
- P( A | B ) :后验概率
- 随机变量
- 离散型 & 连续型
- 期望
- 离散型 :E(X) = Σpixi
- 连续型:E(X) = ∫+∞-∞ xf(x) dx ( f(x) 为概率密度函数)
- 联合概率分布
- 包含多个条件且所有条件同时成立的概率
- 离散型联合概率分布:变量X和变量Y的联合分布完全决定X的概率分布和Y的概率分布(联合分布的边缘分布)
- 连续型联合概率分布:F(x, y) 为一非负函数 f(x, y) 的积分表示,f(x, y)为联合概率密度函数
- 概率密度函数PDF (Probability Density Function)
- 连续随机变量
- 面积为1
- 描述不确定性的方法
- 一些常见概率分布
- 伯努利分布
- 最简单的 0, 1 分布
- p(x) = px(1 - p)1-x
- E(X) = p
- Var(X) = p(1 - p)
- 二项式分布 (单变量分布,掷硬币)
- 每次试验都服从伯努利分布
- 试验合在一起,算成功概率,就是用二项式分布
- p(k) = Cnkpk(1-p)n-k
- E(X) = np
- Var(X) = np(1 - p)
- 多项式分布 (多变量分布,掷骰子)
- 每种可能发生次数的联合概率分布
- 多项式分布的概率密度函数可用一个 Gamma 函数表达
- Gamma 分布
- Gamma 函数:$ Gamma(x)=int_{0}^{infty} t^{x-1} e^{-t} d t $
- 通过分部积分的方法可以得到一个递归性质
- egin{aligned} Gamma(x+1) &=int_{0}^{infty} t^{x} e^{-t} d t \ &=-int_{0}^{infty} t^{x} d e^{-t} \ &=-left[t^{x} e^{-t} ight]_{0}^{infty}+int_{0}^{infty} e^{-t} d t^{x} \ &=x int_{0}^{infty} t^{x-1} e^{-t} d t=x Gamma(x) end{aligned}
- $ Gamma(x)$ 函数可以看成阶乘在实数集上的延拓,$ Gamma(n) = (n-1)!$
- Gamma 函数:$ Gamma(x)=int_{0}^{infty} t^{x-1} e^{-t} d t $
- Beta 分布
- 可看做概率的概率分布
- 与 Gamma 函数有关系
- $operatorname{Beta}(a, b)=frac{ heta^{a-1}(1- heta)^{b-1}}{B(a, b)} propto heta^{a-1}(1- heta)^{b-1}$
- B 函数是一个标准化函数,为了使得这个分布的概率密度积分等于1
- Beta 分布是观察一系列二项分布,但每个二项分布的 n, p 都是未知的情况下,成功率 p 的分布。其中 $alpha$ 与成功事件数有关,$eta$ 与失败事件数有关
- 泊松分布
- 描述单位时间内随机事件发生的次数
- 是一种描述和分析稀有事件的概率分布,要观察到这类时间,样本含量 n 必须很大
- $P(X=k)=frac{e^{-lambda} lambda^{k}}{k !}$
- 参数 $lambda$ 是单位时间 (或单位面积) 内随机事件的平均发生率
- 正态分布 (高斯分布)
- 非常常见的连续概率分布,常用来表示不明随机变量
- 对数正态分布
- 随机变量的对数服从正态分布
- 指数分布
- 事件以恒定平均速率连续且独立地发生的过程
- Gamma 分布的特殊情况
- 无记忆性
- 伯努利分布