转载

多视图机器学习综述

AI 综述专栏简介

在科学研究中,从方法论上来讲,都应先见森林,再见树木。当前,人工智能科技迅猛发展,万木争荣,更应系统梳理脉络。为此,我们特别精选国内外优秀的综述论文,开辟“AI综述专栏”,敬请关注。

导读

本文作者 孙仕亮 获得北京航空航天大学的学士学位,以及清华大学模式识别与智能系统硕士和博士学位。 2007年加入华东师范大学计算机科学与技术系,成立了模式识别与机器学习(PRML)研究小组。从2009年到2010年,他担任伦敦大学学院(UCL)计算统计与机器学习中心(CSML)和计算机科学系的访问研究员。 2012年3月至4月,他担任罗格斯大学统计与生物统计学系的访问研究员。 2014年7月,他担任哥伦比亚大学电气工程系的访问研究员。他在2012年至2016年期间担任智能数据分析国际期刊编辑委员会成员,2011至2016年期间担任Neural Computing and Applications的区域编辑,并担任2017年ICONIP联合主席。他是PASCAL(模式分析,统计建模和计算学习)卓越网络的成员。他曾担任多个国际学术期刊的编委,包括IEEE神经网络与学习系统期刊,信息融合与神经计算。

多视图学习——对具有多个不同特征集进行学习,是机器学习中一个迅速发展的方向,具有良好的理论基础和巨大的成功实践。本文综述了关于多视图学习的特性和 性能的 理论,并根据所涉及的机器学习机制和利用多视图的方式 给出了一种高层次分类方法。

多视图机器学习综述

关注本公众号,回复 多视图 ,获取英文版 PDF

分享PDF仅供学习交流,请勿外传

视图机器学习综述

作者:孙仕亮

翻译:叶奎

摘要

多视图学习——对具有多个不同特征集进行学习,是机器学习中一个迅速发展的方向,具有良好的理论基础和巨大的成功实践。本文综述了关于多视图学习的特性和 性能的 理论,并根据所涉及的机器学习机制和利用多视图的方式给出了一种高层次分类方法。本文将多视图学习领域的当前发展有机地组织起来,讨论了其局限性并为进一步的研究提供了参考建议。我们指出了一些具体的开放问题,这些问题有望促进多视图机器学习的研究。

关键词:多视图学习,统计学习理论,标准相关分析,协同训练,协同规范化

1 介绍

多视图学习是这样一类问题:它对由多个不同特征集表示的数据进行机器学习。最近出现的这种学习机制很大程度上受到来自实际应用中数据属性的驱动,其中样本由不同特征集或不同的“视图”来描述。例如,在多媒体内容理解中,多媒体片段可以由其视频和音频信号同时描述。在网页分类中,网页可以由文档文本来描述,同时也可以由指向该页面超链接的锚文本来描述。另一个例子是,在基于内容的网络图像检索中,一个对象同时由图像的视觉特征和图像周围文本来描述。此外,多视图学习中一个值得注意的事实是,当不存在自然特征分割(feature split)时,使用人为手工分割仍然可 改进性能。因此,多视图学习是一个非常有前景的课题,具有广泛的适用性。

标准相关分析(Canonical correlation analysis, CCA)[21]和协同训练(co-training) [8]是多视图学习早期研究中的两种代表性技术。后来有一些理论和方法研究他们的理论性质,解释他们成功的原因,并将他们扩展到其他机器学习问题。在2005年,多视图学习研讨会与第22届机器学习国际会议共同举办,吸引 了人们的 更多关注。到目前为止,多视图学习的思想已经渗透到多个现有的机器学习分支中,并且已经提出了大量多视图学习算法。例如,多视图学习已经应用到了降维[10,20,50]、半监督学习[35,36,38,39,42,54,56]、监督学习[11,16]、主动学习 [28,41]、集成学习 [45,51,55]、迁移学习[12,52,53]、聚类[7,15,23,24] 等问题中

本文的目的是回顾多视图学习领域的关键进展,特别是相关的理论和方法,并为进一步的研究提供有用的建议。通过此次回顾,我们希望全面了解该领域的当前进展以及未来可以做些什么,以使多视图学习获得更大成功。

在第2部分,我们会介绍现有的多视图学习理论,尤其是CCA、协同训练的有效性、以及协同训练和其他多视图学习方法的泛化误差分析。第3部分根据所涉及的机器学习机制回顾了具有代表性的多视图学习方法,并根据利用多视图的具体方式提供了一种高层次分类方法。然后在第4部分,我们列举了一些有望促进多视图学习进一步研究的开放问题。最后,我们在第5部分提供结论性评语。

2  多视图学习的理论

我们将多视图学习的理论分为四类----CCA、协同训练的有效性、协同训练的泛化误差分析、其他多视图学习方法的泛化误差分析。这些理论至少可以部分回答以下三个问题:为什么多视图学习是有用的、隐含的假设是什么、我们应该如何进行多视图学习。

2.1 CCA

Hotelling首先提出的标准相关分析(Canonical correlation analysis ,CCA)[21]对配对数据集(例如,由两个视图表示的数据)进行处理,以找出每个视图的各个线性变换,使得变换后的变量之间的相关性最大。该方法后来推广到由有两种以上视图表示的数据[3,22]。

研究表明,使用CCA时,过度拟合具有完美的相关性,但不能区分虚假和有用的特征[3,33]。因此,需要对其进行规范化(regularization)来检测到有意义的模式。

基于最大化相关性和最小化两个视图 平方损失之间存在密切关系,最新的统计分析表明控制投影方向的模是规范化的主要方法[19]。

通过核技巧 [34],CCA可扩展到核CCA [3,17],这对应于在核生成的特征空间中执行CCA。规范化核CCA的公式可以在[19,34]中找到。最近 ,文献 [10,20]还提出了稀疏CCA。

2.2 协同 训练的有效性

Blum和Mitchell [8]提出了最初的协同训练算法进行半监督分类,在两个视图情况下将标注数据和未标注数据结合起来。从有限的标注数据集中,它首先分别从两个视图中训练两个弱分类器。然后,两个分类器 运用 未标注的数据 中高度可信的预测 来扩大标注数据集,以供进一步训练。重复该过程直到满足终止条件。最后,这两个分类器单独或共同对新样本进行预测。后来,协同训练的适用性进一步扩大,例如,Nigam和Ghani [29]通过实验表明,当没有可用的自然多视图时,通过随机分割特征、手动生成多个视图特征来进行协同训练,这仍然可以提高性能。

可能近似正确的 (PAC) 学习框架可以从理论上表征机器学习算法的能力和一些机器学习问题的难度。一般来说,一个概念类C在假设空间H中是可被一个学习器L进行PAC学习的,如果对于C中的任何目标概念,L经过适量样本的训练和计算[27],能以概率至少为(1-d)输出一个假设,使其误差小于等于 epsilon。

为了验证协同训练的有效性,Blum和Mitchell [8]给出了类似PAC的分析。假设(1)每个视图本身对于正确分类是充分的(即两个视图中的目标函数和组合视图在每个样本上标签一致)和(2)任何样本中的两个视图在给定类别标签时都是条件独立的,那么半监督学习的PAC可学习性与从标注数据训练的初始弱分类器一致。对于协同训练的一个特殊情况,Balcan和Blum [4]证明,在适当的假设下,存在一个多项式级时间复杂度的算法,它利用一个有标签样本和多项式数量的无标签样本,可以学到一个线性分类器。

研究表明,给定适当的强PAC学习算法,协同训练的第二个假设可以放宽到对潜在数据分布的较弱扩展假设,在该假设下迭代协同训练能取得成功,并且这个扩展假设在某种程度上也是必需的[5]。

Wang和Zhou [48]证明,即使没有两个视图,协同训练也能成功,只要标注数据集足以学习到好的分类器,且这两个分类器有很大的差异。每个视图中的分类器视为标签传播(label propagation)且协同训练过程因此可视为两个视图上的组合标签传播,在这种情况下,他们进一步提供了使协同训练在适当的假设下能取得成功的充分必要条件 [49]。

在实践中,最初的协同训练算法可能存在问题,因为它不检查从每个视图中学到的分类器所提供标签的可靠性。实际上,即使只有极少数标注不准确的样本也会大大降低后续分类器的性能。为了克服这个缺点,Sun和Jin [39]提出了鲁棒协同训练,它集成了用CCA来检查协同训练对未标注训练数据的预测。基于CCA恢复的低维表征,它计算未标注样本与原始标注样本之间的相似度。只有预测标签与CCA标签检验结果一致的样本才 能够 用来扩大有标签数据集。

2.3 协同 训练的泛化误差分析

协同训练的早期理论工作如[8]与其经验上的成功相关性不大。特别是,它没有提供泛化误差上界作为经验可测量的函数,并且PAC可学习性分析和迭代协同训练算法之间没有非常直接和明显的关系,正如[14]中所述的那样。

基于视图的条件独立假设,Dasgupta等人 [14]给出了协同训练的一个PAC的泛化上界,它表明每个视图的分类器的泛化误差上界是由两个视图的分类器的不一致率决定的。这验证了那种促进不同视图的分类器对无标签数据预测达成一致的经验性工作[13]。

视图之间条件独立的假设是很强的,在实践中很难满足。 Abney [1]在[14]中在较弱的假设下——从不同视图学到的分类器具有弱依赖性和非平凡性,推广了误差上界。

2.4 其它多视图学习方法的泛化误差分析

为了深入了解多视图规范化和非标签数据在泛化性能中所扮演的角色,研究者 为其他一些多视图学习方法进行了泛化误差分析。这种泛化误差分析是基于Rademacher复杂度理论的。

利用Rademacher复杂度理论,Farquhar等人[16]分析了有监督的SVM-2K算法的泛化误差上界,Szedmak和Shawe-Taylor [46]描述了其扩展版本对半监督学习的泛化性能。

Rosenberg和Bartlett [31]推导了协同规范化最小二乘函数类的经验Rademacher复杂度。局部Rademacher复杂度也推导了更紧致的上界[36]。这类工作进一步扩展到更一般的情况,例如,有两个以上的视图[32]。

最近,Sun和Shawe-Taylor [42]使用Fenchel Legendre共轭提出了一个稀疏半监督学习框架,并实例化了一个名为稀疏多视图SVMs的算法。他们给出了稀疏多视图SVMs算法的泛化误差上界,其中经验Rademacher复杂度具有两种不同的形式,这取决于所使用的迭代过程是仅迭代一次还是多次迭代。考虑到流形规范化,Sun [38]提出了多视图Laplacian SVMs,也提供了泛化误差分析和经验Rademacher复杂度。

3 多视图学习方法

根据多视图学习应用于的或结合使用的机器学习机制, 接下来 我们回顾了具有代表性的多视图学习方法。然后,我们就如何利用多个视图给出了多视图学习方法的高层次分类。

3.1  多视图降维

作为无监督学习的一个重要分支,降维的目的是用低维表征来表达高维数据,以揭示重要的潜在信息。它可以用于压缩、可视化或重新组织数据,也可以用作其他机器学习任务的预处理步骤。

CCA是一种通过同时从不同视图学习子空间,来实现多视图降维的早期经典方法[21]。它进一步扩展到非线性子空间学习[3,17]和稀疏表达(sparse formulations )[2,10,20]。最近,White等人[50]将单视图子空间学习的新进展应用于多视图学习,并为多视图子空间学习提供了一个凸表达(convex formulation)。该工作适用于任意一个凸损失函数,并用降秩规范化取代了通常的秩约束。  

3.2 多视图半监督学习

在过去的十年中,半监督学习——从有标签和无标签数据中学习,吸引了很多关注。对于许多实际应用而言,标签信息的获取非常昂贵或耗时,而无标签数据很容易收集。在这种情况下,将有限的标注数据与未标注的数据结合起来学习无疑是大有裨益的。半监督学习可以通过少量标注数据和大量未标注数据共同学习来解决这个问题,其中未标注数据具有归纳偏好(induction preference)的作用,引导学到的函数具有某些性质。

多视图半监督学习有另外一个归纳偏好的方法,即视图一致性(view agreement)。通过要求不同视图的学习器具有相似的输出,可以减小假设空间的大小,从而可以实现更好的泛化性能。具有代表性的多视图半监督学习方法包括协同训练[8],co-EM [29],multi-view sequential learning[9],Bayesian co-training [54],multi-view point cloud regularization [32] ,sparse multi-view SVMs [42]和robust co-training[39]。最近的multi-viewLaplacian SVMs [38]将多视图规范化与流形规范化相结合,带来进一步的改进。 

3.3 多视图监督学习

与半监督学习不同,监督学习只使用标注数据进行学习。然而,多视图监督学习的研究相对少于多视图半监督学习。一个原因可能是多视图半监督学习常常被认为是比多视图监督学习更困难和更一般的问题。如果已经有多视图半监督学习方法,则几乎是可以直接应用到多视图监督学习的。但是我们应该注意到,这两个问题本质上是不同的。例如,有效的模型选择对于半监督学习比监督学习更困难。

对于多视图监督学习,Chen和Sun [11]提出了适用于二元和多类分类的多视图Fisher判别分析。 Farquhar等人 [16]引入了有监督的SVM-2K,它后来扩展到多视图半监督学习[46]。  

3.4 多视图主动学习

主动学习与场景有关,该学习算法可以主动向用户查询标签。由于这种交互性,学习一个分类器所需的样本数量往往比相应的监督学习所需的样本要低得多。换句话说,主动学习的目的是通过发现并要求用户仅标注最富含信息的样本,来减轻标注大量样本的负担。

Muslea等人 [28]给出了多视图主动学习方法 协同 测试,这是一个两步迭代过程。首先,它使用一些标注样本在每个视图中学习一个分类器。然后,它查询一个无标签样本(从不同视图学到的分类器对该样本有不同的预测标签),把查询后的样本添加到标注训练集,整个过程重复迭代若干次。 Yu等人[54]引入了贝叶斯协同训练(Bayesian co-training)的主动感知框架,它通过主动查询<样本,视图>对以提高学习性能。

但是,对于某些应用而言,可用的标注样本非常有限。例如,在极端情况下,每个类别都只有一个单标签样本,这样的话大多数现有的主动学习方法就不能直接应用了。 Sun和Hardoon [41]提出了一种采用极稀疏标注样本的多视图主动学习方法,该方法采用了CCA定义的相似性规则[56]。  

3.5 多视图集成学习

集成学习的目标是使用多个模型(例如分类器或回归器)来获得比单个模型更好的预测性能。众所周知,有效的集成学习系统应该由精确且多样化的各个模型组成,即在多样性和单模型 性能 之间应保持良好平衡[37,43,44]。

Xu和Sun [51]将著名的集成学习方法Adaboost扩展到多视图学习场景,并提出了嵌入多视图Adaboost算法(EMV-Adaboost)。 EMV-Adaboost的关键思想是,在每次迭代中,只要来自两个视图的弱学习器错误地预测了一个样本,那么这个样本就会导致错误率。 Sun和Zhang引入了一个多视图集成学习框架,该框架既具有多视图又具有多个学习器,并分别成功应用到了半监督学习和主动学习[55]。  

3.6 多视图迁移学习

迁移学习是当前机器学习研究中的一个新兴和活跃的话题。传统的机器学习算法通常 设计用于解决某个单独的任务。迁移学习或多任务学习的最新进展表明,将在一个或多个源任务中学到的知识迁移到相关的目标任务往往有利于改善学习性能。

Chen等人 [12]引入了协同训练的一个变体来进行域间适应(domainadaptation),该方法试图弥合源域和目标域之间的差距,因为不同域之间的分布可能大相径庭。该方法逐步把目标特征和置信度最高的样本添加到训练集中。具体而言,对于协同训练的每一次迭代,它同时学习一个目标预测器来将特征空间拆分为多个视图特征,并将源特征和目标特征包含进该预测器当中。 Xu和Sun提出了一种包括EMV-Adaboost变体在内的多视图迁移学习算法[52],并进一步将其扩展,使它能够利用多源学习的优势[53]。

3.7 多视图聚类

多视图学习也被用于改进单视图聚类方法。 Bickel和Scheffer [7]研究了几种文本数据聚类算法的多视图版本,发现基于EM的多视图算法明显优于相对应的单视图算法,而聚集的层次化多视图聚类则会导致负面结果。

最近,Tzortzis和Likas [47]提出了一种多视图凸混合模型,它将凸混合模型扩展到多视图聚类。De Sa等人[15]提出了一种算法,它通过构建多视图亲和矩阵(affinity matrix)来利用多个视图中信息进行聚类。他们利用这个多视图亲和矩阵作为谱聚类的亲和矩阵。 Kumar和Daume [23]提出了多视图谱聚类的协同训练方法,其中不同视图的聚类使用彼此的信息进行自举(bootstrapped)。特别地,一个视图的谱嵌入被用于约束另一个视图的相似度图。Kumar等人 [24]进一步提出了两种基于协同规范化(co-regularization)的多视图谱聚类方法,它们通过强化不同视图的聚类假设来达成一致。他们构建了一个目标函数,该函数由来自所有视图的图拉普拉斯(graph Laplacians)构成,并对这些图拉普拉斯的特征向量进行规范化,使得所得到的聚类结构保持一致。

3.8 高层次分类(high-level taxonomy

目前的多视图学习方法可以分为两大类:协同训练式算法和协同规范化式算法。它们是利用多个视图的两类不同方法。

协同训练式算法受协同训练算法的启发[8],其本质上是利用不同视图的迭代过程。例如co-EM [29],co-testing[28]和robust co-training [39]都属于这一类。

对于协同规范化算法像稀疏多视图支持向量机(sparse multi-view SVMs )[42]和多视图拉普拉斯支持向量机(multi-view Laplacian SVMs )[38]等而言,两个视图学习器之间的不一致是要最小化的目标函数的一部分。请注意,CCA [21]和贝叶斯联合训练(Bayesianco-training )[54]也属于协同规范化式算法。

4 开放问题

现在我们提出几个重要的开放问题,这对于进一步发展多视图学习非常有用。

4.1 多视觉学习器的PAC 贝叶斯分析

对于多视图学习器的泛化误差分析, 目前已有 了一些基于Rademacher复杂度上界的结果。然而,迄今为止实际应用中最严格的上界限是PAC-Bayes界[25,26],且最近的研究成果使用了依赖数据的先验知识[30]。与此同时,用PAC贝叶斯分析理论证明是否可以获得多视图学习器更紧致和更有洞见的上界,这也将是非常有趣的。  

4.2 利用不同视图的新方法

从现有的多视图方法来看,我们知道利用不同视图的两种主要方法是协同训练式算法和协同规范化式算法。与这些方法不同,Ganchev等人[18]引入随机一致性规范化对结构化输出进行多视图学习,它利用了分布之间的Bhattacharyya距离。因此,一个自然而然的问题是:我们能否进一步超越这些方法?  

4.3 视图构建的理论和实践方法

研究表明,多视图学习即使对于从单视图数据生成的多视图数据也经常起作用。典型的视图构建方法包括随机分割(random split )[29]和主成分分析[45]。最近,Sun等人 [40]提出使用遗传算法进行视图构建。但是,有效的视图构建问题仍然没有得到应有的重视。

同时,我们是否应该从一个单视图产生多视图,并应用多视图学习方法而不是单视图学习方法,这仍然是一个问题。这个话题的研究很少,且急需理论见解。

5 结论

我们已经回顾了多视图机器学习的理论和方法的最新发展,并进行了有机的分类和组织。还列出了几个我们认为会对促进多视图学习很重要的公开问题。本文可以帮助读者进一步推动多视图学习的研究发展,或将多视图学习的思想应用于其他机器学习问题。

6 参考文献

1. 

Abney S (2002) Bootstrapping. Proceedings ofthe 40th annual meeting of the association for computationallinguistics, pp 360–367.

2. 

Archambeau C, Bach F (2009) Sparseprobabilistic projections. Adv Neural Inform Process Syst21:17–24

3.

Bach F, Jordan M (2002) Kernel independentcomponent analysis. J Mach Learn Res 3:1–48.

4.

Balcan MF, Blum A (2005) A PAC-style model forlearning from labeled and unlabeled data. Proceedings of the18th annual conference on computational learning theory, pp 111–126.

5.  Balcan MF, Blum A, Yang K (2005) Co-trainingand expansion: towards bridging theory and practice. Adv NeuralInform Process Syst 17:89–96.
6.

Bartlett P, Mendelson S (2002) Rademacher andGaussian complexities: risk bounds and structural results. J Mach Learn Res 3:463–482.

7.

Bickel S, Scheffer T (2004) Multi-viewclustering. Proceedings of the 4th IEEE internationalconference on datamining, pp 19–26.

8.

Blum A, Mitchell T (1998) Combining labeledand unlabeled data with co-training. Proceedings of the 11thannual conference on computational learning theory, pp 92–100.

9.  Brefeld U, Bu¨scher C, Scheffer T (2005)Multi-view discriminative sequential learning. Lect Notes Aritif Intell 3720:60–71.

10.  Chen X, Liu H, Carbonell J (2012) Structuredsparse canonical correlation analysis. Proceedings of the 15th internationalconference on artificial intelligence and statistics, pp 199–207.

11.

Chen Q, Sun S (2009) Hierarchical multi-viewFisher discriminant analysis. Lect Notes Comput Sci 5864:289–298.

12.

Chen M, Weinberger K, Blitzer J (2011)Co-training for domain adaptation. Adv Neural Inform Process Syst 24: 2456–2464.

13. 

Collins M, Singer Y (1999) Unsupervisedmodels for named entity classification. Proceedings of the Joint SIGDATconference on empirical methods in natural language processing and very largecorpora, pp 100–110.

14. 

Dasgupta S, Littman M, McAllester D (2002)PAC generalization bounds for co-training. Adv Neural Inform Process Syst14:375–382.

15.

de Sa V, Gallagher P, Lewis J, Malave V(2010) Multi-view kernel construction. Mach Learn 79:47–71 16. Farquhar J,Hardoon D, Meng H, Shawe-Taylor J, Szedmak S (2006) Two view learning: SVM-2K,theory and practice. Adv Neural Inform Process Syst 18:355–362.

17.  Fyfe C, Lai P (2000) ICA using kernelcanonical correlation analysis. Proceedings of the international workshop onindependent component analysis and blind singal separation, pp 279–284.

18. Ganchev K, Grac¸a J, Blitzer J, Taskar B (2008) Multi-view learning overstructured and non-identical outputs. Proceedings of the 24th conference onuncertainty in artificial intelligence, pp204–211.

19.

Hardoon D, Shawe-Taylor J (2009) Convergenceanalysis of kernel canonical correlation analysis:  theory and practice. MachLearn 74:23–38.

20.  Hardoon D, Shawe-Taylor J (2011) Sparsecanonical correlation analysis. Mach Learn 83:331–353 

21.  Hotelling H (1936)Relations between two sets of variates. Biometrika 28:321–377.

22.  Kettenring J (1971) Canonical analysis ofseveral sets of variables. Biometrika 58:433–451 

23. 

Kumar A, Daume´ H (2011) Aco-training approach for multiview spectral clustering. Proceedings of the 28thinternational conference on machine learning, pp 393–400

24.  Kumar A, Rai P, Daume´ H (2011)Co-regularized multi-view spectral clustering. Adv Neural Inform Process Syst24:1413–1421 
25. 

Langford J (2005) Tutorial on practical prediction theory forclassification. J Mach Learn Res 6:273–306.

26. 

McAllester D (1999) PAC-Bayesian modelaveraging. Proceedings of the 12th annual conferenceon computational learning theory,pp 164–170.

27. 

Mitchell T (1997) Machine learning. McGrawHill, New York.

28.  Muslea I, Minton S, Knoblock C (2006) Activelearning with multiple views. J Artif Intell Res 27:203–233 
29. 

Nigam K, GhaniR (2000) Analyzing the effectiveness and applicability of co-training.Proceedings  of the 9th international conference on information and knowledgemanagement, pp 86–93.

30.  Parrado-Herna´ndez E, Ambroladze A,Shawe-Taylor J, Sun S (2012) PAC-Bayes bounds with data dependent priors. JMach Learn Res 13:3507–3531.

扫描下方二维码加入多视图机器学习 讨论群

多视图机器学习综述

感谢AIDL志愿者叶奎协助!

志愿者持续招募中,有意者联系微信号"AIDL小助手(ID:must-tech)"

多视图机器学习综述

历史文章推荐:

AI综述专栏 |  国内近三年模式分类研究现状综述(附PDF)

AI综述专栏 | 朱松纯教授浅谈人工智能:现状、任务、构架与统一(附PPT )

【AIDL专栏】熊辉:《易经》如何指导我们做人工智能

【AIDL专栏】罗杰波: Computer Vision ++: The Next Step Towards Big AI

【AIDL专栏】纪荣嵘:深度神经网络压缩及应用

【AIDL专栏】王亮:深度学习与视觉计算

原文  http://mp.weixin.qq.com/s/o6VZDRuYs8LhGm0JSI_c3w
正文到此结束
Loading...