论 文 简 述
一、t 分布是什么
对于“t分布”这个名字,这三个字,不要考虑太多。简单理解,它就是一种距离的度量。而且还是最常见的欧式距离的度量的复杂版本。所以最直观理解就是这样:
如上图,两个聚类中心:C1 C2,三个数据点:A B C
参考FCM算法中,欧氏距离计算隶属度方法:
隶属度 | C1 | C2 |
---|---|---|
A | 5 1 5 \frac{5}{1 5} 1 55 | 1 1 5 \frac{1}{1 5} 1 51 |
B | 2.5 3.8 2.5 \frac{2.5}{3.8 2.5} 3.8 2.52.5 | 3.8 3.8 2.5 \frac{3.8}{3.8 2.5} 3.8 2.53.8 |
C | 1 4 1 \frac{1}{4 1} 4 11 | 4 4 1 \frac{4}{4 1} 4 14 |
复杂一点,t分布,是在欧氏距离基础上,额外增加了 ‘’幂次、分数形式”等复杂形式,公式变成如下
大道至简,再复杂的t分布运算,内核仍然是“欧氏距离”。
二、为什么要用KL
t分布就是欧式距离,计算出来了当前数据和聚类中心的距离,就把它看做隶属度。
可是隶属度有了,这样聚类结果不就已经出来了嘛,按说可以停止运算求解了,为什么还要引入KL?引入一个辅助分布P呢?
个人理解:因为神经网络的原因。网络参数庞大, 参数更新人为难以控制。
如果没有较好的损失约束(能够清晰指导网络梯度下降是往自己期待(比如隶属度越来越清晰可辨、比如隶属度没有较大波动)的方向走),通常只剩一项MSE重构损失,如果任由网络仅通过重构loss指导参数更新,网络迭代过后,可能前后的聚类结果都能截然相反。所以KL的引入,是为了引导网络,向输出恒定的、聚类结果清晰可辨的隐层特征上走。也为了引导网络,向输出恒定的聚类中心上走。
总结:为了使类别更加清晰可辨、聚类结果更加稳定可信。
三、KL为什么能聚类
上面讲了为什么引入KL,但凭什么引入的是KL,不是AL、BL等等。下面讲一下KL发挥了什么作用
上面提到:t分布就是利用欧式距离计算出来的隶属度,代表每个样本到聚类中心的关系强弱。这就是聚类的体现。
为了能够引导神经网络向自己期待的方向走,避免后一次迭代,完全推翻上一次迭代后的计算结果,我们需要设定一个目标。大海中总得跟着灯塔走才能上岸。让网络参数的迭代更新,也围绕着这个目标进行,这样随着迭代的进行,网络最终会变成自己所需要的那种:具备了强大的拟合能力,能够生成我们想要的数据。
目标怎么设?
最简单的想法:如果不是聚类,不是无监督,那直接将标签送到网络就可以了。
把答案摆出来,让神经网络比着这个答案直接抄,越抄越熟练精准,抄个100遍,最后撤了答案,闭着眼也能得99分。
可是,从哪弄来一份答案呢?毕竟聚类中可没有标签。
目前已经有的、可参考的答案:就是上面的t分布,它自己做了一遍题目,给出了答案(隶属度)。虽然也不一定全对,不过也胜过瞎蒙的。
那就把t分布老师做的结果当做答案,抓紧让网络去抄,越快越好!!
根据这个思路,我们引入了辅助分布p,它其实就是t分布老师做了一遍试卷后给出的答案。这就是目标。
然后需要对网络抄的答案进行批改:比较每一次网络抄出来的结果(新的t分布计算)和答案p,看看还差多少,哪里不对,给打个分。然后发下去,让网络进行修改,再次训练,如此往复。
上面提到的批改作业,就是KL计算过程:比较网络抄的答案(t分布)和答案p的差距,进行打分。
这就是KL损失的由来:衡量网络抄的答案和t分布老师做的答案的差距。
四、KL缺点
上面提到了,答案的由来是t分布老师自己做的,不保证全对。这就带来一个很大的问题:学生照着这个答案抄,答案不全对,真正考试的时候,那肯定得不到满分。
所以这就是kL的缺点之一:受t分布的影响,聚类精度会到达上限,难以再次突破。
五、对抗学习
针对上述KL缺点,提出的改进:引入判别器。
点评 t 分布老师:
发挥的作用:每一道题都给出具体的答案。
特点:面面俱到,具体到每一道题目。
缺点:有个别题目答案不对。
说实话,缺点很突出,不能称为好办法。
在聚类中既然永远没有办法得到准确的真解,只能换个思路:
只评价学生的答案是否规范,不评价对与错。
反正也没有标签,本来就没法判断对错,还费这劲干嘛,不如看看字迹写的是否工整,看看答案写的像不像那么回事。
何为规范?
拿单选ABCD举例。学生答题,四选一的问题,他要想得分,得从这四个选项中选一个,蒙一个也行。反正不能给出如下答案:E、1.5、不会、α 等答案。
判别器就是做这个工作的:
它也不知道标准答案是什么。但是它知道一定是ABCD中的一个。所以他就只看学生给出的答案,是不是ABCD中的一个。如果是,那就算通过。这个阅卷工作可太简单了。只要学生不乱写乱画,胡乱给出ABCD就能得满分。
上面的ABCD就是one-hot向量。判别器熟练掌握了,分辨这四个选项的能力。
A | B | C | D |
---|---|---|---|
1 | 0 | 0 | 0 |
0 | 1 | 0 | 0 |
0 | 0 | 1 | 0 |
0 | 0 | 0 | 1 |
假设学生甲、乙(数据1、2)给出各自的聚类答案:
学生甲答案 | 学生乙答案 |
---|---|
0.1 | 0.6 |
0.1 | 0.1 |
0.7 | 0.1 |
0.1 | 0.2 |
分析答案可以得出如下结论:生成器认为,这两个数据不是同一类。甲是第三类,乙是第一类。 |
然后交给判别器去了。判别器人家压根不是判别你俩是不是一类的。它只判别你生成器给出的答案,是不是标准答案。
也就是说,它拿着你给的这两张卷子,去和标准答案one-hot对比去了,给出一个评分。满分100,越接近标准答案,得分越高。
对比之后给出了如下打分:甲 70分,乙 60分。
判别器觉得甲同学答卷还可以,勉强能通过。乙同学答得不太好,不太能通过。
黑幕出现了:
其实,甲和乙,本来就是同一类的数据!!!!! o( ̄︶ ̄)o。
你看,生成器胡乱划分的类别,判别器也压根不知道这是错的类别。离天下之大谱!!
这样问题就来了:
判别器又不能判断类别是否准确,光看是不是接近标准答案(隶属度尖锐)有啥用呀?对聚类有什么良性作用吗?还不如人家Kl呢,最起码还是在t分布老师做了一遍的基础上,去往这个答案上靠拢。这判别器啥答案都没有,从头到尾都是生成器乱蒙、判别器瞎判。能有用吗?
我的理解:
答案不在判别器手里,它的作用只是引导学生,通过不断的答题和评分,最终得到高分的过程。
答案至始至终其实在学生手里,也就是t分布计算得到的q。
“t分布”是学生掌握的唯一技能,学生只会这一种解题思路。不管这次得了多少分,下次依然采用t分布去做题。也就是说t分布是学生唯一学会的知识点。
有了t分布,学生刚入学时(迭代次数少),此时面对大量数据,学生拿着掌握的t分布去划分数据,一轮下来发现结果划分的很差。这是很正常的,因为此时数据重构的也不好,特征不能作为原始空间的替代者,自然聚类结果差。
学生答案如下:
类别1 | 类别2 | 类别3 | 类别4 | 类别5 | 类别6 | 类别7 | 类别8 | 类别9 | 类别10 |
---|---|---|---|---|---|---|---|---|---|
0.09 | 0.11 | 0.1 | 0.1 | 0.1 | 0.1 | 0.1 | 0.1 | 0.1 | 0.1 |
此时判别器毫不留情,打出了10分。原因是:学生的答案太不够突出了,平平缓缓,毫无亮点
学生拿到成绩,很委屈,然后开始了反思:判别器老师只说自己答得不好,但是不告诉我哪里不好。这和kl老师完全不同。因为kl老师从第一次摸底考试就公布答案p,让我比着改。判别器老师并没有指出正确的选项,而是在等待学生自己去寻找。
他就对试卷重新做了一次,依然采用t分布的技能。
注意:由于计算损失不止kl一项,因此第二次计算得到的结果并非完全沿着第一次的结果继续进行,即第二次迭代,未必在第一次迭代的基础上尖锐化。我称这种情况叫:更换答案。因此第二次迭代后,有可能沿着类别2继续尖锐,也有可能换成了其他。不过随着重构的不断完善,特征越来越能代表原始数据时候,t分布也趋于稳定,换答案的情况逐渐减少。
当学生再次提交考卷后,判别器老师又给一个分数,仍不提及答案是多少,只不过它留意了学生认为正确的答案,学生有较大的把握给出了当前的答案,判别器老师是高兴的,因为它发现学生会自己动手解题了。
这就是判别器的高明之处:判别器老师与kl老师不同,它没有对着答案去打分,因为上面我们提到了,初始的迭代,数据尚不明晰时,没人说得准谁和谁一类。如果这时候kl老师就急匆匆的给出了标准p,那大概率是错误的,也导致学生越学越偏。而判别器让学生通过t分布技能,一遍遍的刷题,一遍遍的增强给出答案的自信心。可能初始答题,学生也频繁换答案,不过判别器从不对错误选项做出强约束,而是逼迫学生再次通过t分布佐证上一次的作答。
直到学生拍着胸脯说:我这次100%做对了,判别器眼睛里闪出一丝狡黠的笑。
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhghfjef
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13