zoukankan      html  css  js  c++  java
  • 《机器学习》第二次作业——第四章学习记录和心得

    第四章

    4.1线性判据基本概念

    • 生成模型:直接在输入空间中学习其概率密度p(x),对于贝叶斯分类,用作观测似然。然后可以通过这个p(x)生成新的样本数据;也可以检测出较低概率的数据,进行离群点检测。但是p(x)需要大量的数据才能学习得好,不然会出现维度灾难。
    • 判别模型:直接在输入空间输出后验概率。快速,省去了观测似然的部分。
    • 线性判据:如果判别模型f(x)是线性函数,那f(x)为线性判据。对于二分类,决策边界是线性;对于多分类,相邻两类的决策边界也是线性。计算量少,适合样本少的情况。
    • 线性判据模型:f(x) = w.T @ x + w0, w决定了决策边界的方向,w0决定了决策边界的偏移量,使得输出可为正负。
    • 任意样本x到决策边界的垂直距离:r = f(x) / ||w||。

    4.2线性判据学习概述

    • 线性判据有可能有多个解,所以学习算法要去找到最优解,也就是最优的w和w0。
    • 目标函数常有均方差、交叉熵,加入各种约束条件来提高泛化能力,如正则项、加入边缘约束等,缩小解域。对其求最优一般两个方法:解析解、迭代梯度下降。

    4.3并行感知机算法

    • 感知机算法需要将负label取反。
    • 目标函数是被错误分类的所有训练样本的输出取反求和。
    • 由于目标函数求偏导后不含参数w和w0,所以使用梯度下降来找最优,需要设置步长、阈值,和初始化w和w0,当目标函数小于阈值或者大于等于0后,停止。

    4.4串行感知机算法

    • 训练样本一个一个给出的时候,叫做串行。
    • 目标函数相对于并行,变成对当前训练样本的输出取反。遍历所有样本,当ak.T @ yn时更新ak+1。
    • 如果训练样本是线性可分的,感知机算法理论上会收敛。步长能够决定收敛的速度,以及是否收敛到局部或者全局最优点。目标函数如果对于任意a,存在常数L,使得|J(a)| < L,那么步长为1 / (2L) 的时候能够收敛到局部最优。如果目标函数是凸函数,局部最优就是全局最优。
    • 当样本位于决策边界边缘的时候,对样本的决策有很大的不确定性,加入边缘约束b,使得解出的w和w0不为0。

    4.5Fisher线性判据

    • Fisher:找到一个合适的投影轴,使得两类样本在轴上重叠部分最少。也就是类内样本离散程度更小,更聚集,类间差异更大,距离更远。
    • 类间样本用均值差度量,类内样本用协方差矩阵度量。
    • fisher中利用协方差的逆,将两类均值差的向量进行旋转,以适应类分布的形状。

    4.6支持向量机基本概念

    • 感知机思想:最小化分类误差;fisher:数据降到一维,最大化类间距离,最小化类内散度。
    • 支持向量机思想:两个类与决策边界最近的训练样本到决策边界的距离和最大。
    • 支持向量机需要将负类label设为-1。引入概念:支持向量。
    • 目标函数就是最大化间隔的距离和,约束条件是间隔里面没有样本,也就是输出值的绝对值要大于间隔值,ppt上为1。

    4.7拉格朗日乘数法

    • 利用拉格朗日乘数法解决条件优化问题。
    • 分为不等式约束和等式约束的优化问题。
    • 等式约束中g(x) = 0的条件,使得λ可正可负,f(x)和g(x)的梯度方向一定平行,但方向可能同向或者反向,且梯度幅值不同。
    • 不等式约束分为两种情况,一种是极值点在可行域内,相当于g(x) < 0,那么必有λ为0;另一种是极值点落在可行域边界,那么λ大于0,即f(x)的梯度方向将和g(x)平行且相反。

    4.8拉格朗日对偶问题

    • 对于要求解的主问题,往往难以求解。因此引入对偶函数,给出了主问题最优值的下界。
    • 对偶函数与x无关,并且是凹函数。目标函数是凹函数,约束条件是凸函数,那么对偶问题是凸优化问题,不论主函数的凹凸性。
    • 凸优化的性质:局部极值点就是全局极值点,于是对于主问题的求解,往往可以求解其对偶问题,得到主问题的下界估计。
    • 分为强对偶性和弱对偶性。

    4.9支持向量机学习算法

    • 回到4.6节未解决的最大化间隔的距离和,构建拉格朗日函数、对偶函数。
    • 对对偶函数进行一系列的演化,利用二次规划求解N个最优的拉格朗日乘数,并以此计算最优的w和w0。
    • w和w0的学习过程实际上是在训练样本中选择一组支持向量,用作线性分类器。

    4.10软间隔支持向量机

    • 由于绝对地要求间隔中无样本,并且可能存在噪声和异常点,导致其被选作支持向量,使得决策边界过拟合。所以允许在一定程度上,让训练样本出现在间隔区域内。
    • 因此引入松弛变量,松弛变量的大小决定了错误分类的程度,一般不能超过间隔大小,使得线性SVM可以近似分类非线性数据。
    • 再引入正则系数,对错分进行惩罚,但要控制C不能过大,防止过拟合。
    • 同样地,构建拉格朗日函数、对偶函数来求最优的w和w0。

    4.11线性判据多类分类

    • 多类分类的本质是非线性。于是需要多个分类器进行组合。
    • 方式一:one2all,需要K个分类器,并假设每个类与其他类线性可分。样本属于分类器输出为正的类。决策边界垂直于wi。不适合数据集不平衡,会出现重叠区域和拒绝区域。
    • 方式二:线性机,对于输出,不再使用选择值为正的类,而是选择输出最大的类。因为离分类边界越远,该类被判错可能性越小,由此解决了重叠区域,但仍不能解决拒绝区域。
    • 方式三:one2one,化为一个正类,其余类均为负类,共需要K(K - 1) / 2个分类器,能够避免数据集不平衡的问题。如果所有和Ci相关的分类器输出都为正,那么x属于Ci。可以适用于线性不可分的情况,实现非线性分类。仍存在拒绝区域,于是使用输出max思想,选择与其成对的所有分类器输出之和最大的类。

    4.12线性回归

    • 输入样本分为tall数据和wide数据。
    • 线性回归需要学习参数W,目标函数使用均方误差,最小化其输出和真值的误差。一般使用二范式。
    • 使用最小二乘法或者梯度下降法来目标优化。
    • 其中,如果X.T @ X是非奇异矩阵,那么W有唯一解,否则,W有无穷个解或者无解。对于tall数据,X.T @ X是非奇异矩阵的可能性大,如果是wide数据,那必定是奇异矩阵。因此,最小二乘法适合tall数据。
    • 最大似然等同于最小化均方误差。

    4.13逻辑回归的概念

    • 当两个类别数据的协方差不同时,MAP分类器的决策边界是超二次型曲面,非线性。
    • 当观测是高斯分布并且协方差矩阵相同时,利用logit变换,后验概率对数比率等于线性判据输出。
    • 线性模型f(x)输入sigmoid函数,得到logistic回归,就是其后验概率。
    • 逻辑回归是一个非线性模型,对于分类任务,只能处理线性可分的情况;对于拟合任务,能够拟合有限的非线性曲线。

    4.14逻辑回归的学习

    • 逻辑回归需要学习w和w0。负类标签设为0。
    • 利用最大似然估计,对于所有训练样本,最大化输出标签分布的似然函数,求得参数的最优值。
    • 利用梯度下降法,迭代得到w和w0。
    • sigmoid函数会出现梯度消失问题,在输出值接近于1的时候,输入的巨大变化也只能导致输出的小范围变动。所以在初始化的时候,选择较小的初始值,并设置阈值,到达阈值的精度时,停止迭代,防止过拟合。在神经网络中,利用relu等激活函数来代替sigmoid。

    4.15Softmax判据的概念

    • 分类K个类,构建K个线性分类器,分为该类和剩余类。由于所有类的后验概率和为1,可以得到任意类的后验概率表示。也就使得K个线性分类器能够计算得到每个类的后验概率。
    • 该方法叫做Softmax函数,由于K个分类器的输出,特别是一个类远大于其他类,此时需要将其进行exp函数和归一化操作。与max函数不同的是,Softmax函数可微分。
    • 由此得到Softmax判据,就是得到最大Softmax函数计算得到的那个类的下标。在分类任务时,等同于one2one的线性机。
    • Softmax判据常用于神经网络的输出层之后,比如利用CNN来分类手写数字时,得到其输出最大值下标。
    • Softmax判据是一个非线性模型,对于分类任务,能够处理多个类别、每个类别和其余类线性可分的情况;对于回归任务,能够拟合exp形的非线性曲线。

    4.16Softmax判据的学习

    • Softmax判据需要学习K组w和w0。
    • 和逻辑回归的学习相似,目标函数能够使用交叉熵解释。不同的是,使用one-hot编码,模型输出的概率分布符合多项分布。
    • 在目标函数梯度下降求w和w0时,与逻辑回归不同的是,Softmax针对每个输出类别分别计算梯度值,但每个参数的梯度值与所有的类别样本都相关。
    • Softmax判据输出为非线性,但只能刻画线性分类边界。

    4.17核支持向量机(Kernel SVM)

    • Kernel思想是将低维空间中线性不可分的样本数据,找到一个映射,使得这些样本数据在高维空间线性可分。
    • 由此,就能够使用SVM来进行分类。
    • 核函数:在低维空间的一个非线性函数,包含向量映射和点积计算。
    • 核SVM的决策是关于测试样本和支持向量的核函数的线性组合。决策边界是非线性的。
    • 同样的,在高维空间中计算SVM时,也需要计算其对偶问题的解,对于软间隔SVM也需要引入松弛量。
    • 多项式核可以解决线性不可分问题,但当参数较大时,计算困难,超参数多。
    • 高斯核具有更明显的非线性,但容易过拟合。

  • 相关阅读:
    取模 分数取模 快速幂 费马小定理
    “科林明伦杯”哈尔滨理工大学第十届程序设计竞赛 部份签到题
    shell 脚本
    pyhcl语法
    数据库实验1 SQL
    杂七杂八 Ubuntu Linux
    Kattis, Kattis 的一些问题题解
    Meow Factor 【暴力】
    解决 Eclipse 项目有红感叹号的方法
    RuntimeException与CheckedException
  • 原文地址:https://www.cnblogs.com/LinRS1999/p/14810205.html
Copyright © 2011-2022 走看看