一. 感知机 (perception)
latex 数学表达式命令相关
二. 朴素贝叶斯法(naive Bayes)
三. 决策树(decision tree)
分类决策树模型:
- 结点(node)
- 内部结点(internal node):一个特征或属性
- 叶节点(leaf node):一个分类
- 有向边(directed edge)
一般包含三个步骤:
- 特征的选择
- 一般是通过选择信息增益最大的特征作为初始根节点,然后依次递归,直到不能继续下去为止(递归结束条件)
- 决策树的生成
- 使用 ID3 算法,运用信息增益的方式构建决策树:只有树的生成,容易产生过拟合
- 使用 C4.5 算法,是对上个算法的改进,运用 信息增益比 的方式构建决策树,过程一样
决策树的修剪
- 运用决策树生成算法产生的树往往容易出现过拟合的现象,也就是构建的决策树过于复杂
- 简化的过程称为 剪枝(pruning)
极小化决策树整体的损失函数(loss function)来实现
将 (3) & (2) 式回代入 (1) 式,则最终将 (1) 式化简为:$C_\alpha(T) = C(T) + \alpha \cdot |T|$
其中 $C(T)$ 表示的是模型对训练数据的预测误差,也就是模型与训练数据的拟合程度计算修剪前与修剪后,进行损失函数的比较 $C(T_{before}) \& C(T_{after} )$,如果修剪后的损失更小,则进行修剪
1. CART 算法
分类与回归树(classification and regression tree, CART)是一种决策树学习方法,包含了上述三个阶段
- 特征选择:基尼指数(Gini Index)最小化的原则,进行特征选择
- 树的生成:使用最小二乘法,生成最小二乘回归树(least squares regression tree),是一种二叉决策树
- 剪枝操作:剪枝也是计算子树的损失函数
四. 逻辑斯蒂回归与最大熵模型(logistic regression and maximum entropy model)
logistic regression 与 maximum entropy model 都属于 对数线性模型(log linear model)
1. logistic regression
分布函数:
密度函数:
二项逻辑斯提回归:
比较 (1) (2)式子的概率值的大小,将 $x$ 分类到概率值较大的那一类。
几率(odds)是指该事件发生的概率与该事件不发生概率的比值:
对数几率(log odds)或者 logit 函数:
再利用极大似然法估计参数模型 $w$ ,似然函数为:
最后求对数似然函数,最终得到参数 $w$ 的估计。
2. maximum entropy
最大熵模型(条件熵):
其中对数为自然对数。
最大熵模型的学习过程(最优化问题,转换为求最小值的问题):
最大熵模型的极大似然估计的一般形式:
其中,$Z_w(x)$ 是规范化因子,$f_i$ 是特征函数,$w_i$ 是特征的权值:
对数似然函数为:
3. 模型学习的最优化算法
常用的方法通常有 改进的迭代尺度法、梯度下降法、牛顿法或者拟牛顿法等。
(1) 改进的迭代尺度法
改进的迭代尺度法(improved iterative scaling, IIS)是一种最大熵模型学习的最优化算法。
参数向量的更新:$ w \leftarrow w +\delta $
得到对数似然函数改变量的下界:$L(w+\delta) - L(w) \geq B(\delta \mid w)$
求$B(\delta \mid w)$对$\delta_i$的偏导数:
令 3.1 等于零,求得$\delta_i$,也就是下列方程的解:
五、提升方法(boosting)
boosting 是在分类问题中,通过改变训练样本的权重,学习多个基本分类器(弱分类器),并将这些分类器进行线性组合,得到一个强分类器,提高分类的性能。
弱学习算法(weakly learnable) —> boosting —> 强学习算法(strongly learnable)
提升方法 AdaBoost 算法
大多数的提升方法是改变训练数据的概率分布,针对不同的训练数据分布调用弱学习算法,然后学习一系列的弱分类器。
AdaBoost 算法:
- 加大对被错误分类样本的关注:提高前一轮弱分类器错误分类样本的权值,降低被正确分类样本的权值
- 加大分类误差小的弱分类器的权值,使其在表决中起较大的作用(加权多数表决的方法)