kmeans集群算法(cluster-reuters)

原创文章,转载请注明: 转载自慢慢的回味

本文链接地址: kmeans集群算法(cluster-reuters)

理论分析

集群中心点计算

1 随机从待分类的向量中选出20个作为20个集群的中心。
2 对所有的点,计算其和每个中心的距离,距离最小者为当前点的集群归属。
3 重新对每个集群计算新的中心,并计算新的中心和老的中心的距离,判断其是否收敛。
4 如果所有集群都收敛或者达到用户指定的条件,则集群完成。否则,从2开始下一轮计算。

集群数据

对所有的点,计算其和每个中心的距离,距离最小者为当前点的集群归属。

代码分析

  $MAHOUT kmeans \
    -i ${WORK_DIR}/reuters-out-seqdir-sparse-kmeans/tfidf-vectors/ \
    -c ${WORK_DIR}/reuters-kmeans-clusters \
    -o ${WORK_DIR}/reuters-kmeans \
    -dm org.apache.mahout.common.distance.CosineDistanceMeasure \
    -x 10 -k 20 -ow --clustering

在这之前同样需要调用seqdirectory和seq2sparse,请参考贝叶斯分类(classify-20newsgroups)

    if (hasOption(DefaultOptionCreator.NUM_CLUSTERS_OPTION)) {
      clusters = RandomSeedGenerator.buildRandom(getConf(), input, clusters,
          Integer.parseInt(getOption(DefaultOptionCreator.NUM_CLUSTERS_OPTION)), measure);
    }

随机从待集群的文章中选取20篇文字作为20个集群的中心。
继续阅读“kmeans集群算法(cluster-reuters)”本作品采用知识共享署名 4.0 国际许可协议进行许可。

Parallel-ALS推荐算法(factorize-movielens-1M)

原创文章,转载请注明: 转载自慢慢的回味

本文链接地址: Parallel-ALS推荐算法(factorize-movielens-1M)

一 理论分析

Large-scale Parallel Collaborative Filtering for the Netflix Prize

表示为user和movie的矩阵。可以定义一个损失函数其中,r为实际的rating值,<u,m>为待求出的user,movie矩阵计算出的值,显然当损失函数值最小时,user-movie矩阵即为所求。
继续阅读“Parallel-ALS推荐算法(factorize-movielens-1M)”本作品采用知识共享署名 4.0 国际许可协议进行许可。

贝叶斯分类(classify-20newsgroups)

原创文章,转载请注明: 转载自慢慢的回味

本文链接地址: 贝叶斯分类(classify-20newsgroups)

一 理论分析

Tackling the Poor Assumptions of Naive Bayes Text Classifiers

贝叶斯的多项式模型如下公式。表示一个文档由一系列单词构成。为在类c的条件下,当前文档为文档d的概率。

表示类c的参数向量,表示文档共有m个类,一个类向量由n个单词的概率参数表示。如表示类c中单词i的概率。

为了求文档d的似然概率,通常再加上类c的先验概率就可得到d的似然函数。不过往往先验概率都相同。
继续阅读“贝叶斯分类(classify-20newsgroups)”本作品采用知识共享署名 4.0 国际许可协议进行许可。