机器学习理论笔记
…
基础
基本数学
基础包括:
- 导数
- 向量
- 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。
最小风险贝叶斯决策
不考虑错误带来的风险,而将各种错误一视同仁,是不恰当的。因此使用最小风险决策。理论上保证风险最小化。
状态空间Ω
样本x
为d
维随机变量
决策空间A={..., αi, ...}
损失函数λ(αi, wi)
最小期望风险 min R(α)=积分(R(α(x)|x) * p(x), dx)
步骤:
- 计算后验概率
- 利用决策表,计算条件风险R(ai|x)
- 决策:选择最小条件风险a = arg min (i=1,..,k) R(ai|x)
Neyman-Pearson 准则
在先验概率和损失未知的情况下如何决策,使用该准则。
在某一个错误比另一个错误更重要的时候,使用该准则。
基本思想:固定一类错误率,求另一类错误率最小。拉格朗日数乘法。
min L = P1(e) + r(P2(e) - c)
正态分布的统计决策
分类器
- 表达方式:判别函数,形式不一
- 决策面,2个判别函数相等,关于x的方程
马氏距离。
正态分布的判别函数:
- 协方差阵相等,类内各个维度不相关,且方差相等。最小距离分类器。超平面
wT(x-x0)=0
- 协方差阵相等,超平面
- 协方差阵不等,超曲面
线性分类器
简单,体积小,但比贝叶斯错误率高。
线性判别函数
直接使用样本设计分类器。
判别函数: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 实时快速目标检测方法