logp
文档log-probabilities和LDA模型的拟合优度
语法
描述
___= logp (___,
使用一个或多个指定附加选项名称-值对参数。名称,值
)
例子
计算文档Log-Probabilities
复制的结果在这个例子中,集rng
来“默认”
。
rng (“默认”)
加载示例数据。该文件sonnetsPreprocessed.txt
莎士比亚的十四行诗的包含预处理版本。文件包含每行一个十四行诗,单词之间用一个空格来分隔。提取的文本sonnetsPreprocessed.txt
在换行字符,文本分割成文档,然后标记文件。
文件名=“sonnetsPreprocessed.txt”;str = extractFileText(文件名);textData =分裂(str,换行符);文件= tokenizedDocument (textData);
创建一个bag-of-words模型使用bagOfWords
。
袋= bagOfWords(文档)
袋= bagOfWords属性:计数:[154 x3092双]词汇:“公平”“生物”“希望”“增加”“从而”“美”“玫瑰”“可能”“从不”“死”“成熟”“时间”“死”“温柔”“继承人”“熊”“记忆”“你”“简约”…]NumWords: 3092 NumDocuments: 154
适合一个LDA模型与20的话题。抑制详细输出,集“详细”
为0。
numTopics = 20;mdl = fitlda(袋、numTopics、“详细”,0);
计算的文档log-probabilities培训文档和向他们展示在一个柱状图。
logProbabilities = logp (mdl、文档);图直方图(logProbabilities)包含(“日志概率”)ylabel (“频率”)标题(“文档Log-Probabilities”)
识别对数概率最低的三个文件。较低的对数概率可能表明文档可能是局外人。
[~,idx] = (logProbabilities)进行排序;idx (1:3)
ans =3×1146年19日65年
文档(idx (1:3))
ans = 3 x1 tokenizedDocument: 76令牌:可怜的灵魂中心有罪的地球地球叛军力量数组为何你松遭受缺乏绘画外墙壁昂贵的同性恋为什么大量成本短期租赁你你衰落的豪宅花费蠕虫继承者过量吃了你的费用你发现最后的灵魂住在仆人的损失让松加重你商店购买条款你神圣的销售小时渣滓美联储丰富应当饲料死亡提要男人一旦死亡有死亡76令牌:吞噬时间冲你狮子的爪子使地球吞噬自己的甜蜜育摘下敏锐的牙齿凶猛的老虎嘴燃烧longlivd凤凰血使高兴难过的季节你舰队只要你必swiftfooted宽世界褪色糖果禁止你十恶不赦的犯罪o雕刻你的小时喜欢公平的眉毛也画线你的古董笔你的课程无污点的允许美模式成功男人但你尽管你错误的爱情诗最老次住年轻73令牌:黄铜、石头或地球也不是无限的海悲伤死亡率oersways愤怒力量必美举行答辩的行动更强的花啊,夏天蜂蜜呼吸责怪wrackful围攻殴打天坚不可摧的坚固的岩石和盖茨钢强时间衰变o害怕冥想呜呼应乘以最好的珠宝箱谎言藏强有力的手阻碍迅速脚破坏美禁止o没有除非奇迹可能黑色墨水爱仍然闪闪发亮
从字数计算文档Log-Probabilities矩阵
加载示例数据。sonnetsCounts.mat
包含一个单词统计矩阵和相应的预处理词汇版本的莎士比亚的十四行诗。
负载sonnetsCounts.mat大小(数量)
ans =1×2154 3092
适合一个LDA模型与20的话题。
numTopics = 20;numTopics mdl = fitlda(计数)
最初的话题作业在0.059809秒内取样。= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = |迭代每个相对| | |时间培训|主题|主题| | | | |迭代变化困惑浓度浓度| | | | | |(秒)日志(L) | | |迭代| = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = | 0 | 0.00 | 5.000 | 1.159 e + 03 | | 0 | | 1 | 0.02 | 5.4884 e-02 e + 02 | 8.028 | 5.000 | 0 | | 2 | 0.02 | 4.7400 e 03 e + 02 | 7.778 | 5.000 | 0 | | 3 | 0.04 | 3.4597 e 03 e + 02 | 7.602 | 5.000 | 0 | | 4 | 0.04 | 3.4662 e 03 e + 02 | 7.430 | 5.000 | 0 | | 5 | 0.02 | 2.9259 e 03 e + 02 | 7.288 | 5.000 | 0 | | 6 | 0.02 | 6.4180 e-05 e + 02 | 7.291 | 5.000 | 0 | = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
mdl = ldaModel属性:NumTopics: 20 WordConcentration: 1 TopicConcentration: 5 CorpusTopicProbabilities: [0.0500 0.0500 0.0500 0.0500 0.0500 0.0500 0.0500 0.0500 0.0500 0.0500 0.0500 0.0500 0.0500 0.0500 0.0500 0.0500 0.0500 0.0500 0.0500 0.0500] DocumentTopicProbabilities: [154 x20的双]TopicWordProbabilities: [3092 x20的双]词汇:(“1”“2”“3”“4”“5”“6”“7”“8”“9”“10”“十一”“12”“13”“14”“15”“16”“17”“18”“19”“20”“21”“22”“23”“24”“25”“26”“27”…]TopicOrder:“initial-fit-probability”FitInfo: [1 x1 struct]
计算的文档log-probabilities培训文档。为每个文档指定画500个样本。
numSamples = 500;logProbabilities = logp (mdl计数,…“NumSamples”,numSamples);
显示文档log-probabilities直方图。
图直方图(logProbabilities)包含(“日志概率”)ylabel (“频率”)标题(“文档Log-Probabilities”)
识别指数的对数概率最低的三个文件。
[~,idx] = (logProbabilities)进行排序;idx (1:3)
ans =3×1146年19日65年
比较拟合优度
比较两个LDA模型的拟合优度计算的困惑了测试集的文档。
复制的结果,集rng
来“默认”
。
rng (“默认”)
加载示例数据。该文件sonnetsPreprocessed.txt
莎士比亚的十四行诗的包含预处理版本。文件包含每行一个十四行诗,单词之间用一个空格来分隔。提取的文本sonnetsPreprocessed.txt
在换行字符,文本分割成文档,然后标记文件。
文件名=“sonnetsPreprocessed.txt”;str = extractFileText(文件名);textData =分裂(str,换行符);文件= tokenizedDocument (textData);
预留10%的随机文件进行测试。
numDocuments =元素个数(文件);本量利= cvpartition (numDocuments,“坚持”,0.1);documentsTrain =文档(cvp.training);documentsTest =文档(cvp.test);
从培训文档创建一个bag-of-words模型。
袋= bagOfWords (documentsTrain)
袋= bagOfWords属性:计数:[139 x2909双]词汇:“公平”“生物”“希望”“增加”“从而”“美”“玫瑰”“可能”“从不”“死”“成熟”“时间”“死”“温柔”“继承人”“熊”“记忆”“你”“简约”…]NumWords: 2909 NumDocuments: 139
适合一个LDA模型与bag-of-words 20主题模型。抑制详细输出,集“详细”
为0。
numTopics = 20;numTopics mdl1 = fitlda(袋,“详细”,0);
视图的信息模型。
mdl1.FitInfo
ans =结构体字段:TerminationCode: 1 TerminationStatus:“相对容忍对数似满意。”NumIterations: 26 NegativeLogLikelihood: 5.6915e+04 Perplexity: 742.7118 Solver: "cgs" History: [1x1 struct]
计算了测试集的困惑。
[~,ppl1] = logp (mdl1 documentsTest)
ppl1 = 781.6078
适合一个LDA模型与bag-of-words 40主题模型。
numTopics = 40;numTopics mdl2 = fitlda(袋,“详细”,0);
视图的信息模型。
mdl2.FitInfo
ans =结构体字段:TerminationCode: 1 TerminationStatus:“相对容忍对数似满意。”NumIterations: 37 NegativeLogLikelihood: 5.4466e+04 Perplexity: 558.8685 Solver: "cgs" History: [1x1 struct]
计算了测试集的困惑。
[~,ppl2] = logp (mdl2 documentsTest)
ppl2 = 808.6602
较低的困惑表明模型可以更好地适应了测试数据。
输入参数
ldaMdl
- - - - - -输入LDA模型
ldaModel
对象
输入LDA模型,指定为一个ldaModel
对象。
文档
- - - - - -输入文档
tokenizedDocument
数组|字符串数组的单词|单元阵列的特征向量
输入文件,指定为一个tokenizedDocument
数组,字符串数组的话,或一个细胞的特征向量。如果文档
不是一个tokenizedDocument
数组,那么它必须是一个行向量代表一个文档,其中每个元素是一个词。指定多个文档,使用tokenizedDocument
数组中。
袋
- - - - - -输入模型
bagOfWords
对象|bagOfNgrams
对象
输入bag-of-words或bag-of-n-grams模型,指定为一个bagOfWords
对象或一个bagOfNgrams
对象。如果袋
是一个bagOfNgrams
函数对象,然后将每个语法视为一个字。
计数
- - - - - -频率计数的单词
矩阵的非负整数
频率计数的话,指定为一个矩阵的非负整数。如果您指定“DocumentsIn”
是“行”
值,然后计数(i, j)
对应的次数j词的词汇出现在我文档。否则,该值计数(i, j)
对应的次数我词的词汇出现在j文档。
名称-值参数
指定可选的双参数作为Name1 = Value1,…,以=家
,在那里的名字
参数名称和吗价值
相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。
R2021a之前,用逗号来分隔每一个名称和值,并附上的名字
在报价。
例子:“NumSamples”, 500年
指定为每个文档画500个样本
DocumentsIn
- - - - - -取向的文档
“行”
(默认)|“列”
面向文档的字数矩阵,指定为逗号分隔组成的“DocumentsIn”
和下列之一:
“行”
——输入矩阵的单词统计行相应的文档。“列”
——输入单词统计的转置矩阵列对应的文件。
此选项仅适用于如果你输入文件指定为一个矩阵的单词计数。
请注意
如果你东方字数矩阵,这样文件并指定对应列“DocumentsIn”、“列”
,那么你可能会经历在optimization-execution时间显著减少。
NumSamples
- - - - - -的样本数量
1000年(默认)|正整数
样品数量为每个文档,绘制指定为逗号分隔组成的“NumSamples”
和一个正整数。
例子:“NumSamples”, 500年
输出参数
logProb
——Log-probabilities
数值向量
Log-probabilities LDA模型下的文件,作为一个数值向量返回。
ppl
——困惑
积极的标量
困惑的文件从log-probabilities计算,作为一个积极的标量返回。
算法
的logp
使用迭代pseudo-count描述的方法[1]。
引用
[1]瓦拉赫,汉娜。,Iain Murray, Ruslan Salakhutdinov, and David Mimno. "Evaluation methods for topic models." In学报》第26届国际会议上机器学习,1105 - 1112页。ACM, 2009年。哈佛大学
版本历史
介绍了R2017b
Abrir比如
这种版本modificada德埃斯特比如。害怕Desea abrir埃斯特比如con sus modificaciones吗?
第一de MATLAB
Ha事实clic en联合国围绕此时一个埃斯特第一de MATLAB:
Ejecute el第一introduciendolo en la ventana de第一de MATLAB。洛杉矶navegadores网络没有admiten第一de MATLAB。
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。