zoukankan      html  css  js  c++  java
  • S4VM解析

    S4VM解析

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
    本文链接:https://blog.csdn.net/u012875855/article/details/81387097

    1、S3VM

    传统半监督支持向量机通过探索未标记数据来规范。调整决策边界,寻找最有的大间隔、低密度的超平面,比如S3VMs、TSVM等半监督SVM算法,如图所示,S3VM试图找到一个超平面,将有标记样本能够正确划分,且穿过特征空间中密度最低的区域;右图即是S3VM寻找的理想超平面。

               

    S3VM的目标函数如下, 其中损失函数是hinge loss,限制条件是保证未标注样本的分布于标注样本分布一致。

      

    因为给定少量的有标注点和大量无标注的点,可能存在不止一个间隔较大的低密度分界线,如果只考虑一个,可能会造成较大的损失。

                  

    2、S4VM:

    不同于S3VM,S4VM关注多个可能存在的低密度分界,使用多个超平面,是一种集成学习方法。

    起目标函数如上:其中正则项用来保证不同超平面之间具有一定的差异性,如果两个超平面差异性越大,则预测相同的数目越小,则函数值越小,M为惩罚系数,M越大,则要求超平面的差异性越大。

    3、实现方式

    因为S4VM的目标函数是非凸的,因此可能存在多个局部最优解,如果使用梯度下降求解,则容易求解出局部最优解而非全局最优,基于词,论文提出两种求解全局最优的实现方式。

    1、全局模拟退火算法

                                                       

    模拟退火算法的主要思想是,在求解过程中,每次随机出一个新的x_new ,计算f(x_new)是否优于f(x),如果f(x_new)优于f(x),则接受x_new, 否则将以一定概率接受当前解,此概率设置为与全局变量T(温度)有关,温度越高,则概率越大,在迭代过程中,温度逐渐下降,接受的概率也逐渐降低。在求解全局最小值的时候,接受的概率p=exp(-dE / T),其中dE = f(x_new) - f(x)。

                                                   

    使用全局模拟退火算法求解S4VM的伪代码如下:

                                       

                                       

    首先是随机出T个超平面,即给出T个超平面对未标注样本的预测值,在Localsearch中,根据预测值,即可以使用传统SVM学习到每个超平面的参数,对于每个超平面,在固定参数下,调整每个未标注样本的标签,使得目标函数最终收敛,则一次Localsearch完成,其他部分与模拟退火算法一致。

    2、使用采样方式

                                      

    随机选择出N个超平面,其中N > T

    对于每个超平面,使用S3VM进行求解,得到N个S3VM超平面,每个超平面对未标记样本具有预测值,然后对所有样本进行聚类,聚类数目为T,在每个簇中,选择使得目标函数最小的一个超平面,这样会最终选出T个超平面。

  • 相关阅读:
    ORACLE中dba,user,v$等开头的常用表和视图
    CentOS最基本的20个常用命令
    Spring IOC原理解读 面试必读
    Nginx Web服务应用
    Linux系统SSH免密登录
    Zabbix+Grafana打造高逼格监控系统
    Ansible入门
    你应该知道的 5 个 Docker 工具
    关于 Docker Hub 上不能注册 Docker ID 的问题
    Linux下终端录制工具-asciinema
  • 原文地址:https://www.cnblogs.com/think90/p/11555893.html
Copyright © 2011-2022 走看看