多目标进化优化算法在PU学习中的应用

2021/4/10 22:11:42

本文主要是介绍多目标进化优化算法在PU学习中的应用,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

论文整体大思路是:以前的PU学习都基于假设、类先验信息以及其他先验信息,并且由于目标函数的不平滑。不可微分等特点,使得没有办法应用传统的基于梯度的优化方法。基于此,我们想到可以将多目标(二目标)优化框架应用于PU学习,去优化分类器。

1.初始化杰出贡献:

(1)采取了PU相似度的初始化策略,利用positive样本和unlabeled样本之间的距离,可以利用正样本已经标注过标签的这个数据,计算所有的样本的PU相似度的值,这里就是指无标签样本与所有正样本的欧式距离归一化之后的值,值越小越有可能是正的样本。
在这里插入图片描述
根据PU相似度进行初始化的例子:
在这里插入图片描述

最难理解的部分:如何去评价个体:两个目标函数。

2.评价个体:

这里的个体定义:每i 维度=1代表Punlabeled样本中的第i个体被识别为是正样本,为0表示识别为负样本。整个框架去优化的目的就是将未标记识别出最正确的标记。

在这里插入图片描述
在这里定义了两个目标函数,一个是真正率,用于刻画正样本的分类正确率,一个是无标签率,刻画无标签样本分类正确率,这两个在一起能够更好地展示学出来的分类模型的准确率。但是我还不清楚如何去计算每个个体的这两个目标值。

来了来了,如何评价的来了:以一个粒子为例
(1)第一步:先根据该粒子对无标签样本的identify,将无标签样本分为GuessPositive和GuessNegative然后将Positive样本和GuessPositive样本混合在一起作为正样本,标签值均为1。将GuessNegative样本的标签值均设置为-1,将样本分成正样本和负样本然后就可以直接利用传统的二分类算法去学习出一个分类器。
(2)第二步:用学出来的分类器去测试Positive样本,计算Positive样本中的真正率。
(3)第三步:用分类器去计算出每个粒子每一个维度的分数。(这里粒子的每一个维度相当于对应的无标签样本)。
(4)根据第二步中计算出来的真正率去计算出:
aim1=(1-真正率)表示假负率(目的是为了最后最小化该目标函数)。然后根据第三步中计算出来的每一个维度的分数,去计算每个粒子的无标签样本的分数。
是找出每个粒子中为小于被认定为每个负样本的分数值的正样本的数目之和/(负样本的数目)*(正样本的数目)

在这里插入图片描述

3.进化过程(套用NSGA-II框架

(1)首先先生成交配池mating pool:

使用二元竞标赛方法选择2N个个体,就是从P种群中随机选择两个个体a、b,如果a支配b那么就将a放入交配池,否则放b,互相不支配就选择拥挤距离大的那个放进去,拥挤距离也相同那就随机选一个,选择2N次,构成一个含有2N个个体的交配池。

(2)(变异)包含:选择、交叉、突变

选择: 从交配池中随机选择两个个体pa、pb,并将其移出交配池。
交叉: 通过交叉算子,每个维度的rand()<pc(交叉概率)该维度就进行交叉,生成两个后代。
突变: 根据突变算子进行变异。
生成2N个后代命名为:后代O

(3)注意:为了进一步提高种群的多样性和进化能力,提出了一种新的精英标签学习策略,将P(原种群)向精英标签学习。
第一步: 需要先生成精英标签(这里的精英标签是基于未进化前的种群P产生的),就是一个个体,但是他的每一个维度就是精英的,也就是值得学习的。怎么生成精英标签呢,取P种群中所有的非支配的样本,然后计算这些样本中每一个维度之和,若所有样本在第j维度均为0,那么精英标签的第j维度就是0,若所有样本在第j维度均为1,那么精英标签的第j维度就是1,其余维度不确定赋值为-1。
在这里插入图片描述
第二步: 先评价Offspring种群然后进行非支配排序+计算拥挤距离。随机从Offspring种群种群中选择两个个体,差的个体(front层数大或者两个在一层但是拥挤距离小的那个个体)将向精英标签学习。向精英标签学习的过程就是将精英标签中为0的维度在该个体中全置为0,精英标签为1的维度在该个体中全置为1。
在这里插入图片描述

4.环境的选择

就是从先评价OffSpring后和P中选择N个个体,先非支配排序+计算拥挤距离。
在这里插入图片描述

5.进化结束后从种群中选择出所有的非支配个体作为输出。



这篇关于多目标进化优化算法在PU学习中的应用的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程