semi、unsupervised3

Leetcode

题目:1002. 查找常用字符

class Solution:
    def commonChars(self, A: List[str]) -> List[str]:
        # 求每个字符串之间字符数量的交集
        res=[]
        if not A:
            return res
        key=set(A[0])
        for k in key:
            minnum=min(a.count(k) for a in A)
            res+=minnum*k
        return res
  1. 填充每个节点的下一个右侧节点指针
"""
# Definition for a Node.
class Node:
    def __init__(self, val: int = 0, left: 'Node' = None, right: 'Node' = None, next: 'Node' = None):
        self.val = val
        self.left = left
        self.right = right
        self.next = next
"""
# 左节点和右节点相连
# 左节点的右节点和右节点的左节点相连
class Solution:
    def connect(self, root: 'Node') -> 'Node':
        if root:
            l, r = root.left, root.right
            while l:
                l.next, l, r = r, l.right, r.left
            self.connect(root.left)
            self.connect(root.right) 
            return root
  1. 有序数组的平方
class Solution:
    def sortedSquares(self, A: List[int]) -> List[int]:
        for i in range(len(A)):
            A[i] = A[i]**2
        A.sort()
        return A

文献

Article:Xie J, Girshick R, Farhadi A. Unsupervised deep embedding for clustering analysis 2016
Code

Data:
结合神经网络和聚类方法建立一个端到端的深度聚类模型

步骤:
1) 通过自编码器还原数据建立重构损失初始化网路参数
2) 保留编码器部分,将样本数据喂入,得到数据的嵌入表示
3) 对嵌入表示用kmeans,得到初始化中心点
4) 通过梯度下降和反向传播最小化软分布P和其强化分Q布间的KL散度,交替更新中心点以及网络参数
5) 迭代停止条件

目标公式:
在这里插入图片描述
t分布计算嵌入点和中心点的相似性
在这里插入图片描述
辅助目标分布
在这里插入图片描述
Framework:
在这里插入图片描述

Article:Generate pairwise constraints from unlabeled data for semi-supervised clustering 2019
提出从无标签数据中生成成对约束,主要方法是自己提出的I-nice,没代码

Article:Shorten C, Khoshgoftaar T M. A survey on image data augmentation for deep learning 2019,
数据增广用于防止过拟合,增加样本,主要涵盖方式有 geometric transformations, color space augmentations, kernel flters,图片混合, 随机擦除 、feature space augmentation, adversarial training,生成对抗网络, neural style transfer, 元学习

Article:Lee H W, Kim N, Lee J H. [Deep neural network self-training based on unsupervised learning and dropout] 2017
Data
本文解决自训练中,错误伪标签,导致错误放大
本文首先针对自训练中少量标签数据训练出的模型可信度不高,提出先用无标签数据对模型进行预训练。
其次少量数据容易带来过拟合,通过dropout来解决
最后针对错误的伪标签信息导致错误放大,提出两种解决方案1、权重重置(每次训练,权重都用预训练初始的权重) 2、有伪标签的数据仍加入伪标签重新标记
结果:

  • P: Deep neural network with pre-training预训练
  • S: Self-training自训练
  • D: Dropout丢弃
  • W: Weight reset scheme权重重置
  • E: Example re-evaluation scheme样本重新标记
    在这里插入图片描述

Article:Zou Y, Yu Z, Liu X, et al. Confidence regularized self-training 2019
Code

Data
也是解决自训练中错误信息放大的问题
由于伪标签可能会有噪声,自训练可能会把置信度高的标签放在错误的类上,导致错误传播的偏差解,作者在CBSL模型基础上提出用置信正则化来防止自训练中的交叉熵过度最小化。提出两种置信正则项一个是基于标签的(在标注标签是考虑更多信息),一个是基于模型的。

目标公式:
在这里插入图片描述
中阔号展开,第一项为有监督交叉熵损失项,第二项是伪标签交叉熵损失项,第三项为置信正则项
提出多个不同的置信正则相关及相应的伪标签标注,第一项是基于标签的,其实是基于模型的:
在这里插入图片描述
对于LRENT标签置信正则项,自训练一个round定义为a,b两步:
a) 固定网络参数,生成伪标签,在这里插入图片描述

b)固定伪标签,训练网络
在这里插入图片描述

Article:Ohi A Q, Mridha M F, Safir F B, et al. AutoEmbedder: A semi-supervised DNN embedding system for clustering
Code

Article: Zhong Z, Zheng L, Kang G, et al. Random Erasing Data Augmentation[C]//AAAI. 2020: 13001-13008.
Code

Article:Cubuk E D, Zoph B, Mane D, et al. Autoaugment: Learning augmentation strategies from data[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2019: 113-123.
一种数据增强方式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值