SVM&TSVM&LSA(I)→PLSA(I)→LDA→HDP

2023-05-16

SVM&TSVM&LSA(I)→PLSA(I)→LDA→HDP

SVM(用于监督学习)

  • 参考文章:SVM(支持向量机)详解
    通俗来讲,SVM是一种二类分类模型,其基本模型定义为特征空间上的间隔最大的线性分类器,即支持向量机的学习策略便是间隔最大化,最终可转化为一个凸二次规划问题的求解。
    高维空间的小样本学习。SVM解决问题的时候,和样本的维数是无关的。寻求经验风险与置信风险的和最小,即结构风险最小。
    但是当某些点出现间隔比1小的情况时(这些点也叫离群点),意味着我们放弃了对这些点的精确分类,而这对我们的分类器来说是种损失。但是放弃这些点也带来了好处,那就是使分类面不必向这些点的方向移动,因而可以得到更大的几何间隔(在低维空间看来,分类边界也更平滑)。把损失加入到目标函数里的时候,就需要一个惩罚因子(cost,也就是libSVM的诸多参数中的C)。
  • 参考文章:SVM入门(十)将SVM用于多类分类
    DAG SVM方法,如果类别数是k,则只调用k-1个,分类速度飞快,且没有分类重叠和不可分类现象。缺点:对下面每一层的分类器都存在错误向下累积的现象。
  • 更多参考文章
  • 直推式SVM(TSVM)参考文章:S3VM和TSVM的不同
    半监督学习,因为学习一个定义在整个输入空间直推式规则,也称为半监督SVM(S3VM)。

PLSA

  • 参考文章:PLSA详解
    PLSA中关心的就是每篇文章中的每个主题的分布,和每个主题下单词的分布。
    EM的目的就是为了找出具有隐式变量的最大似然度的解。拉格朗日余项的作用。
    参考EM算法原理详解与高斯混合模型
  • 参考文章:TopicModel主题模型 - Unigram、LSA、PLSA主题模型详解
    LSA(I)→PLSA(I)→LDA→HDP
    PLSA样本随机,参数虽未知但固定,属于频率派思想;LDA样本固定,参数未知但不固定,是个随机变量,服从一定的分布,LDA属于贝叶斯派思想。
    PLSA是一种词袋方法。
    EM算法不保证一定能找到全局最优值。

  • 参考文章:LDA-math-认识Beta/Dirichlet分布(1)(2)(3)√
    P(p|m1,m2)=pm1(1p)m210tm1(1t)m2dt 10tm1(1t)m2dt 10tm1(1t)m2dt=1m1+110(1t)m2d(tm1+1)=m2m1+110tm1+1(1t)m21dt=m2(m21)(m1+1)(m1+2)10tm1+2(1t)m22dt==m2(m21)(m22)1(m1+1)(m1+2)(m1+m2)10tm1+m2(1t)0dt=m2! m1!(m1+m2+1)!
    因此: P(p|m1,m2)=(m1+m2+1)!m2! m1!pm1(1p)m2=Γ(m1+m2+2)Γ(m1+1)Γ(m2+1)pm1(1p)m2=Beta(p|m1+1,m2+1)
    关于 (n2k11,k21) (n2k11,k21)=(n2k11)(n2(k11)k21)=(n2)!(k11)! (n2k1+1)!(n2k1+1)!(k21)! (n2k1+1k2+1)!=(n2)!(k11)! (k21)! (nk1k2)!
    Beta 分布 Γ(α+β)Γ(α)Γ(β)xα1(1x)β1 ,3维Dirichlet分布 Dir(x1,x2,x3|α1,α2,α3)=Γ(α1+α2+α3)Γ(α1)Γ(α2)Γ(α3)xα111xα212xα313

  • 参考文章:机器学习的数学基础(1)–Dirichlet分布

    伽玛函数(Gamma Function)作为阶乘的延拓,是定义在复数范围内的亚纯函数,通常写成Γ(x)。当函数的变量是正整数时,函数的值就是前一个整数的阶乘,或者说Γ(n+1)=n!。
    贝叶斯参数估计的基本过程是:先验分布 + 数据的知识 = 后验分布。
    Beta-Binomial共轭,共轭的意思就是,数据符合二项分布的时候,参数的先验分布和后验分布都能保持Beta分布的形式。
    Multinomial分布的先验分布为Dirichlet分布。Beta(p|k,n−k+1)+Count(m1,m2)=Beta(p|k+m1,n−k+1+m2)。

  • 参考文章: 我爱自然语言处理

LSA

  • 参考文章:TopicModel主题模型 - LSA(隐性语义分析)模型和其实现的早期方法SVD
    传统向量空间模型使用精确的词匹配,即精确匹配用户输入的词与向量空间中存在的词。
    LSA(latent semantic analysis)潜在语义分析,也被称为LSI(latent semantic index)。LSA的基本思想就是把高维的文档降到低维空间。将文档表示到潜在语义空间的过程就是SVD奇异值分解和降维的过程。相比传统向量空间,潜在语义空间的维度更小,语义关系更明确。LSA的步骤:分析文档集合,建立Term-Document矩阵;对Term-Document矩阵进行奇异值分解;对SVD分解后的矩阵进行降维,也就是奇异值分解一节所提到的低阶近似;使用降维后的矩阵构建潜在语义空间,或重建Term-Document矩阵。

LDA

  • 参考文章:TopicModel主题模型 - LDA详解
    它是一种无监督学习算法,在训练时不需要手工标注的训练集,需要的仅仅是文档集以及指定主题的数量k即可。LDA是一种典型的词袋模型。
    频率派与贝叶斯派各自不同的思考方式:频率派把需要推断的参数θ看做是固定的未知常数,即概率虽然是未知的,但最起码是确定的一个值,同时,样本X是随机的,所以频率派重点研究样本空间,大部分的概率计算都是针对样本X的分布;而贝叶斯派的观点则截然相反,他们认为待估计的参数是随机变量,服从一定的分布,而样本X是固定的,由于样本是固定的,所以他们重点研究的是参数的分布。
    LDA在PLSA的基础上,为主题分布和词分布分别加了两个Dirichlet先验。每篇文章下的Topic的主题分布是一个从参数为 α 的Dirichlet先验分布中采样得到的Multinomial分布,每个Topic下的词分布是一个从参数为 β 的Dirichlet先验分布中采样得到的Multinomial分布。
    LDA真的只是pLSA的贝叶斯版本。两者都要根据文档去推断其主题分布和词语分布,只是用的参数推断方法不同,在PLSA中用极大似然估计的思想去推断两未知的固定参数,而LDA则把这两参数弄成随机变量,且加入dirichlet先验。
  • 参考文章:概率论复习 – ML vs. MAP vs. Bayesian Inference
    极大后验估计(MAP)中相对于最大似然估计,多了log p(θ),也就是先验的影响。
    参数估计(2):极大似然,最大后验,贝叶斯推断以及最大熵
    最大熵估计等同于对以下形式的模型的MLE: P(x)=eλf(x)Z(λ) ,总会有一个f(x)使得p(x)接近样本的真实分布。
    《Gibbs Sampling for the UniniTiated》笔记
    Gibbs采样是Markov Chain Monte Carlo(蒙特卡洛方法)的一种。所谓的蒙特卡洛方法就是模拟统计的方法。Gibbs Sampling每次在确定下一个状态的时候,并不是一次性地确定所有维度上的值,而是选取一个维度,通过剩下的k-1个维度来确定这个维度的值。当我们想得到文档j的新标签时,暂时地移除所有当前文档的信息(包括词数目和标签信息),然后通过余下的信息得出 Lj=0 的条件概率和 Lj=1 的条件概率,最后根据这俩概率的相对比例采样得到新的 Lj(t+1) 。对 θ 的采样也是如此。步骤:写成联合分布、先验选择和简化联合分布、将隐含变量π积出、构建Gibbs Sampler、对文档标签L采样、对 θ 采样。
    每次新的标签 Lj 产生的时候,都会对接下来的文档标签数目统计产生影响,这就是Gibbs采样器的本质。如果是多项式分布抽一个样本,对其积分就可以让Gibbs采样器更简单。反之,如果一次从同一个多项式分布中抽取多个样本,即使可以积分,形式也会非常复杂。
    从Gibbs采样器产生值:Gibbs采样在每个循环都会产生变量的值,在理论上,变量 Zi 可以通过 T 次获得的值近似:1TTt=1z(t)i (1)。实际中一般不直接这样用。根据选择初始值的不同,Gibbs采样器需要一定的迭代次数才能保证点 <zt1,zt2,,ztk> <script type="math/tex" id="MathJax-Element-20"> </script>都是从马尔科夫链的平稳分布中生成的(换句话说就是马尔科夫链需要一定的次数才能收敛)。为了避免在这之前的估计对结果产生的影响,一般都丢弃 t<B 之前的结果,之前的阶段就被称为“burn-in”阶段,所以取平均值的时候是从 B+1 次到 T 次的。式(1)中近似假设Zi的那些样本都是相互独立的,而事实上不是,因为新的点都是从前面的点所给的条件所生成的。这个问题被称作自相关。为了避免这个问题,很多Gibbs采样在实现的时候取每L个值的平均值,这个L被称为lag。
    深度学习读书笔记之RBM(限制波尔兹曼机)
    马尔科夫蒙特卡罗(MCMC)方法的基本思想:计算积分时,没有办法对区间内的所有x的取值都算一遍,可以将h(x)分解为某个函数f(x)和一个定义在(a, b)上的概率密度函数p(x)的乘积。这样一来,原积分就等同于f(x)在p(x)这个分布上的均值(期望)。这时,如果我们从分布p(x)上采集大量的样本,这些样本符合分布p(x),可以通过这些样本来逼近这个均值。

HDP

  • 参考文章:HIERARCHICAL DIRICHLET PROCESS
    HDP算是对LDA这类型模型的非参化。事实上,简单的说我们首先从一个 DP(γ,H) 中抽取 G0 ,这样我们的 G0 不再是预先给定的,然后我们从 DP(α0,G0) 中再抽取 θi
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SVM&TSVM&LSA(I)→PLSA(I)→LDA→HDP 的相关文章

  • 目标缩放导致 Scikit-learn SVM 回归崩溃

    训练 SVM 回归时 通常建议在训练之前缩放输入特征 但如何扩大目标呢 通常这不被认为是必要的 而且我看不出有什么充分的理由说明为什么有必要这样做 然而 在 scikit learn 的 SVM 回归示例中 http scikit lear
  • 如何在Matlab中使用libsvm?

    我是 matlab 新手 不知道如何使用 libsvm 是否有任何示例代码可以使用 SVM 对某些数据 具有 2 个特征 进行分类 然后将结果可视化 使用内核 RBF 多项式和 Sigmoid 怎么样 我在 libsvm 包中看到了该自述文
  • 使用 Scikit Learn SVM 准备文本分类数据

    我正在尝试应用 Scikit learn 中的 SVM 对我收集的推文进行分类 因此 将有两个类别 将它们命名为 A 和 B 目前 我将所有推文分类为两个文本文件 A txt 和 B txt 但是 我不确定 Scikit Learn SVM
  • ValueError:类的数量必须大于一(python)

    经过时x y in fit 我收到以下错误 回溯 最近一次调用最后一次 文件 C Classify classifier py 第 95 行 位于 train avg test avg cms train model X y ceps pl
  • svmtrain 和 fitcsvm 之间的区别

    我有一组由 35 个特征列表组成的数据 我注意到当我将数据提供给svmtrain我收到消息 no convergence achieved within maximum number of iterations 比 当我增加迭代次数时 Ma
  • 如何在 Python 中多次训练 sklearn 中的 SVM 分类器?

    我想知道是否可以在 for 循环中多次从 Python 中的 sklearn 训练 SVM 分类器 我的想法如下 for i in range 0 10 data np load somedata labels np load somela
  • 使用 RBF 核 SVM 时,c 或 gamma 的高值是否会出现问题?

    我正在使用 WEKA LibSVM 来训练术语提取系统的分类器 我的数据不是线性可分的 因此我使用 RBF 内核而不是线性内核 我跟着Hsu 等人的指南 并迭代 c 和 gamma 的几个值 最适合对已知术语进行分类 测试和训练材料当然不同
  • 如何获取Scikit-learn的svm中的训练误差?

    我的问题 如何获取 svm 模块 SVC 类 中的训练误差 我正在尝试根据所使用的训练数据数量 或其他特征 例如 C gamma 绘制训练集和测试集的误差图 然而 根据支持向量机文档 http scikit learn org stable
  • 将 scikit-learn SVM 模型转换为 LibSVM

    我使用 scikit learn 训练了超过半 TB 的数据的 SVM svc 该模型运行良好 我需要将其移植到 C 但我不想从头开始重新训练 SVM 因为这对我来说花费的时间太长 有没有办法轻松导出 scikit learn 生成的模型并
  • 一对多 SVM 中的 10 倍交叉验证(使用 LibSVM)

    我想在我的系统中进行 10 倍交叉验证一对一 支持向量机 http en wikipedia org wiki Support vector machineMATLAB 中的分类 我试图以某种方式混合这两个相关的答案 libsvm 中的多类
  • 使用 Python 的字符串子序列内核和 SVM

    如何使用子序列内核 SSK Lodhi 2002 在 Python 中训练 SVM 支持向量机 我找到了使用幕府将军库的解决方案 您必须从提交安装它0891f5a38bcb https code google com p shogun to
  • 词袋训练样本

    我已经实施了 Bag Of Words 一切都很顺利 但是 我对一些步骤以及如何实施感到困惑 我可以创建弓描述符作为词袋中创建样本的最后一步 如此处所示bowDE compute img keypoints bow descriptor 问
  • 在 Matlab 中使用 svmtrain 内存不足

    我有一组数据正在尝试使用 SVM 来学习 对于上下文 数据的维数为 35 包含大约 30 000 个数据点 我之前用这个数据集在 Matlab 中训练过决策树 大约花了 20 秒 由于对错误率不太满意 我决定尝试 SVM 我第一次尝试svm
  • 一类 SVM libSVM

    假设我的特征向量是 x1 x2 xn 谁能给我一个使用 libSVM 训练一类 SVM 的代码 我应该如何使用交叉验证来学习参数 这可能对你有帮助 label ones Number Of your training instances 1
  • 如何使用带有面部特征的 openCV 训练支持向量机(svm)分类器?

    我想使用svm分类器进行面部表情检测 我知道 opencv 有一个 svm api 但我不知道训练分类器的输入应该是什么 到目前为止我读了很多论文 他们都说在面部特征检测之后训练分类器 到目前为止我所做的 人脸检测 每帧计算16个面部点 下
  • 如何加载之前存储的svm分类器?

    我正在 Visual Studio 中使用 openCV SVM OpenCV 2 4 4 0 我训练它 mySVM train trainingDataMat labelsMat Mat Mat params 已保存 mySVM save
  • 帮助--LibSVM 的准确率达到 100%?

    名义上这是一个好问题 但我很确定这是因为发生了一些有趣的事情 作为上下文 我正在研究面部表情 识别空间中的一个问题 因此获得 100 的准确度似乎令人难以置信 并不是说在大多数应用程序中这是合理的 我猜测数据集中存在一些一致的偏差 这使得
  • 使用 SVM 预测概率

    我编写了这段代码并想获得分类的概率 from sklearn import svm X 0 0 10 10 20 30 30 30 40 30 80 60 80 50 y 0 1 2 3 4 5 6 clf svm SVC clf prob
  • 使用 libsvm 交叉验证后重新训练

    我知道交叉验证用于选择好的参数 找到它们后 我需要在不使用 v 选项的情况下重新训练整个数据 但我面临的问题是 在使用 v 选项训练后 我得到了交叉验证精度 例如 85 没有模型 我看不到 C 和 gamma 的值 在这种情况下我该如何重新
  • 如何获取 sklearn.metrics.classification_report 的输出作为字典?

    我一直在尝试以字典的形式获得分类报告 所以根据 scikit learn 0 20 文档 我这样做 from sklearn import metrics rep metrics classification report y true y

随机推荐

  • Hexo 更换主题

    更换 Hexo 主题非常容易 xff0c 只要在 themes 文件夹内 xff0c 新增一个任意名称的文件夹 xff0c 并修改 config yml 内的 theme 设定 xff0c 即可切换主题 具体步骤 xff1a 1 安装主题
  • Python 爬虫零基础教程(0):简介及准备

    其他的教程往往从语法开始 xff0c 而我们直接开始爬虫 xff0c 语法等知识边做边学 这第0篇我们简单介绍下爬虫和编程工具 爬虫是什么 爬虫是自动浏览 保存网页内容的程序或脚本 爬虫不同于黑客 xff0c 爬虫爬取的是允许访问的内容 工
  • 如何解决Unable to parse template "Interface"Error Message;

    Unable to parse template Interface Error Message This Template did not Produce a Java Class or an interface关于这个错误 xff0c
  • inflate函数使用总结

    inflate 两个参数和三个参数的区别 以前使用没有关注过 xff0c 因为觉得没报bug就行了 xff0c 两个三个参数无所谓 xff0c 经过导师提醒 xff0c 决定好好看看源码和相关知识 xff0c 总觉一下区别 xff0c 以免
  • 除了csdn网站打不开,一直刷新等待没反应,其他网站都能正常访问

    DNS错误 自动获取DNS服务器地址 清除DNS缓存信息 ipconfig span class token operator span flushdns 重置winsock 目录设置 netsh winsock reset
  • org.slf4j用法

    org slf4j用法 Scala 1 创建Logger对象 private val logger Logger 61 LoggerFactory getLogger classOf HttpBmlClient 2 打印错误信息 同时抛出异
  • 安装图形界面、VNCserver

    centos7 安装图形界面 xff1a 第一步 xff1a 安装Gnome包 在命令行下 输入下面的命令来安装Gnome包 yumgroupinstall 34 GNOMEDesktop 34 34 GraphicalAdministra
  • MySQL全量、增量备份与恢复的简单方法

    本文主要给大家介绍MySQL全量 增量备份与恢复的简单方法 xff0c 文章内容都是笔者用心摘选和编辑的 xff0c 具有一定的针对性 xff0c 对大家的参考意义还是比较大的 xff0c 下面跟笔者一起了解下MySQL全量 增量备份与恢复
  • windows安装zabbix代理

    一 关闭windows防火墙或者开通10050和10051端口 直接windows关闭防火墙或者在防火墙中放行10050和10051 二 xff0e 下载 安装并修改windows代理 1 下载zabbix agentd包 官网下载地址 x
  • android8.0 Fingerprint 指纹输错5次后亮屏显示错误信息

    当有指纹解锁时 xff0c 会执行AuthenticationClient java gt onAuthenticated 一直在监听解锁行为 64 Override public boolean onAuthenticated int f
  • secureCRT 抓取串口数据

    language 61 34 VBScript 34 interface 61 34 1 0 34 Dim outputFile fout Dim outputPath Dim user outputPath 61 34 D out txt
  • 2022年编程语言热度排行榜来啦,快来看看你学习的语言排第几

    提示 xff1a 文章写完后 xff0c 目录可以自动生成 xff0c 如何生成可参考右边的帮助文档 前言 一直以来 xff0c 编程语言都是程序员非常关注的话题 年末将至 xff0c 是否会有程序员发出疑问 2022 年行业需求最大的编程
  • LibEvent-Demo

    libevent test cpp 定义控制台应用程序的入口点 include 34 stdafx h 34 pragma comment lib 34 ws2 32 lib 34 pragma comment lib 34 wsock32
  • 【数据挖掘】DBSCAN聚类算法(python实现)

    一 python代码 39 39 39 Author Vici date 2020 5 14 39 39 39 import math 39 39 39 Point类 xff0c 记录坐标x xff0c y和点的名字id 39 39 39
  • ubuntu中安装rpm格式的软件包

    ubuntu的软件包格式是deb xff0c 如果要安装rpm的包 xff0c 则要先用alien把rpm转换成deb zhhLinux联盟 sudo apt get install alien alien默认没有安装 xff0c 所以首先
  • SQLite3在windows下的配置(链接VC++或者VS)

    一 SQLite3 简介 SQLite3 是一个开源免费的嵌入式关系数据库 xff0c 它在 2000 年由 D Richard Hipp 发布 xff0c 它不像大型数据库管理系统 xff0c 占用系统大量资源 SQLite3 是用 C
  • 电脑正常联网,提示无法登录微信

    事故起因 xff1a 因为工作需要安装一款软件 xff0c 安装途中提示有风险直接忽略了该风险 后期卸掉该软件 xff0c 然后无法登录微信 QQ easyconnect等软件 xff0c 但是浏览器可以正常访问 登录微信出现的界面是 xf
  • Ubuntu-GNOME 16.04 LTS更换主题

    1 安装gnome shell扩展插件 进入https extensions gnome org 先将gnome安装插件安装到火狐浏览器上 xff0c 而后查找插件 User Themes by fmuellner 如果无法选择比如题头报错
  • 图片服务器搭建 ftp上传http协议读取图片

    怎样在Win7系统中搭建Web服务器 详见百度搭建教程web服务器搭建 web服务器搭建 搭建好服务器以后配置 controller层 span class hljs javadoc 上传头像 span span class hljs an
  • SVM&TSVM&LSA(I)→PLSA(I)→LDA→HDP

    SVM amp TSVM amp LSA I PLSA I LDA HDP SVM xff08 用于监督学习 xff09 参考文章 xff1a SVM xff08 支持向量机 xff09 详解 通俗来讲 xff0c SVM是一种二类分类模型