极限学习机

2004年提出的机器学习系统或方法

极限学习机(Extreme Learning Machine, ELM)或“超限学习机”是一类基于前馈神经网络(Feedforward Neuron Network, FNN)构建的机器学习系统或方法,适用于监督学习非监督学习问题。

历史
极限学习机(Extreme Learning Machine, ELM)在2004年由南洋理工大学的Guang-Bin Huang、Qin-Yu Zhu和Chee-Kheong Siew提出,并发表于当年的IEEE国际交互会议(IEEE International Joint Conference)中,目的是为了对反向传播算法(Backward Propagation, BP)进行改进以提升学习效率低并简化学习参数的设定。2006年,ELM原作者在对算法进行了进一步的测评后,将结论发表至Neurocomputing并得到了关注。
ELM提出时是为监督学习问题而设计的,但在随后的研究中,其应用范围得到了推广,包括以聚类为代表的非监督学习问题,并出现了具有表征学习能力的变体和改进算法。
结构
ELM可以作为一种学习策略(例如对BP框架的改进),也可作为一类神经网络构筑进行论述。对于后者,标准的ELM使用单层前馈神经网络(Single Layer Feedforward neuron Network, SLFN)的结构。具体地,SLFN的组成包括输入层、隐含层和输出层,其中隐含层的输出函数具有如下定义:
这里 为神经网络的输入、 为输出权重, 被称为特征映射或激励函数(activation function),其作用是将输入层的数据由其原本的空间映射到ELM的特征空间:
式中 和 是特征映射的参数,在ELM研究中也被称为节点参数(node parameter),其中 为输入权重(input weights)。由于ELM中输入层至隐含层的特征映射是随机的或人为给定的且不进行调整,因此ELM的特征映射是随机的。依据通用近似定理,特征映射可以是任意非线性的片段连续函数(piecewise continuous function),常见的有:
不同的隐含层节点可以有不同的映射函数,神经网络的节点也由其具有的特征映射命名,例如Sigmoid节点、径向基函数节点等。除上述映射函数外,SLFN的节点也可以是其它经过封装的计算单元,例如模糊推理系统(fuzzy inference system)和其他次级神经网络。
算法
标准算法
ELM仅需求解输出权重,因此是一个线性参数模式(linear-in-the-parameter model),其学习过程易于在全局极小值收敛。已知N组学习数据,对包含L个隐含层节点和M个输出层节点的ELM进行学习有如下步骤:
ELM使用的L2误差函数(L2 loss function)有如下表示:
这里 为输出矩阵, 为训练目标, 为矩阵元素的弗罗贝尼乌斯范数(Frobenius norm)。引入L2正则化项后,上式改写为:
其中 为正则化系数(regularization coefficient)求解该误差函数等价于岭回归问题,其解有如下表示:
此外奇异值分解(single value decomposition, SVD)也可用于求解权重系数:
式中 为 的特征向量, 为 的特征值。研究表明相对较小的权重系数能提升SLFN的稳定性和泛化能力。
这里以Python 3为例对ELM标准算法进行编程实现:
ELM算法中求解输出权重的过程中有矩阵求逆的步骤。由于映射函数的初始化是随机的,因此在实际计算中经常出现矩阵无法求逆的现象。在理论上只要设定较大的正则化参数,需要求逆的矩阵将始终是正定矩阵,但是过大的正则化系数会影响ELM的泛化能力。一个可行的改进方案,是在映射函数随机初始化的过程中,仅选择能使隐含层输出矩阵达到行满秩或列满秩的参数。这一改进可见于径向基函数和Sigmoid函数中。
改进算法
动态算法
ELM中特征映射的随机初始化为其带来了泛化的优势,但也意味着相比于梯度下降算法,ELM的神经网络需要更多的节点。节点的增加带来了计算量的增加,在训练数据大时,冗余的节点会额外消耗计算资源,并可能出现过拟合(overfitting)。为解决上述问题,有研究在原有ELM算法的基础上提出了动态学习的解决方案,即在训练过程中不断改变隐含层节点数,以平衡经验风险和结构风险。包含上述动态学习功能的改进包括增量式ELM(Incremental ELM, I-ELM)、双向ELM(Bidirectional ELM, B-ELM)和自适应ELM(Adaptive ELM, A-ELM)等。
以I-ELM为例,在开始阶段,SLFN会被赋予一个可容忍的最简结构,随后整个学习过程以迭代方式进行,每一次迭代都会随机产生数个备选节点,而对缩小学习误差贡献最大的一个节点会被选中并加入SLFN中进行下一次迭代,这样当学习误差迭代至预先设定的精度时,SLFN中不会有多余的节点。
一些动态算法,例如I-ELM和自适应ELM能够使用常见的激励函数,而且被证明和标准算法一样,保持了SLFN的通用近似定理。
在线序列ELM
在线序列ELM(Online Sequential ELM,OS-ELM)是可以使用实时数据进行学习并更新输出权重的ELM算法。OS-ELM的运行分为两部分,首先,OS-ELM像ELM标准算法一样通过给定的训练数据计算输出权重;随后在在线学习的过程中,每当有新的数据块被接收,就重新运行一次ELM并得到新的输出权重,最后新旧输出权重会进行组合从而完成对神经网络的更新,有些算法会在更新数据时加入遗忘函数。这里给出一个OS-ELM的简单例子:
输入:学习数据 ;输出:完成学习的ELM
初始化阶段:定义 ;使用初始的学习数据和ELM标准算法计算输出矩阵 和输出权重 ;定义
在线学习阶段:当第 组学习数据可用时,计算新的输出矩阵 ,其中 为使用第 组学习数据独立计算所得的输出矩阵。最后计算新的输出权重 ,其中
偏斜与噪声数据的改进算法
神经网络可能对训练数据的质量和标准化程度敏感。偏斜数据难以被转化至标准正态分布,会降低神经网络的学习效率;噪声数据包含过多除学习目标以外的信息,会降低神经网络的泛化能力。加权ELM(Weighted ELM, W-ELM)是在分类问题中为应对偏斜数据对标准ELM进行改进的算法。加权ELM与标准算法的区别在于误差函数的构建,标准算法中的正则化参数为一常数,而加权ELM将其修改为与输入数据大小相同的矩阵,矩阵的元素被称为惩罚系数(penalty coefficients)。惩罚系数能够弱化偏斜数据中的多数成员对算法的影响。加权ELM的误差函数可有如下表示:
式中 即为惩罚系数。在加权ELM的基础上,有研究提出了重加权ELM(re-weighted ELM),即以迭代方式加权的ELM算法。重加权ELM被证明具有更好的稳定性,能够解决训练数据中的异常值问题。
噪声数据可理解为真实数据与扰动的叠加,对扰动在ELM算法中传播的研究表明,使用特定的方式选取映射函数和输入权重,能够降低输入噪声对输出矩阵和输出权重的影响。由此提出的FIR-ELM(Finite Impulse Response filte ELM)和DFT-ELM(Discrete Fourier Transform ELM)在初始化输入层权重时使用了滤波技术,提高了算法对噪声数据的稳定性。
扩展算法
ELM模式集合
将机器学习方法进行模式集合的方法适用于ELM。常见的模式集合方法包括取平均、投票制(voting)、迭代(boosting)等,这里以分类问题中的投票制的ELM模式集合进行说明:
输入:学习数据 、测试数据 和 个ELM;输出:测试数据的学习结果
学习过程:使用学习数据对每个ELM进行独立的训练;测试过程:使用ELM对测试数据进行分类,汇总分类结果,输出被分最多的类别。
非监督学习ELM
ELM可以通过流型正则化(manifold regularization)得到面向聚类和字符嵌入(embedding)问题的非监督ELM(unsupervised ELM, US-ELM)。具体地,US-ELM的误差函数中加入了流型正则化项( ):
其中 是无标签学习数据的拉普拉斯矩阵(graph Laplacian)上述优化问题被证明等价于一次广义特征值求解(Generalized Eigenvalue Problem, GEP):
输出权重矩阵可以从第二组到第 组特征向量中获得:
对嵌入问题,US-ELM将直接输出嵌入矩阵;对于聚类问题,US-ELM使用K-均值算法(k-means algorithm)对嵌入矩阵中的数据进行聚类。
具有深度结构的ELM
ELM能够以堆栈自编码器(stacked autoencoders)的形式得到深度结构。在进行学习时,深度ELM前端的数个隐含层使用ELM训练堆栈自编码器对输入变量进行表征学习,并在最后一个隐含层中使用ELM对编码后的特征进行解码。深度ELM在图像处理等问题中的表现被证实优于ELM传统算法。此外,在获得深度结构后,ELM也可以仅进行特征学习并将编码的特征输出至其它算法。包含ELM的深度学习框架在计算机视觉问题,例如基于MNIST手写字符数据的图像分类问题中有得到尝试。
性质与理论
插值与泛化性质
在ELM的插值理论研究中有如下结论:给定任意无限可导的激励函数,对于N组训练数据 ,存在隐含层节点数小于N的SLFN,在由ELM学习后,训练误差能逼近任意精度,且当SLFN隐含层节点数与训练数据相同时,训练误差为零。这里的激励函数的参数 可以由服从任意连续概率分布的随机数在ELM学习中初始化。上述结论表明,从插值角度而言,只要隐含层节点数足够,ELM能够使得SLFN以任意精度拟合给定的训练数据
ELM具有泛化能力,其原因被认为是算法中对特征映射参数的随机初始化增强了各输入特征的相互独立性,创造了一个更大的求解空间,从而有利于SLFN找到正确的目标函数进行学习。对于回归问题,研究表明,在使用多项式函数Sigmoid函数和Nadaraya–Watson函数作为映射时,ELM较好地保持了SLFN原本的泛化能力;若使用高斯类函数作为映射,ELM的泛化能力将会降低,但使用正则化和模式集合技术能够补偿泛化能力的损失。按统计学习理论,ELM被认为具有较小的VC维(Vapnik–Chervonenkis dimension),即ELM在泛化时拥有较小的实际风险(actual risk)上限。具体地,对于包含L个无限可导特征映射节点的ELM具有L个V-C维度,在泛化时,其 概率下的实际风险为:
式中 为训练数据样本数, 为V-C维度, 为训练数据所得的经验风险(empirical risk)
通用近似定理
ELM中SLFN的特征映射是随机的,但其服从通用近似定理。对回归问题,ELM的通用近似定理可有如下表述:
对任意的非常数片段连续特征映射 如果 在 空间稠密,则 ,即SLFN可以无限趋近于任意连续的目标函数。这里特征映射序列 可以由服从任意连续概率分布随机数在ELM学习中初始化。
ELM的通用近似定理适用于常见的激励函数,且不要求激励函数出处连续可导,阈值函数(threshold function)可以作为ELM的激励函数。
对于分类问题,ELM的通用近似定理可以有如下形式:
对任意特征映射 ,如果 在 维实数空间 或其紧致集 上稠密,那么隐含层包含随机初始化 的泛化SLFN能够区分在 或 上任意数量和形状的不相交区域(disjoint region)。
ELM在分类问题上的通用近似定理表述意味着,ELM在理论上能够无限趋近任意的决策边界(decision boundary)。
生物学相似性
ELM被认为包含了生物学习的某些机制。例如在小鼠的实验中,不同嗅觉信号从嗅小球(glomeruli)至嗅脑(piriform cortex)的映射被认为是分散和无差别的,即神经元对信号的加工与环境无关,这与ELM的输入权重独立于输入数据和学习过程具有相似性。类似的学习机制在猴子的决策行为中也有出现。
按Huang (2014),ELM命名的含义是“超越和打破传统机器学习与生物学习间的障碍”:
(原文)‘‘ ‘Extreme’ here means to move beyond conventional artificial learning techniques and to move toward brain alike learning. ELM aims to break the barriers between the conventional artificial learning techniques and biological learning mechanism.”
ELM与生物学习过程间的相似性被认为影响了RKS(Random Kitchen Sinks)和No-Prop(No-Propagation)等机器学习算法。
有关概念与比较
ELM在研究中可以与支持向量机(Support Vector Machine, SVM)和使用反向传播算法(Back-Propagation, BP)的单层感知机,即BP神经网络相比较,一般性的监督学习结果表明,ELM在学习速率和泛化能力上可能具有优势。
反向传播算法
在与BP神经网络,或反向传播算法的比较中,ELM的学习速率是前者的十倍以上,具有效率优势,但在误差方面,ELM与BP的学习误差相近,没有显著提升。在基于回归问题的测试和比较研究中,ELM的学习表现可能超过BP算法,也可能略低于BP算法。
支持向量机
支持向量机是常被用于和ELM进行比较的算法,这里列出一些两者的不同:
ELM算法包含直接的特征映射并且输入层,隐含层和输出层是连接的;SVM基于核方法(kernel method)的特征映射是间接的,不考虑特征在神经网络各层的连接。SVM在求解时通过构建超平面(hyperplane)对数据进行分类;而ELM的输出层没有误差节点,也没有上述过程。
ELM使用岭回归求解输出权重;SVM使用最大边距优化(maximal margin optimization)给出结果。ELM可以直接求解多元分类(multiclass classification);而SVM需要将多元分类转换为二项分类(binary classification)进行求解。
按一些研究的个例分析,ELM与SVM的学习误差相当,但ELM的计算复杂度更低要快于SVM。
评价
谷歌学术在2017年5月推出的“Classic Papers: Articles That Have Stood The Test of Time”测评活动中,与ELM有关的两份研究被选入人工智能领域持续受到引用的经典文献。
对ELM原创性的争议
机器学习领域有许多与ELM思路相当的算法,例如随机向量连接函数(Random Vector Functional-Link, RVFL)和Schmidt等对前馈神经网络权重的随机化实验。因此,在ELM被提出后有观点认为,ELM不是一种独立的算法。并且有评论指出,ELM原作者为了凸显其工作的独立性而有意回避了对其它类似研究的引用。但也有观点认为,ELM通过发展,已成为独立的,且包含完整理论并与其它机器学习方法相联系的学习系统,。
应用
图像处理方面,ELM被成功用于低分辨率至高分辨率图像的转化,以及遥感图像中对下垫面类型的识别。在生物科学领域,ELM被用于预测蛋白质交互作用。地球科学领域的很多预测问题包含非线性过程且观测数据缺乏,ELM因其泛化能力而得到应用,成功的例子包括对日河流径流量风速干旱指数的预测。
包含ELM算法的编程模块
HP-ELM:该模块是基于Python开发的ELM算法库,包含GPU加速和内存优化设计,适用于处理大数据问题。HP-ELM支持LOO(Leave One Out)和分组交叉验证(k-fold cross validation)动态选择隐含层节点个数,可用的特征映射包括线性函数、Sigmoid函数、双曲正弦函数和三种径向基函数。
Guang-Bin Huang在南洋理工大学的个人主页上有ELM源代码开放下载。
全国各地天气预报查询

上海市

  • 市辖区
  • 云南省

  • 临沧市
  • 云南省

  • 丽江市
  • 云南省

  • 保山市
  • 云南省

  • 大理白族自治州
  • 云南省

  • 德宏傣族景颇族自治州
  • 云南省

  • 怒江傈僳族自治州
  • 云南省

  • 文山壮族苗族自治州
  • 云南省

  • 昆明市
  • 云南省

  • 昭通市
  • 云南省

  • 普洱市
  • 云南省

  • 曲靖市
  • 云南省

  • 楚雄彝族自治州
  • 云南省

  • 玉溪市
  • 云南省

  • 红河哈尼族彝族自治州
  • 云南省

  • 西双版纳傣族自治州
  • 云南省

  • 迪庆藏族自治州
  • 内蒙古自治区

  • 乌兰察布市
  • 内蒙古自治区

  • 乌海市
  • 内蒙古自治区

  • 兴安盟
  • 内蒙古自治区

  • 包头市
  • 内蒙古自治区

  • 呼伦贝尔市
  • 内蒙古自治区

  • 呼和浩特市
  • 内蒙古自治区

  • 巴彦淖尔市
  • 内蒙古自治区

  • 赤峰市
  • 内蒙古自治区

  • 通辽市
  • 内蒙古自治区

  • 鄂尔多斯市
  • 内蒙古自治区

  • 锡林郭勒盟
  • 内蒙古自治区

  • 阿拉善盟
  • 北京市

  • 市辖区
  • 吉林省

  • 吉林市
  • 吉林省

  • 四平市
  • 吉林省

  • 延边朝鲜族自治州
  • 吉林省

  • 松原市
  • 吉林省

  • 白城市
  • 吉林省

  • 白山市
  • 吉林省

  • 辽源市
  • 吉林省

  • 通化市
  • 吉林省

  • 长春市
  • 四川省

  • 乐山市
  • 四川省

  • 内江市
  • 四川省

  • 凉山彝族自治州
  • 四川省

  • 南充市
  • 四川省

  • 宜宾市
  • 四川省

  • 巴中市
  • 四川省

  • 广元市
  • 四川省

  • 广安市
  • 四川省

  • 德阳市
  • 四川省

  • 成都市
  • 四川省

  • 攀枝花市
  • 四川省

  • 泸州市
  • 四川省

  • 甘孜藏族自治州
  • 四川省

  • 眉山市
  • 四川省

  • 绵阳市
  • 四川省

  • 自贡市
  • 四川省

  • 资阳市
  • 四川省

  • 达州市
  • 四川省

  • 遂宁市
  • 四川省

  • 阿坝藏族羌族自治州
  • 四川省

  • 雅安市
  • 天津市

  • 市辖区
  • 宁夏回族自治区

  • 中卫市
  • 宁夏回族自治区

  • 吴忠市
  • 宁夏回族自治区

  • 固原市
  • 宁夏回族自治区

  • 石嘴山市
  • 宁夏回族自治区

  • 银川市
  • 安徽省

  • 亳州市
  • 安徽省

  • 六安市
  • 安徽省

  • 合肥市
  • 安徽省

  • 安庆市
  • 安徽省

  • 宣城市
  • 安徽省

  • 宿州市
  • 安徽省

  • 池州市
  • 安徽省

  • 淮北市
  • 安徽省

  • 淮南市
  • 安徽省

  • 滁州市
  • 安徽省

  • 芜湖市
  • 安徽省

  • 蚌埠市
  • 安徽省

  • 铜陵市
  • 安徽省

  • 阜阳市
  • 安徽省

  • 马鞍山市
  • 安徽省

  • 黄山市
  • 山东省

  • 东营市
  • 山东省

  • 临沂市
  • 山东省

  • 威海市
  • 山东省

  • 德州市
  • 山东省

  • 日照市
  • 山东省

  • 枣庄市
  • 山东省

  • 泰安市
  • 山东省

  • 济南市
  • 山东省

  • 济宁市
  • 山东省

  • 淄博市
  • 山东省

  • 滨州市
  • 山东省

  • 潍坊市
  • 山东省

  • 烟台市
  • 山东省

  • 聊城市
  • 山东省

  • 菏泽市
  • 山东省

  • 青岛市
  • 山西省

  • 临汾市
  • 山西省

  • 吕梁市
  • 山西省

  • 大同市
  • 山西省

  • 太原市
  • 山西省

  • 忻州市
  • 山西省

  • 晋中市
  • 山西省

  • 晋城市
  • 山西省

  • 朔州市
  • 山西省

  • 运城市
  • 山西省

  • 长治市
  • 山西省

  • 阳泉市
  • 广东省

  • 东莞市
  • 广东省

  • 中山市
  • 广东省

  • 云浮市
  • 广东省

  • 佛山市
  • 广东省

  • 广州市
  • 广东省

  • 惠州市
  • 广东省

  • 揭阳市
  • 广东省

  • 梅州市
  • 广东省

  • 汕头市
  • 广东省

  • 汕尾市
  • 广东省

  • 江门市
  • 广东省

  • 河源市
  • 广东省

  • 深圳市
  • 广东省

  • 清远市
  • 广东省

  • 湛江市
  • 广东省

  • 潮州市
  • 广东省

  • 珠海市
  • 广东省

  • 肇庆市
  • 广东省

  • 茂名市
  • 广东省

  • 阳江市
  • 广东省

  • 韶关市
  • 广西壮族自治区

  • 北海市
  • 广西壮族自治区

  • 南宁市
  • 广西壮族自治区

  • 崇左市
  • 广西壮族自治区

  • 来宾市
  • 广西壮族自治区

  • 柳州市
  • 广西壮族自治区

  • 桂林市
  • 广西壮族自治区

  • 梧州市
  • 广西壮族自治区

  • 河池市
  • 广西壮族自治区

  • 玉林市
  • 广西壮族自治区

  • 百色市
  • 广西壮族自治区

  • 贵港市
  • 广西壮族自治区

  • 贺州市
  • 广西壮族自治区

  • 钦州市
  • 广西壮族自治区

  • 防城港市
  • 新疆维吾尔自治区

  • 乌鲁木齐市
  • 新疆维吾尔自治区

  • 伊犁哈萨克自治州
  • 新疆维吾尔自治区

  • 克孜勒苏柯尔克孜自治州
  • 新疆维吾尔自治区

  • 克拉玛依市
  • 新疆维吾尔自治区

  • 博尔塔拉蒙古自治州
  • 新疆维吾尔自治区

  • 吐鲁番市
  • 新疆维吾尔自治区

  • 和田地区
  • 新疆维吾尔自治区

  • 哈密市
  • 新疆维吾尔自治区

  • 喀什地区
  • 新疆维吾尔自治区

  • 塔城地区
  • 新疆维吾尔自治区

  • 巴音郭楞蒙古自治州
  • 新疆维吾尔自治区

  • 昌吉回族自治州
  • 新疆维吾尔自治区

  • 自治区直辖县级行政区划
  • 新疆维吾尔自治区

  • 阿克苏地区
  • 新疆维吾尔自治区

  • 阿勒泰地区
  • 江苏省

  • 南京市
  • 江苏省

  • 南通市
  • 江苏省

  • 宿迁市
  • 江苏省

  • 常州市
  • 江苏省

  • 徐州市
  • 江苏省

  • 扬州市
  • 江苏省

  • 无锡市
  • 江苏省

  • 泰州市
  • 江苏省

  • 淮安市
  • 江苏省

  • 盐城市
  • 江苏省

  • 苏州市
  • 江苏省

  • 连云港市
  • 江苏省

  • 镇江市
  • 江西省

  • 上饶市
  • 江西省

  • 九江市
  • 江西省

  • 南昌市
  • 江西省

  • 吉安市
  • 江西省

  • 宜春市
  • 江西省

  • 抚州市
  • 江西省

  • 新余市
  • 江西省

  • 景德镇市
  • 江西省

  • 萍乡市
  • 江西省

  • 赣州市
  • 江西省

  • 鹰潭市
  • 河北省

  • 保定市
  • 河北省

  • 唐山市
  • 河北省

  • 廊坊市
  • 河北省

  • 张家口市
  • 河北省

  • 承德市
  • 河北省

  • 沧州市
  • 河北省

  • 石家庄市
  • 河北省

  • 秦皇岛市
  • 河北省

  • 衡水市
  • 河北省

  • 邢台市
  • 河北省

  • 邯郸市
  • 河南省

  • 三门峡市
  • 河南省

  • 信阳市
  • 河南省

  • 南阳市
  • 河南省

  • 周口市
  • 河南省

  • 商丘市
  • 河南省

  • 安阳市
  • 河南省

  • 平顶山市
  • 河南省

  • 开封市
  • 河南省

  • 新乡市
  • 河南省

  • 洛阳市
  • 河南省

  • 漯河市
  • 河南省

  • 濮阳市
  • 河南省

  • 焦作市
  • 河南省

  • 省直辖县级行政区划
  • 河南省

  • 许昌市
  • 河南省

  • 郑州市
  • 河南省

  • 驻马店市
  • 河南省

  • 鹤壁市
  • 浙江省

  • 丽水市
  • 浙江省

  • 台州市
  • 浙江省

  • 嘉兴市
  • 浙江省

  • 宁波市
  • 浙江省

  • 杭州市
  • 浙江省

  • 温州市
  • 浙江省

  • 湖州市
  • 浙江省

  • 绍兴市
  • 浙江省

  • 舟山市
  • 浙江省

  • 衢州市
  • 浙江省

  • 金华市
  • 海南省

  • 三亚市
  • 海南省

  • 三沙市
  • 海南省

  • 儋州市
  • 海南省

  • 海口市
  • 海南省

  • 省直辖县级行政区划
  • 湖北省

  • 十堰市
  • 湖北省

  • 咸宁市
  • 湖北省

  • 孝感市
  • 湖北省

  • 宜昌市
  • 湖北省

  • 恩施土家族苗族自治州
  • 湖北省

  • 武汉市
  • 湖北省

  • 省直辖县级行政区划
  • 湖北省

  • 荆州市
  • 湖北省

  • 荆门市
  • 湖北省

  • 襄阳市
  • 湖北省

  • 鄂州市
  • 湖北省

  • 随州市
  • 湖北省

  • 黄冈市
  • 湖北省

  • 黄石市
  • 湖南省

  • 娄底市
  • 湖南省

  • 岳阳市
  • 湖南省

  • 常德市
  • 湖南省

  • 张家界市
  • 湖南省

  • 怀化市
  • 湖南省

  • 株洲市
  • 湖南省

  • 永州市
  • 湖南省

  • 湘潭市
  • 湖南省

  • 湘西土家族苗族自治州
  • 湖南省

  • 益阳市
  • 湖南省

  • 衡阳市
  • 湖南省

  • 邵阳市
  • 湖南省

  • 郴州市
  • 湖南省

  • 长沙市
  • 甘肃省

  • 临夏回族自治州
  • 甘肃省

  • 兰州市
  • 甘肃省

  • 嘉峪关市
  • 甘肃省

  • 天水市
  • 甘肃省

  • 定西市
  • 甘肃省

  • 平凉市
  • 甘肃省

  • 庆阳市
  • 甘肃省

  • 张掖市
  • 甘肃省

  • 武威市
  • 甘肃省

  • 甘南藏族自治州
  • 甘肃省

  • 白银市
  • 甘肃省

  • 酒泉市
  • 甘肃省

  • 金昌市
  • 甘肃省

  • 陇南市
  • 福建省

  • 三明市
  • 福建省

  • 南平市
  • 福建省

  • 厦门市
  • 福建省

  • 宁德市
  • 福建省

  • 泉州市
  • 福建省

  • 漳州市
  • 福建省

  • 福州市
  • 福建省

  • 莆田市
  • 福建省

  • 龙岩市
  • 西藏自治区

  • 山南市
  • 西藏自治区

  • 拉萨市
  • 西藏自治区

  • 日喀则市
  • 西藏自治区

  • 昌都市
  • 西藏自治区

  • 林芝市
  • 西藏自治区

  • 那曲市
  • 西藏自治区

  • 阿里地区
  • 贵州省

  • 六盘水市
  • 贵州省

  • 安顺市
  • 贵州省

  • 毕节市
  • 贵州省

  • 贵阳市
  • 贵州省

  • 遵义市
  • 贵州省

  • 铜仁市
  • 贵州省

  • 黔东南苗族侗族自治州
  • 贵州省

  • 黔南布依族苗族自治州
  • 贵州省

  • 黔西南布依族苗族自治州
  • 辽宁省

  • 丹东市
  • 辽宁省

  • 大连市
  • 辽宁省

  • 抚顺市
  • 辽宁省

  • 朝阳市
  • 辽宁省

  • 本溪市
  • 辽宁省

  • 沈阳市
  • 辽宁省

  • 盘锦市
  • 辽宁省

  • 营口市
  • 辽宁省

  • 葫芦岛市
  • 辽宁省

  • 辽阳市
  • 辽宁省

  • 铁岭市
  • 辽宁省

  • 锦州市
  • 辽宁省

  • 阜新市
  • 辽宁省

  • 鞍山市
  • 重庆市

  • 重庆市

  • 市辖区
  • 陕西省

  • 咸阳市
  • 陕西省

  • 商洛市
  • 陕西省

  • 安康市
  • 陕西省

  • 宝鸡市
  • 陕西省

  • 延安市
  • 陕西省

  • 榆林市
  • 陕西省

  • 汉中市
  • 陕西省

  • 渭南市
  • 陕西省

  • 西安市
  • 陕西省

  • 铜川市
  • 青海省

  • 果洛藏族自治州
  • 青海省

  • 海东市
  • 青海省

  • 海北藏族自治州
  • 青海省

  • 海南藏族自治州
  • 青海省

  • 海西蒙古族藏族自治州
  • 青海省

  • 玉树藏族自治州
  • 青海省

  • 西宁市
  • 青海省

  • 黄南藏族自治州
  • 黑龙江省

  • 七台河市
  • 黑龙江省

  • 伊春市
  • 黑龙江省

  • 佳木斯市
  • 黑龙江省

  • 双鸭山市
  • 黑龙江省

  • 哈尔滨市
  • 黑龙江省

  • 大兴安岭地区
  • 黑龙江省

  • 大庆市
  • 黑龙江省

  • 牡丹江市
  • 黑龙江省

  • 绥化市
  • 黑龙江省

  • 鸡西市
  • 黑龙江省

  • 鹤岗市
  • 黑龙江省

  • 黑河市
  • 黑龙江省

  • 齐齐哈尔市