第3章 线性模型
基本形式
给各个属性分配权值,和数对应到预测函数
线性回归
- 定义:给定离散的数据点(属性,标记)数据对,学习线性模型预测输出
- 对于输入属性
- 输入属性数目只有一个
- 离散属性:存在序关系的转换为大小不同的值,不存在序关系的转化为0/1向量
- 输入属性数目只有一个
- 基于均方误差最小化进行模型求解的方法:「最小二乘法」
- 求解w,b使得均方误差最小的过程称为最小二乘「参数估计」
- 对均方误差函数E(w,b)分别关于w和b求导,令导数为0
- 原理:E是关于w和b的凸函数;判断凸函数方法:二阶导数在区间上非负(若严格大于0则称严格凸函数)
- 多元线性回归
对数几率回归
- 将分类任务用线性模型解决
- 「单位阶跃函数」:以0.5为界将0~1的实值转化为0/1标记(自变量只接收0/0.5/1三个离散值)
- 「对数几率函数」:y=1/(1+e^-z) 是一种Sigmoid函数(形似S的函数)
- 可以变形为ln(y/(1-y))=z
- 左边称为「对数几率」,即几率的自然对数
- 几率(odds)是正确可能性/错误可能性
- 优点
- 无须假设数据分布
- 可得近似概率预测
- 对率函数是任意阶可导凸函数
- 求解w和b【P59-60】
线性判别分析(Linear Discriminant Analysis, LDA)
- 找到一条直线,使得同类样例投影点尽可能接近,异类尽可能远离;对新样本,观察投影点位置来分类
- 求解w和b【p60-63】
- 将LDA推广到多分类任务
- LDA常被视为一种经典的监督降维技术
多分类学习
- 基本思路:拆解为若干个二分类任务
- OvO一对一:将N个类别两两配对形成N(N-1)/2个二分类任务,把被预测的最多的分类作为结果【训练每个分类器时只调用这两个类别】
- OvR一对其余:其中一个类作为正例,其余所有作为反例,训练N个分类器【每次训练都会调用所有的样例】
- MvM多对多:构造正反类
- 纠错输出码(Error correcting output codes, ECOC)
- 编码:将N个类别作M次划分,形成M个分类器
- 解码:样本在M个分类器上运行,得到M个正/反例预测(因为分类器是二分类器,所以只要该样本属于该二分类器正例部分就”极可能“输出正例),构成一个长度为M的”预测编码“;对于每一个类别,可以在每一个分类器上得到一个“标准答案”;将样本的预测编码与“标准答案”比较,取距离最短的类别划分至之
- 二元码和三元码:后者可以指定“停用类”置0
- 海明距离与欧氏距离:前者统计对应位置值不同数目,后者计算差值的平方之和开根号;只有当使用三元码时排序可能出现不同
- 怎么分类很难说,分类也不是越多越好的
- 有问题依赖的ECOC编码法:开源ECOC库
- DAG拆分法
- 纠错输出码(Error correcting output codes, ECOC)
- 多类支持向量机
类别不平衡问题
- 分类任务中不同类别的训练样例数差别很大的情况
- 问题出现在:判定正例与反例的阈值为0.5的前提是,假定正例与反例出现的概率是相等的
- 因此:应更正阈值为真实几率(通常取训练集的观测几率代表之,即“训练集是样本总体的无偏采样”)
- 再缩放(rescaling/rebalance):若y÷(1-y)>(m+)÷(m-)即为正例,把右边分数移到左边即可退化为y’÷(1-y’)的形式与1比较大小
- 是“代价敏感学习”的基础,将正例(m+)更换为将正例误分为反例的代价,反之亦然
- 欠采样(undersampling)
- EasyEnsemble:集成学习机制,将反例划分为若干个不同集合供不同学习器使用
- 过采样(oversampling)
- SMOTE:插值产生额外样例,不能简单重复,否则造成严重过拟合
阅读材料
- 稀疏表示
- 多标记学习
- 多分类学习的每一个样本仅属于一个类别,一个样本同时预测出多个类别标记属于多标记学习
本文详细介绍了线性模型的基本形式,包括线性回归、对数几率回归和线性判别分析(LDA)。线性回归通过最小二乘法求解模型参数,对数几率回归用于分类任务,而LDA则寻找最优分类边界。此外,还讨论了多分类学习策略如一对一和一对余,并提出了解决类别不平衡问题的方法,如阈值校正、欠采样和过采样。
6452

被折叠的 条评论
为什么被折叠?



