机器学习理论笔记

基础

基本数学

基础包括:

  • 导数
  • 向量
    • L-P范数:L1,绝对值和;L2,向量长度
    • 线性相关与线性无关
  • 矩阵
  • 偏导
  • 梯度:多元函数对各自自变量偏导形成的向量
  • 雅克比矩阵:对于两个向量有映射:$y=f(x)$,则雅克比矩阵是输出向量对输入向量的偏导数矩阵
  • Hessian矩阵:一个多元函数的二阶偏导矩阵,一般是一个对称矩阵
    • 简写:▽^2 f(x)
    • 正定,有极小值;负定:极大值;不定,不是极值点
  • 泰勒展开
    • f(x)=f(x0) + (▽f(x0))^T (x-x0) + 1/2 (x-x0)^T H(x-x0) + o(||x-x0||^2)
  • 行列式
  • 特征值与特征向量
  • 奇异值分解 SVD:
    • 矩阵对角化只适用方阵,而奇异值分解适合非方阵情况。
    • A=UΣV^T
    • U V 正交,分别列是左奇异向量,行是右奇异向量,Σ为对角阵
  • 二次型
    • 纯二次项构成的函数
  • 向量与矩阵求导

最优化方法

例如求函数极小值问题:

梯度下降法:保证梯度与变化率成绩小于零。
牛顿法:驻点处导数为零,通过迭代得到。
坐标下降法
拉格朗日乘数法:用于带约束条件使用
凸优化:

  • 仿射子空间
  • 多面体
  • 多个凸集的交集
    拉格朗日对偶
    KKT条件
    拟牛顿法

概率论

随机事件与概率
条件概率
随机变量
数学期望与方差
随机向量
最大似然估计

算法分类

有监督学习和无监督学习:聚类、数据降维。
分类与回归:样本是整数,分类;样本是浮点数,回归。
判别模型与生成模型。
强化学习。

模型评价

正样本判定为正:TP
负样本判定为负:TN

正样本判定为负:FN
负样本判定为正:FP

精度:TP/(TP+FP)
召回率:TP/(TP+FN)

ROC曲线:

  • 真阳率:TPR=TP/(TP+FN),能被测出的人脸
  • 假阳率:FPR=FP/(FP+TN),被误认为人脸

混淆矩阵:应用于k分类问题,表示i类样本判定到j类。
交叉验证

模型选择

过拟合与欠拟合
偏差与方差
正则化:使用L2范数,简化模型,让函数可导。

贝叶斯分类器

贝叶斯公式描述了两个相关的随机事件或随机变量的概率关系。使用贝叶斯公式,可以在已知样本特征的情况下反推所属类别。

求解需要的参数:特征向量的概率分布,每一类出现的概率,每一类样本的条件概率。常用正态分布表示特征向量的概率分布。

朴素贝叶斯分类器

假设特征向量的各个分量相互独立。

对于每一类出现的概率,类概率是已知的,即每一个分类出现的概率是知道的。

特征向量的概率分布,可以记为Z,归一化因子。

每一类样本的条件概率,分两种情况估计:

若特征向量的分量是离散型:P=N(Xi=v, y=c)/N(y=c)

连续型

贝叶斯决策

最小错误率贝叶斯决策

等价于最大后验概率。保证理论上错误率最小。

min P(e) = 积分(P(e|x) * p(x), dx) = min P(e|x)

等价形式:
如果p(x|w1)*P(w1) > p(x|w2)*P(w2) 则选择w1。

最小风险贝叶斯决策

不考虑错误带来的风险,而将各种错误一视同仁,是不恰当的。因此使用最小风险决策。理论上保证风险最小化。

状态空间Ω
样本xd维随机变量
决策空间A={..., αi, ...}
损失函数λ(αi, wi)

最小期望风险 min R(α)=积分(R(α(x)|x) * p(x), dx)

步骤:

  1. 计算后验概率
  2. 利用决策表,计算条件风险R(ai|x)
  3. 决策:选择最小条件风险a = arg min (i=1,..,k) R(ai|x)

Neyman-Pearson 准则

在先验概率和损失未知的情况下如何决策,使用该准则。

在某一个错误比另一个错误更重要的时候,使用该准则。

基本思想:固定一类错误率,求另一类错误率最小。拉格朗日数乘法。

min L = P1(e) + r(P2(e) - c)

正态分布的统计决策

分类器

  • 表达方式:判别函数,形式不一
  • 决策面,2个判别函数相等,关于x的方程

马氏距离。

正态分布的判别函数:

  1. 协方差阵相等,类内各个维度不相关,且方差相等。最小距离分类器。超平面wT(x-x0)=0
  2. 协方差阵相等,超平面
  3. 协方差阵不等,超曲面

线性分类器

简单,体积小,但比贝叶斯错误率高。

线性判别函数

直接使用样本设计分类器。
判别函数:g(x) = w^T * x + w0
w为权向量。g(x)为决策面方程。

x到决策面垂足的距离:r = g(x)/||w||

线性判别相关软件包:Liblinear

线性回归:f(x; w, b) = wT * x + b
增广化:f(x; w^) = wT^ * x^

学习准则:R(w) = 1/2 || y - XT * w||^2,求R(w)导数为0。

Fisher线性判别分析

sample向线上投影,同类的聚集,不同的分开。重要的是投影的方向w。

求每一类的中心,再算每类到各自中心的类内离散度S = (xj - m)(xj - m)T

总类内离散度矩阵为SW = S1 + S2

类间离散度矩阵SB = (m1 - m2)(m1 - m2)T

类间尽量分开,类内尽量紧致。

投影后的中心为M,则(M1-M2)=(wT(m1-m2))^2

J(w) = (M1 - M2)^2 / (S1^2 + S2^2) 类间分子尽量大,类内分母尽量小

也就是:J(w) = wT * SB * w / wT * SW * w

计算步骤

分类好后再划线分割原始数据。

主成分分析PCA:对一组数据向某一个方向投影,使其方差尽量大,尽量散开。

计算步骤

看奇异值大小,得出分到几维。

LDA 与 PCA。
都是降维,都使用矩阵特征分解,都假设数据符合高斯分布。
LDA是有监督,PCA无监督。
LDA最多降维到C类数据的C-1维。
LDA还可以用于分类。
LDA选择分类性能最好的投影方向,PCA选择方差最大方向。

PCA各种变种:
Sparse PCA
Online PCA
Robust PCA,鲁棒主成分分析。
Probabilistic PCA

Laplacian Eigenmaps 拉布拉斯特征映射,降维,同类尽量紧凑。
E(y) = w(ij) * (yi - yj)^2, 约束 yTy = 1
算法:

  • 构建近邻图
  • 计算每条边的权重(不相连为0)
    • 热核权重
    • 01权重
  • 求特征向量方差,Ly=λy,将点xi映射到(y1, y2, …)i

感知器

线性可分。

解向量和解区。

最小平方误差判别

不知道是否线性可分。

线性支持向量机

多类线性分类器

参数估计

最大似然估计

仅从训练样本出发,参数看做确定变量。

贝叶斯估计

从参数的先验知识和样本出发,把参数看成未知的随机变量。

将离散的决策状态变为连续的估计。
条件风险:损失函数*概率密度 的 积分。

差别

最大似然估计:没有先验知识,假设模型不变,计算简单。

贝叶斯:利用参数的先验信息,估计的概率模型相比于假设模型会发生变化,可理解性差,计算复杂。

吉布斯采样:对后验分布随机采样,用参数的算数平均来估计期望。
Statistical Pattern Recognition
蒙特卡洛
马尔科夫链

模型

YOLO 实时快速目标检测方法