技术博客


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

  • 搜索

机器学习8--支持向量机(下)

发表于 2014-06-05 | 分类于 机器学习 | | 阅读次数:
字数统计: 1k | 阅读时长 ≈ 3

机器学习8--支持向量机(下)

上节回顾:从逻辑回归引出支持向量机-->定义函数间隔和几何间隔-->最优间隔分类器(通过最大化间隔,得到最优)-->引出拉格朗日对偶(作用:通过对偶将算法变得更高效;处理高维)-->将对偶用到最优间隔分类器 本节内容:核函数(升维)-->判定是否是有效的核函数-->L1 norm 软间隔SVM(针对不可分的情况)-->第三种求解最优化的方法:坐标上升法-->SMO优化算法(最快的二次规划优化算法)

核函数

1、定义 >

2、核函数的作用 > a、低维映射到高维,从而更好的拟合; b、将不可分的情况变为可分

3、举例: > 例一: 说明:时间复杂度由 例二: 高斯核(把原始特征映射到无穷维): 映射后的优点:

4、映射后怎样进行预测: > 预测函数: 映射后:将 问题:怎样求取和判断核函数?下面将会介绍。

核函数的判定

1、符号说明 > K:核函数矩阵$K={K_{ij}} $ 第i,j个样本 \(K_{ij}\) 或者$K(x{(i)},x{(j)}) $ :核函数$K_{ij}=K(x{(i)},x{(j)}) $

2、利用Mercer定理 > 简而言之,K是一个有效的核函数<-->核函数矩阵是对称半正定

L1 norm 软间隔SVM

当不可分时,利用L1 软间隔进行分离 1、 加入软间隔后的模型: > (1)凸规划: 其中,C是离群点的权重(我们预定的,为已知数),越大表明对目标函数影响越大,也就是月不希望看到离群点。引入非负参数(称为松弛变量) , 就允许某些样本点的函数间隔小于1,即在最大间隔区间里面,或者函数间隔是负数,即样本点在对方的区域中。 (2)拉格朗日算子: 其中, (3)推导结果 跟前面模型类似:先写出拉格朗日公式 (如上) ,然后将其看作是变量 w 和 b的函数,分别对其求偏导,得到 w 和 b 的表达式。然后代入公式中,求带入后公式的极大值。得到: >> KTT条件:

第三种求解最优化的方法:坐标上升法

1、三种求解最优化的方法: > (1)梯度上升法(求解最小值问题时,称作梯度下降法) (2)牛顿法(求解最值) (3)坐标上升法(求解最小值问题时,称作坐标下降法)

2、假设求解下面问题: > 其中,

3、算法过程: > >>

SMO优化算法

最快的二次规划优化算法,特别针对线性 SVM 和数据稀疏时性能更优。 1、前面得到的结果 > 首先,先看前面的到的结果,如下图: >> 这个问题中: 按照坐标上升法的思路,只固定一个的话,由于限制条件中存在,将导致不再是变量。 因此,我们一次选取两个参数做优化。

2、SMO的主要步骤 > 注:第一步,利用启发式方法选取。第二步,固定其他参数,

3、 具体步骤 > (1)固定除以外的参数,得: (2)为了方便: >> 如下图: 其中,满足:和 L和H的范围:

(3)将带入W中: 展开,得: (4)这就是二次函数的最小值问题,容易求得(在纸上画图很容易看出来): 其中,为最终结果。为求导得到的结果。 同理,求得的最优解。

总结

1、本章的系统结构: > 至此,我们得到: 预测问题只需要求解,即: <-->上面的过程(SMO)求得为的最优解 <--> <--> <--> <--> <-->(最大化几何间隔问题)

2、关于核问题(升维)的说明 > 核问题用来替换第一步中的部分:

机器学习7--支持向量机(上)

发表于 2014-05-30 | 分类于 机器学习 | | 阅读次数:
字数统计: 889 | 阅读时长 ≈ 3
  • 本节:从逻辑回归引出支持向量机-->定义函数间隔和几何间隔-->最优间隔分类器(通过最大化间隔,得到最优)-->引出拉格朗日对偶(作用:通过对偶将算法变得更高效;处理高维)-->将对偶用到最优间隔分类器
  • 本节都是针对很明显的分类'good',如下图。

逻辑回归和支持向量机关系

两者关系

两者都可以实现分类。LR考虑全局(几经远离的点,通过调节中间线使其更远);SVM考虑局部(不关心已经确定远离的点)。 ### 形式化表示LR-->SVM表示 \(\theta\) 变为w和b。0、1变为0、-1。

函数间隔和几何间隔

定义函数间隔-->通过归一化,再定义几何间隔-->两者关系。几何间隔的意义:点到超平面的距离。 - 函数间隔 一个训练样本: 所有训练样本: - 几何间隔 一个训练样本: 所有训练样本: - 两者关系 当时,两者等价。

最优化间隔分类器

几何间隔的优化(非凸规划:集合非凸集)--> 函数间隔的优化(非凸规划:最大化函数非凸函数)--> 改写后的规划(凸规划) - 几何间隔的优化 - 函数间隔的优化 - 改写后的规划:令,这样做的意义:将全局的函数间隔定义为1,即将离超平面最近的点的距离定义为,:

拉格朗日对偶

拉格朗日乘数法

  • 1.最优化问题:
  • 2.拉格朗日公式(拉格朗日算子): 其中,l为约束的个数(样本数目),为拉格朗日乘数。
  • 3.通过求偏导,解得参数

广义拉格朗日:拉格朗日+不等式

  • 1.原始primal的最优化问题:
  • 2.拉格朗日公式(拉格朗日算子): 其中,为拉格朗日乘数。
  • 3.进一步得到 即:
  • 4.从而将问题转化(p:primal):
  • 5.定义对偶问题(D:dual): 定义:,则:
  • 6.得到不等式关系:
  • 7.上面两者等价的条件,KKT条件: ,即KKT条件: > 注:

最优间隔分类器及拉格朗日对偶 在SVM中的应用

优化问题主要是求解w;b仅仅是一个参数。 ### SVM的优化问题 - 1、优化问题 - 2、拉格朗日算子 - 3、没有等式约束,只有不等式。下图中虚线上的三个点称为支持向量(支持向量机中的支持向量)。三点的函数间隔为1。。 ### 求解最优化问题 - 1、对偶问题 - 2、求解极小化问题:对w求偏导 - 3、求解极小化问题:对w求偏导 - 4、将w,b带入L中 注:该函数是关于的函数。通过极大化,来求解得到该值。然后,再得到w和b。 - 5、求解极大化问题: 凸规划: - 6、求解 > 求解得到; 根据得到w; 根据得到b。 其中,b的意义:离超平面最近的正的函数间隔要等于离超平面最近的负的函数间隔。 - 7、进行预测 如下公式所示:有了\(\alpha_i\),我们不需要求出w,只需将新来的样本和训练数据中的所有样本做内积和即可。那有人会说,与前面所有的样本都做运算是不是太耗时了?其实不然,我们从KKT条件中得到,只有支持向量的\(\alpha_i\)> 0,其他情况\(\alpha_i\)= 0。

机器学习5_6--生成学习算法(高斯判别分析GDA和朴素贝叶斯NB)

发表于 2014-05-29 | 分类于 机器学习 | | 阅读次数:
字数统计: 489 | 阅读时长 ≈ 1

#生成学习算法 说明: - m为样本数目,i为第i个样本数目; - joint likelihood :联合似然估计 ## 判别学习算法和生成学习算法的区别:

算法 Learn 说明 概率类型
判别学习算法 \(P(y/x)\) 特征x下,输出y的概率 先验概率(经验为x)
生成学习算法 \(P(x/y)和P(y)\) 在模型y(为良性肿瘤)下,特征x发生的概率 后验概率(投‘果’探‘因’)——条件概率

第一个生成学习算法:GDA(高斯判别分析)

特点

  • 假设输入x连续,服从多元高斯分布。
  • 本例中y服从伯努利分布

GDA模型

  • 输入x连续,服从多元高斯分布。
  • y服从伯努利分布

似然函数

最大化似然函数得到所需参数

GDA与LR的区别

第二个生成学习算法:Navie Bayes朴素贝叶斯

特点

  • 输入x离散,服从伯努利分布 (这也是为什么成为“朴素”的原因)。但是,x是多元伯努利事件模型。
  • 本例中y服从伯努利分布

贝叶斯假设

输入变量x相互独立(在给定y的基础上)。

NB模型

  • 模型-->最大化似然函数-->得到参数-->进行预测
  • 模型及最大化
  • 最大化似然函数得到的参数
  • 进行预测

Laplace平滑法

用来处理,防止\(0/0\)的情况。 平滑后的NB参数:

第三个生成学习算法:NB的第一种变形:多项式事件模型(处理文本)

  • 生成模型
  • 似然函数
  • 最大化似然函数得到参数
  • 参数的物理意义
  • Laplace平滑处理

第四个生成学习算法:NB的第二2种变形:x可以取K个值

疑问

  • 怎么样最大化似然函数,得到参数(似乎不是利用梯度法,或者牛顿法)?这个老师让自己去想。。。

机器学习4--GLM 广义线性模型'

发表于 2014-05-22 | 分类于 机器学习 | | 阅读次数:
字数统计: 287 | 阅读时长 ≈ 1

机器学习2-GLM 广义线性模型

对于高斯分布、伯努利分布、多项式分布,均称之为GLM。

阅读全文 »

机器学习1_2_3_4--梯度和牛顿算法

发表于 2014-05-21 | 分类于 机器学习 | | 阅读次数:
字数统计: 374 | 阅读时长 ≈ 1

#一、 符号说明 \(m\):样本数目(行数)<-->\(i\)某一行 \(n:\)特征数目(列数)<-->\(j\)某一列 \(x,y\):输入和输出变量 \(i^{th}\):training example<-->\((x^{(i)}, y{(j)})\) \(\theta\)学习参数 \(h_{\theta}(x)\):输出函数

#二、 算法总结 ##1. 最小均方(误差)算法LMS 该算法是为了使损失函数最小。损失函数为: 得到梯度下降的基本算法,下面会对其展开详细说明 ###1.1 批量梯度下降 缺点:不适合数据量很大的情况 ###1.2 随机梯度下降 ###1.3 另外一种最小化\(J_{\theta}\)的算法最小二乘法 \((J=0)\) ##2. 局部加权线性回归 优点:在一定程度上防止了过拟合和欠拟合

  • 参数化的学习算法:有固定参数学习,用来数据拟合
  • 非参数学习算法: 局部加权线性回归 ##3.逻辑回归(第一种:最大化\(L(\theta)\))
  • 基本公式:
  • \(\theta\)的训练方法:利用梯度上升,来最大化似然函数(Likehood Function):
  • 注:得到的最终结果,与LMS中的循环规则完全一样。但是,不同之处在于:此处\(h_{\theta}(x^{(i)})\)为非线性的。

##4.牛顿(第二种:最大化\(L(\theta)\))

#三、 从概率角度解释最小化\(J\)的含义 使误差为0的概率最大<-->最大化相似函数\(l(\theta)\)或者\(L(\theta)\)<-->最小化\(J\) :最大似然估计

Written with StackEdit.

1…78
DanielJyc

DanielJyc

数据驱动 Java 大数据 算法

40 日志
5 分类
28 标签
RSS
Links
  • Danieljyc blog
© 2014 — 2019 DanielJyc | Site words total count: 53k
由 Hexo 强力驱动
|
主题 — NexT.Muse v5.1.4
京ICP备 - 19007489号