ML2021_Spring_HW03心得
这个作业提了三个要求,从简单到难。
- Easy: Build a simple convolutional neural network as the baseline.
- Medium: Design a better architecture or adopt different data augmentations to improve the performance.
- Utilize provided unlabeled data to obtain better results
torchvision.transform 学习
1. CLASS torchvision.transforms.CenterCrop(size)
这个函数使用来中心剪裁的,填入一个尺寸,如果输入图片小了就padded with 0 然后再中心剪裁。
Parameter:PIL Image or Tensor
Returns:Cropped image
Return type:PIL Image or Tensor
2. CLASS torchvision.transforms.ColorJitter(brightness=0, contrast=0, saturation=0, hue=0)
Semi-supervised learning
Why semi-supervised learning?
- Coleecting data is easy,but collecting ‘labeled’ data is expensive
- We do semi-supervised learning in our lives.
- The distribution of the unlabeled data tell us something
Generative Model
蓝色框这个式子,现在每一个unlabeled的样本代入到posterior probability的公式之后可以算出目前这个unlabeled的样本算几个C1或者C2,当然不能算一个,然后求和就算出了unlabeldl的样本一共算几个C1或者C2。
Low-density Separation
Hard label v.s. soft label
Smoothness Assumption
Graph-based Approach
最关键的一张PPT
如何用Graph-based Approach的方法做半监督学习就在损失函数后面加一项
λ
S
\lambda S
λS,这个看起来好像就是regularization一样
python中的tqdm
tqdm是python中专门用于进度条美化的模块,通过在非while的循环体中嵌入tqdm,可以得到一个能更好展现程序运行过程的提示进度条。
tqdm参考博客