继续核技术
因为非线性问题不好求解,所以希望能用解线性分类问题的方法解决这个问题,所以进行一个非线性变换,将非线性问题变换为线性问题,通过解变换后的线性问题的方法来求解原来的非线性问题。
步骤如下:
首先使用一个变换将原空间的数据映射到新空间,再在新空间里用线性分类学习方法从训练数据中学习分类模型,核技术就是这个方法。
有一些常用的核函数:
1.多项式核函数
2.高斯核函数
3.字符串核函数
序列最小最优化算法
这个就是支持向量机学习的实现问题,也就是转换为求解凸二次规划问题,并在此基础上,使用序列最小最优化(SMO)算法的方法。
整个算法包含两个部分:
1.求解两个变量二次规划的解析方法
2.选择变量的启发式方法
变量的选择方法
一般在每个子问题上选择两个变量优化,其中至少一个变量是违反KKT条件的。
1.第一个变量的选择
称之为外层循环
2.第二个变量的旋转
称之为内层循环
3.计算阈值b和差值E
提升方法
在分类问题上,通过改变训练样本的权重,学习多个分类器,并将这些分类器进行线性组合,提高分类的性能。
重点就是AdaBoost算法:提升方法的基本思路就是*;对于一个复杂的任务,将多个专家的判断进行综合所得出的判断,要比其中任何一个专家独家的判断要好。*
强可学习:存在一个多项式的学习算法能够学习他,并且正确率很高。
弱可学习:一个概念如果能存在一个多项式的学习算法能够学习它,学习的正确率仅比随机猜测略好。
提升方法就是从弱学习算法出发,反复学习,得到一系列弱分类器,然后组合这些弱分类器,构成一个强分类器,大多数的提升方法都是改变训练数据的概率分布。
AdaBoost算法:
第一步是:假设训练数据集有均匀的权值分布,也就是每个训练赝本在基本分类器中作用相同
第二步是:这个算法反复学习基本分类器,在每一轮都执行以下操作:1.使用加权训练集,学习基本分类器 2.计算基本分类器在加权训练数据集上的分类误差率
其中AdaBoost算法是前向分步加法算法的特例,并且在这种情况之下,模型是由基本分类器组成的加法模型,损失函数是指数函数。
提升树
提升方法实际采用加法模型,与前向分布算法,以决策树为基函数的提升方法称为提升树,对分类方法决策树是二叉树分类树,对回归问题决策树是二叉回归树。
EM算法及其推广
EM算法有两步:E步:求期望expectation ,M步:求极大maximization,并且他的算法最大的优点就是简单性和普适性。
它的推广就是:F函数的极大-极大算法,基于这个解释有若干变形与推广,如广义期望极大。
隐马尔可分模型:
是用于标注问题的统计学习模型,描述由隐藏的马尔可夫链随机生成观测序列的过程,属于生成模型。
他的定义就是:
是关于时序的概率模型,描述一个隐藏的马尔可夫链随机生成不可观测的状态随机序列,再由各个状态生成一个观测而产生观测随机序列的过程。并由初始概率分布,状态转移概率分布以及观测概率分布确定。
有两种基本假设:
1.齐次马尔可夫性假设,也就是假设隐藏的马尔可夫链在任意时刻t的状态只依赖于其一时刻的状态,与其他时刻的状态及观测无关,也和时刻t无关。
2.观测独立性假设,即假设任意时刻的观测只依赖于该时刻的马尔可夫链的状态,与其他观测及状态无关。
存在三个基本问题:
1.概率计算问题
2.学习问题
3.预测问题
概率计算算法:
1.直接计算法(概念上可行,但是计算不可行)
给定模型和观测序列,来计算观测序列出现的概率,直接按照概率公式计算,通过列举所有可能的长度给定的状态序列,求状态序列和观测序列的联合概率,再对所有可能的状态序列求和。
2.前向算法:
3.后向算法: