310 likes | 470 Views
分类基础. 林琛 博士、副教授. 有的时候也表示为. 二 元分类. 假设你是一个房产中介,过去登录在系统中若干套房子的销售记录,以下是这些房子的基本信息和销售情况. 尝试使用线性回归拟合训练数据. y. 0.5. 面积. 线性回归方法的几个缺陷: 线性回归的值域无法表示类别型标记 缺乏直观的分类依据. Logistic Regression. Logistic 函数 / Sigmoid 函数. 0<h(x)<1 单调性 Logistic 分布 大于 0 ,小于 1 加和为 1 因此, h(x) 的值可以解释为 y=1 的概率
E N D
分类基础 林琛 博士、副教授
有的时候也表示为 二元分类 • 假设你是一个房产中介,过去登录在系统中若干套房子的销售记录,以下是这些房子的基本信息和销售情况
尝试使用线性回归拟合训练数据 y 0.5 面积 线性回归方法的几个缺陷: 线性回归的值域无法表示类别型标记 缺乏直观的分类依据
Logistic Regression Logistic函数/ Sigmoid函数 • 0<h(x)<1 • 单调性 • Logistic分布 • 大于0,小于1 • 加和为1 • 因此,h(x)的值可以解释为y=1的概率 • 1-h(x)是y=0的概率
多元logistic regression的决策面 x2 x1 线性可分 给定一个数据集,如果存在某个超平面S:wx+b=0,能够将数据集的正实例和负实例完全正确的划分到超平面的两侧,则称该数据集为线性可分数据集,否则称该数据集为线性不可分
损失函数 • Linear regression的损失函数 • Logistic regression的损失函数 • Y=1 • Y=0 y=1 h : 0.1 , 0.3 , 0.7 , 0.9 Cost : 0.81 , 0.49 , 0.09 , 0.01 h : 0.1 , 0.3 , 0.7 , 0.9 Cost : 2.3 , 1.2 , 0.36 , 0.1
课堂测试(1) • 采用gradient decent方法计算logistic regression的模型参数
Logistic regression的一些扩展 • 正则化logistic regression • 多类分类 • One v.s. all • max h1/h2/h3 • 不平衡分类 • 癌症病人的初期诊断
Fisher线性判别Linear Discriminate Analysis y • 从n维x空间到一维y空间的投影 • 满足: • X空间上的点同一类的投影到y空间上聚集在一起 • 不同类的点分开
背景(1) • 向量 • 对应Rn空间中无数多条线段 • 方向、长度 • 标准向量 • 起点为原点 • 例子 • 特征向量->样本 • 标准向量的终点 • 模型参数向量
背景(2) • 向量的运算 • 加减 • 线段首尾相接 • 点乘(内积) • 模,长度 • 夹角 • 正交/垂直 • 叉乘(外积) • 正交向量
背景(3) • 直线(平面、超平面)与投影
度量:均值和离散度 • N维x空间 • 类均值向量 • 类内离散度矩阵 • 总类内离散度矩阵 • 类间离散度矩阵 • 1维y空间 • 投影类均值 • 投影总类内离散度 • 投影类间离散度
Fisher判别算法 • 最优化 • 可得 • 算法 • 把训练样本分成两个子集 • 分别计算子集的均值和离散度矩阵 • 计算类内离散度矩阵的逆 • 求解向量
Fisher线性判别解法 • 分子分母都有w,转化为带约束优化问题: • 分母是一个常数c,最大分子 • 拉格朗日乘子法 • 先通过偏导=0求W* • 代入求\lambda 乘以Sw-1 注意到我们只需要W的方向而不需要大小,所以这两个的比例是多少相当于伸缩W,不重要 两个标量
使用 • 开源软件 • ALGLIB in C# / C++ / Pascal / VBA • MatLab • R • 分类 • 最终的分类策略可以有很多种 • 中点 • 范围 • 最近邻 • 降维/特征选择
SVM:最大间隔 如果数据集本身线性可分: 能将两类数据正确划分 且间隔最大 的直线
间隔的定义 • 分割超平面 • 超平面(w,b)关于样本点(xi,yi)的几何间隔为 • 超平面(w,b)关于训练数据集的几何间隔为所有样本点的最小值 为什么要乘以yi 直线一边是正 直线另一边是负
最大间隔 • 表示为下面的约束最优化问题 • 最大间隔 • 正确分割 \gamma的值不影响,令其=1 最大问题转化为等价的最小问题
课堂小测试求最大间隔分离超平面 • 正例:(3,3),(4,3) • 负例: (1,1) 可以看出 只有距离分割超平面最近的样本点是决定性作用的 称为支持向量 支持向量的个数一般很少,所以SVM由重要的训练样本决定
SVM算法 • 拉格朗日函数 • 对w,b求偏导数并令其等于0,求得w,b • 代入求对a的极大 可以把极大转为极小问题,符号正变为负
课堂小测试求最大间隔分离超平面 • 正例:(3,3),(4,3) • 负例: (1,1) 代入得: 求偏导 (1.5,-1)是极值点,但不满足约束条件ai>=0 所以在边界上达到极值
SVM和LR的损失函数 • Cost function of logistic regression • Y=1:z>>0 • Y=0:z<<0 cost1x
线性支持向量机的扩展 • 数据集线性不可分 • 大部分样本线性可分,除了一些离群点 • 软间隔 • 不能用直线(线性模型)分开,但可以用曲线(非线性模型)分开 • 核技巧
软间隔 • 某些样本不满足间隔大于等于1的约束条件 • 对每个样本引进一个松弛变量 • 使每个样本到分界线的间隔大于等于1-松弛变量 • 对于每个松弛变量,相当于支付了一个代价 • 这样的模型叫做线性支持向量机(线性核) 惩罚参数:对误分类的惩罚大小
非线性分类问题 • 非线性可分问题 • 无法用线性模型(直线)正确分开 • 可以用一个超曲面将正负例正确分开 • 可以进行一个非线性变换,将非线性问题转换为线性问题
动画展示 • 非线性变换
核函数 • 定义 • 如果存在一个映射\phi,使得对所有的输入x,z,函数k满足: • K称为核函数 • 一般直接 定义核函数 • 通常直接计算核函数比较容易 • Cost function中只涉及到核函数 • 常见的核 • 多项式核: • 高斯核: • 字符串核:
使用SVM分类器 • 建议使用开源软件如LibSVM、SVM-light等 • 需要确定的参数 • C • Kernel • Linear kernel • Non-linear kernel • Kernel参数 • 一般步骤 • 数据格式转换 • 特征归一化 • 在交叉验证上重复 • 选择参数 C • 选择kernel和相应参数 • 计算交叉验证精度 • 如果满意,停止 • 以最优参数C及Kernel进行训练 • 预测
课堂测试 • 当使用libSVM中出现了以下问题时,你应该怎么调整参数? • 在交叉验证中偏差很大,采用线性核 • 在交叉验证中偏差很大,采用非线性核 • 在交叉验证中方差很大,降低C值 • 在交叉验证中方差很大,提高C值