这个模块中我们已经讨论了
一个文件检索的任务 还讨论了一个聚类的概念
用来揭示数据的潜在结构 我们
还谈到了一些聚类这个概念有用武之地的领域
现在让我们来从头讨论一下一个聚类算法的工作流程
如果你觉得你觉得你已经对此了然于胸了 因为你已经
在另外两个模块中见过这个流程图了
那么 赶快醒一醒
因为这次这个可是有点不太一样的
好的 让我们来看看我们的训练数据
在这里 我们的训练数据是
用来进行文件聚类的文件代号和
文本表
所以我们有一堆文件
以及与它们对应的文本
然后我们将会提取一些特征量
我们之前谈到过一些描绘一个文件的不同的方法
这里我要用到其中一个叫做"tf-idf"的方法
全称叫做词频-逆文档频率法
我们下一步要做的是试着
用这个表示法来对我们的文件进行聚类
所以我们将把这些特征量放入一些机器学习的模型中
在这里我们用的是一个聚类模型
对每个文件我们会输出一个聚类标签
那么这里的输出量y帽就是我们的聚类标签
好的 有意思的是
因为我们打算评估我们的聚类结果的准确度
当然 这里我们并没有真正的集群标签 因此
我还是把它称为我们的预测或者预估标签
而我们并没有一个可以用来比对的真实标签
因此这里的y 它并不存在
这是因为 就像我们提到过的那样 我们的设定是无监督式学习
无监督式的
好
所以我们没有真正的标签 但是
我们需要用某种方法来评估我们的聚类准确度
所以让我们在这里画一个小的图 也就是我们的沃罗诺伊图 还有
我们的k均值算法以及集群中心的集合 我们还有数据
我不知道 假设我们的数据长这样
我在这里画一下点
我们的准确度的度量方法
也就是我们用来质量评估的是聚类的一致性
我们会测量每个观测点到
它所在的集群中心的距离
一个好的聚类算法中这些距离会很小
所以我们的目标是最小化这些距离 而我们需要测量的是
准确度 要测量这些距离 我们需要原始数据
我们需要我们的词频-逆文档频率
所以那些值会从这里输入 然后我们还需要集群中心
所以W帽 也就是我们的当前估计值
是我们的模型参量 而k均值算法
这是我们的集群 啊
让我看看我们有没有评对这个词 集群中心
那是W帽的指代意义
当然我们也需要用W帽来测算距离
因此与其用真实的集群标签来评估准确度
我们不如用文件标识和集群中心
把原始数据输入到质量度量中
用于计算到集群中心的距离
那是我们计算误差的度量 虽然它其实不是误差
只是能估量
啊哦
只是能估量质量
所以我就不把那个词写在那了
好了 我想这是有点乱
但是就让我们标成到集群中心的距离
那我们的算法是什么呢？
我们之前谈到过k均值是一个聚类的方法
当然还有其他的方法 但是这里我们集中讨论k均值 那么
k均值是怎么算的呢？
让我们重新画一下这个图 好吧 干脆让我换一种颜色好了
那样我们可以节约点时间
好的 k均值是在试着最小化这个距离 或者说这些距离的总和
最小化的方式是通过迭代循环
所以这个是我们之前的W帽 我们把它更新成
这个新的W帽 用来表示这些点的质量中心
因此这些点会发生偏移
而这个点会直接放在这个观测量上
这就是这个聚类算法的工作流程
让我们再从一个高水平上来总结一下
我们拿到原始数据 用某种方法来表示它们 可以是单词统计量
可以是词频-逆文档频率 或者这类数据的标准化值
我们可以用像二元或者三元词组来
表示我们的文件
然后我们的聚类算法 比如k均值算法 可以输出集群标签
并且我们可以通过迭代来一次次地更新
集群中心 也就是这个聚类模型的参量
迭代更新的依据是观测量到集群中心的距离
不同于其他模块 在这个模块中 我们为大家
详细地讲解了一些算法的背后的细节
尤其是对聚类 我们讨论了k均值算法 以及
文件检索问题 我们还谈到了相邻社区检索问题
并提供了解决问题的算法的细节
你还特别研究了用ipython Notebook
如何进行维基百科条目检索
因此 到这里 你应该可以走出课堂
搭建一个炫酷的新闻稿件的检索系统
或者一个炫酷到我都想不到的其他检索系统
当然还有好多好多有趣的例子
所以 同学们 请务必走向大千世界 多多探索新的好主意
[背景音乐] 翻译: RyukaSuu |审阅: 19waa Coursera Global Translator Community