abcdefghi_jk 2023-04-16 10:03 采纳率: 100%
浏览 12
已结题

LDA模型中 阿尔法和贝塔如果不设置有默认值吗

想问一下编辑LDA代码中需要设置阿尔法和贝塔的参数吗,如果需要的话应该写什么代码,不需要的话他们的默认值是多少呢

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-04-16 12:16
    关注
    • 你可以看下这个问题的回答https://ask.csdn.net/questions/7412132
    • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:主题模型LDA的实现
    • 除此之外, 这篇博客: 《学术小白的学习之路 09》基于困惑度和余弦相似度确定LDA最优主题数中的 1.2、定义困惑度函数 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
    • import math
      def perplexity(ldamodel, testset, dictionary, size_dictionary, num_topics):
          print('the info of this ldamodel: \n')
          print('num of topics: %s' % num_topics)
          prep = 0.0
          prob_doc_sum = 0.0
          topic_word_list = [] 
          for topic_id in range(num_topics):
              topic_word = ldamodel.show_topic(topic_id, size_dictionary)
              dic = {}
              for word, probability in topic_word:
                  dic[word] = probability
              topic_word_list.append(dic)  
          doc_topics_ist = []  
          for doc in testset:
              doc_topics_ist.append(ldamodel.get_document_topics(doc, minimum_probability=0))
          testset_word_num = 0
          for i in range(len(testset)):
              prob_doc = 0.0  # the probablity of the doc
              doc = testset[i]
              doc_word_num = 0  
              for word_id, num in dict(doc).items():
                  prob_word = 0.0  
                  doc_word_num += num
                  word = dictionary[word_id]
                  for topic_id in range(num_topics):
                      # cal p(w) : p(w) = sumz(p(z)*p(w|z))
                      prob_topic = doc_topics_ist[i][topic_id][1]
                      prob_topic_word = topic_word_list[topic_id][word]
                      prob_word += prob_topic * prob_topic_word
                  prob_doc += math.log(prob_word)  # p(d) = sum(log(p(w)))
              prob_doc_sum += prob_doc
              testset_word_num += doc_word_num
          prep = math.exp(-prob_doc_sum / testset_word_num)  # perplexity = exp(-sum(p(d)/sum(Nd))
          print("模型困惑度的值为 : %s" % prep)
          return prep
      
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 4月30日
  • 已采纳回答 4月22日
  • 创建了问题 4月16日

悬赏问题

  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)
  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?