统计学习方法:聚类方法
聚类方法书中只讲了Kmeans
和层次聚类.这两个比较简单,所以我这里就不讲解了.
条件随机场的理论实在令人头疼,上来就介绍概率无向图,我是基本没看懂😹.而且又要准备别的东西,很难静心看下去,最后还是看苏神的博客大致了解了,因此这次的代码我也主要是修改了苏神的代码.
NOTE
我写可视化的时候也发现了crf
的状态转移矩阵的变化比较缓慢,然后搜索了一份果然苏神也发现这个问题,并且给出了增大学习率的解决方案,因此我也在代码中实现了crf
层的学习率修改方案,最终效果的确相当明显了.
这个论文是基于CycleGan
的一个改进,论文中的典型应用是将自拍转换为卡通风格。我参考了小视科技开源的代码,这里对这个论文做一个详细描述。
我尝试用tensorflow 2.x
复现这个项目,这个项目成功地把我从tensorflow
劝退。。先吐槽一下,因为这个项目需要同时训练7个模型,我开启jit
时用tf2.X
的tf.function
,autograph
转换一下居然需要20分钟以上!每次启动训练得等20分钟,实在是受不了,不过转换之后的速度比pytorch
实现快50%让我还可以接受。第二点是最不能忍受的,在pytorch
中用8G显存即可训练,tensorflow
中我降低了判别器的的层数还需要12G显存才能训练,直接劝退。
PS.
再提一句,他的生成器中间特征处理有两种做法,轻量级的方法是GMP
再生成,否则直接生成。直接生成的话模型参数200MB往上了..我看了下他们po的图训练时显存需要22G..☹
提升方法。这个思路可以被考虑到集成
中。提升方法AdaBoost
的想法是将相同类型的不同参数的弱分类器的分类结果进行集成
,他是一个串行的提升过程。此方法的流程比较清楚,关于原理部分建议大家仔细看书。
这次实现中,关于如何选择违反KKT条件最严重的点
在书中没有提到,我首先按照书上的方法实现了一下,但是发现没找到\(\epsilon\)和违反KKT条件
的量化方法,而且只按书上来,实现的SVM
效果并不理想。看来我还是没有完全弄透...先写了个初级版的,以后需要再深入了解时可以重温。