matlab、lingo程序代码14-模糊聚类(聚类分析)

合集下载

聚类分析MATLAB

聚类分析MATLAB

聚类分析MATLAB§8.利⽤Matlab和SPSS软件实现聚类分析1. ⽤Matlab编程实现运⽤Matlab中的⼀些基本矩阵计算⽅法,通过⾃⼰编程实现聚类算法,在此只讨论根据最短距离规则聚类的⽅法。

调⽤函数:min1.m——求矩阵最⼩值,返回最⼩值所在⾏和列以及值的⼤⼩min2.m——⽐较两数⼤⼩,返回较⼩值std1.m——⽤极差标准化法标准化矩阵ds1.m——⽤绝对值距离法求距离矩阵cluster.m——应⽤最短距离聚类法进⾏聚类分析print1.m——调⽤各⼦函数,显⽰聚类结果聚类分析算法假设距离矩阵为vector,a阶,矩阵中最⼤值为max,令矩阵上三⾓元素等于max聚类次数=a-1,以下步骤作a-1次循环:求改变后矩阵的阶数,计作c求矩阵最⼩值,返回最⼩值所在⾏e和列f以及值的⼤⼩gfor l=1:c,为vector(c+1,l)赋值,产⽣新类令第c+1列元素,第e⾏和第f⾏所有元素为,第e列和第f列所有元素为max源程序如下:%std1.m,⽤极差标准化法标准化矩阵function std=std1(vector)max=max(vector); %对列求最⼤值min=min(vector);[a,b]=size(vector); %矩阵⼤⼩,a为⾏数,b为列数for i=1:afor j=1:bstd(i,j)= (vector(i,j)-min(j))/(max(j)-min(j));endend%ds1.m,⽤绝对值法求距离function d=ds1(vector);[a,b]=size(vector);d=zeros(a);for i=1:afor j=1:afor k=1:bd(i,j)=d(i,j)+abs(vector(i,k)-vector(j,k));endendendfprintf('绝对值距离矩阵如下:\n');disp(d)%min1.m,求矩阵中最⼩值,并返回⾏列数及其值function [v1,v2,v3]=min1(vector);%v1为⾏数,v2为列数,v3为其值[v,v2]=min(min(vector'));[v,v1]=min(min(vector));v3=min(min(vector));%min2.m,⽐较两数⼤⼩,返回较⼩的值function v1=min(v2,v3);if v2>v3v1=v3;elsev1=v2;end%cluster.m,最短距离聚类法function result=cluster(vector);[a,b]=size(vector);max=max(max(vector));for i=1:afor j=i:bvector(i,j)=max;endend;for k=1:(b-1)[c,d]=size(vector);fprintf('第%g次聚类:\n',k);[e,f,g]=min1(vector);fprintf('最⼩值=%g,将第%g区和第%g区并为⼀类,记作G%g\n\n',g,e,f,c+1); for l=1:cif l<=min2(e,f)vector(c+1,l)=min2(vector(e,l),vector(f,l));elsevector(c+1,l)=min2(vector(l,e),vector(l,f));endend;vector(1:c+1,c+1)=max;vector(1:c+1,e)=max;vector(1:c+1,f)=max;vector(e,1:c+1)=max;vector(f,1:c+1)=max;end%print1,调⽤各⼦函数function print=print1(filename,a,b); %a为地区个数,b为指标数fid=fopen(filename,'r')vector=fscanf(fid,'%g',[a b]);fprintf('标准化结果如下:\n')v1=std1(vector)v2=ds1(v1);cluster(v2);%输出结果print1('fname',9,7)2.直接调⽤Matlab函数实现2.1调⽤函数层次聚类法(Hierarchical Clustering)的计算步骤:①计算n个样本两两间的距离{d ij},记D②构造n个类,每个类只包含⼀个样本;③合并距离最近的两类为⼀新类;④计算新类与当前各类的距离;若类的个数等于1,转到5);否则回3);⑤画聚类图;⑥决定类的个数和类;Matlab软件对系统聚类法的实现(调⽤函数说明):cluster 从连接输出(linkage)中创建聚类clusterdata 从数据集合(x)中创建聚类dendrogram 画系统树状图linkage 连接数据集中的⽬标为⼆元群的层次树pdist 计算数据集合中两两元素间的距离(向量) squareform 将距离的输出向量形式定格为矩阵形式zscore 对数据矩阵 X 进⾏标准化处理各种命令解释1、T = clusterdata(X, cutoff)其中X为数据矩阵,cutoff是创建聚类的临界值。

利用Matlab进行数据聚类与分类的方法

利用Matlab进行数据聚类与分类的方法

利用Matlab进行数据聚类与分类的方法导言在当今大数据时代,处理和分析庞大的数据成为许多领域的重要任务,而数据聚类与分类是其中重要的一环。

Matlab作为一种功能强大的编程语言和工具,在数据聚类与分类方面具有广泛的应用。

本文将介绍利用Matlab进行数据聚类与分类的常用方法和技巧。

一、数据聚类的概念与方法1.1 数据聚类的定义数据聚类是指将具有相似特征的数据对象自动分成若干组的过程,旨在将相似的数据归为一类,不相似的数据分开。

1.2 常用的数据聚类方法- K-means聚类算法:K-means是一种常见且简单的数据聚类方法,通过迭代优化的方式将数据划分成K个簇。

- 层次聚类算法:层次聚类是一种基于树形结构的聚类方法,它将数据逐步合并或分裂,直到得到最终的聚类结果。

- 密度聚类算法:密度聚类根据数据点的密度特征进行聚类,能够有效地发现任意形状和大小的聚类簇。

- 谱聚类算法:谱聚类结合图论的思想,通过计算数据的拉普拉斯矩阵特征向量,将数据聚类成多个划分。

二、利用Matlab进行数据聚类2.1 准备工作在使用Matlab进行数据聚类之前,需要准备好数据集。

通常,数据集需要进行预处理,包括数据清洗、特征选择和降维等步骤。

2.2 K-means聚类利用Matlab的统计工具箱,可以轻松实现K-means聚类算法。

首先,将数据集读入Matlab并进行必要的归一化处理。

然后,使用kmeans函数运行K-means聚类算法,指定聚类的簇数K和迭代次数等参数。

最后,根据聚类结果进行数据可视化或进一步的分析。

2.3 层次聚类Matlab中的cluster函数提供了层次聚类的功能。

将数据集转换为距离矩阵,然后调用cluster函数即可实现层次聚类。

该函数支持不同的聚类算法和距离度量方法,用户可以根据具体需求进行调整。

2.4 密度聚类实现密度聚类可以使用Matlab中的DBSCAN函数。

DBSCAN是一种基于密度的聚类算法,它通过确定数据点的领域密度来判定是否为核心对象,并通过核心对象的连接性将数据点分为不同的簇。

模糊聚类分析方法

模糊聚类分析方法

模糊聚类分析方法对所研究的事物按一定标准进行分类的数学方法称为聚类分析,它是多元统 计“物以类聚”的一种分类方法。

载科学技术、经济管理中常常要按一定的标准 (相似程度或亲疏关系)进行分类。

例如,根据生物的某些性状可对生物分类, 根据土壤的性质可对土壤分类等。

由于科学技术、经济管理中的分类界限往往不 分明,因此采用模糊聚类方法通常比较符合实际。

一、模糊聚类分析的一般步骤1、第一步:数据标准化[9](1)数据矩阵设论域U ={X i ,X 2,||l,X n }为被分类对象,每个对象又有m 个指标表示其性状,于是,得到原始数据矩阵为Xm 1X m2bI-Xnm」其中X nm 表示第n 个分类对象的第m 个指标的原始数据(2)数据标准化在实际问题中,不同的数据一般有不同的量纲,为了使不同的量纲也能进行 比较,通常需要对数据做适当的变换。

但是,即使这样,得到的数据也不一定在 区间[0,1]上。

因此,这里说的数据标准化,就是要根据模糊矩阵的要求,将数据 压缩到区间[0,1]上。

通常有以下几种变换: ① 平移•标准差变换X i = {x i1, X i2,川,X m }X i 1X2 1X n2 IHxik -(i 一 1,21 n, k_;HL 2mS k其中-1 n1 n_ 2xkxi , 2(xik~'兀)。

n i 4: n i 4经过变换后,每个变量的均值为 0,标准差为1,且消除了量纲的影响。

但是,再用得到的x k 还不一定在区间[0,1]上。

② 平移•极差变换显然有0乞x ik 乞1,而且也消除了量纲的影响 ③ 对数变换xk- lg x ik (i = 1,n , k; l [L 2 m取对数以缩小变量间的数量级。

2、第二步:标定(建立模糊相似矩阵)设论域U ={为公2,川,人} , X i ={为1必2,川,心},依照传统聚类方法确定相似 系数,建立模糊相似矩阵,x i 与X j 的相似程度用=R(X j ,X j )。

在Matlab中使用模糊C均值聚类进行图像分析的技巧

在Matlab中使用模糊C均值聚类进行图像分析的技巧

在Matlab中使用模糊C均值聚类进行图像分析的技巧在图像分析领域,模糊C均值聚类(FCM)是一种常用的工具,它可以帮助我们发现图像中隐藏的信息和模式。

通过使用Matlab中的模糊逻辑工具箱,我们可以轻松地实现FCM算法,并进行图像分析。

本文将介绍在Matlab中使用FCM进行图像分析的技巧。

首先,让我们简要了解一下FCM算法。

FCM是一种基于聚类的图像分割方法,它将图像的像素分为不同的聚类,每个聚类代表一类像素。

与传统的C均值聚类算法不同,FCM允许像素属于多个聚类,因此能够更好地处理图像中的模糊边界。

在Matlab中使用FCM进行图像分析的第一步是加载图像。

可以使用imread函数将图像加载到Matlab的工作区中。

例如,我们可以加载一张名为“image.jpg”的图像:```matlabimage = imread('image.jpg');```加载图像后,可以使用imshow函数显示图像。

这可以帮助我们对图像有一个直观的了解:```matlabimshow(image);```接下来,我们需要将图像转换为灰度图像。

这是因为FCM算法通常用于灰度图像分析。

可以使用rgb2gray函数将彩色图像转换为灰度图像:```matlabgrayImage = rgb2gray(image);```在使用FCM算法之前,我们需要对图像进行预处理。

预处理的目的是消除图像中的噪声和不必要的细节,从而更好地提取图像中的特征。

常用的图像预处理方法包括平滑、锐化和边缘检测等。

Matlab中提供了许多图像预处理函数。

例如,可以使用imnoise函数向图像中添加高斯噪声:```matlabnoisyImage = imnoise(grayImage, 'gaussian', 0, 0.01);```还可以使用imfilter函数对图像进行平滑处理。

常见的平滑方法包括均值滤波和高斯滤波:```matlabsmoothImage = imfilter(noisyImage, fspecial('average', 3));```一旦完成预处理步骤,我们就可以使用模糊逻辑工具箱中的fcm函数执行FCM算法。

matlab、lingo程序代码14-模糊聚类(聚类分析)

matlab、lingo程序代码14-模糊聚类(聚类分析)

模糊聚类function c=fuz_hc(a,b)%模糊矩阵的合成运算程序%输入模糊矩阵a,b,输出合成运算结果cm=size(a,1);n=size(b,2);p=size(a,2);%错误排除if size(a,2)~=size(b,1)disp('输入数据错误!');return;end%合成运算for i=1:mfor j=1:nfor k=1:ptemp(k)=min(a(i,k),b(k,j));endc(i,j)=max(temp);endenddisp('模糊矩阵a与b作合成运算后结果矩阵c为:'); c% 求模糊等价矩阵function r_d=mhdj(r)[m,n]=size(r);for i=1:nfor j=1:nfor k=1:nr1(i,j,k)=min(r(i,k),r(k,j));endr1max(i,j)=r1(i,j,1);endendfor i=1:nfor j=1:nfor k=1:nif r1(i,j,k)>r1max(i,j)r1max(i,j)=r1(i,j,k);endendr_d(i,j)=r1max(i,j);endend%模糊聚类程序function f=mujl(x,lamda)%输入原始数据以及lamda的值if lamda>1disp('error!') %错误处理end[n,m]=size(x);y=pdist(x);disp('欧式距离矩阵:');dist=squareform(y) %欧氏距离矩阵dmax=dist(1,1);for i=1:nfor j=1:nif dist(i,j)>dmaxdmax=dist(i,j);endendenddisp('处理后的欧氏距离矩阵,其特点为每项元素均不超过1:');sdist=dist/dmax %使距离值不超过1disp('模糊关系矩阵:');r=ones(n,n)-sdist %计算对应的模糊关系矩阵t=mhdj(r);le=t-r;while all(all(le==0)==0)==1 %如果t与r相等,则继续求r乘以r r=t;t=mhdj(r);le=t-r;enddisp('模糊等价矩阵为:')tfor i=1:nk=1;for j=1:nif t(i,j)>=lamdagroup(i,k)=j;k=k+1;endendenddisp('聚类结果如下(数字0为自动填充数据,不是样本序号):') group(1,:)for i=2:nk=0;for j=1:i-1if all(group(i,:)==group(j,:))==1 %两行值完全相等,不输出k=1;break;endendif k==0disp(group(i,:)) %仅输出不重复的分类endend%模糊聚类程序function f=mujl(x,lamda)%输入原始数据以及lamda的值if lamda>1disp('error!') %错误处理end[n,m]=size(x);xmax=max(x);xmin=min(x);x=(x-xmin(ones(n,1),:))./(xmax(ones(n,1),:)-xmin(ones(n,1),:))y=pdist(x);disp('欧式距离矩阵:');dist=squareform(y) %欧氏距离矩阵dmax=dist(1,1);for i=1:nfor j=1:nif dist(i,j)>dmaxdmax=dist(i,j);endendenddisp('处理后的欧氏距离矩阵,其特点为每项元素均不超过1:');sdist=dist/dmax %使距离值不超过1disp('模糊关系矩阵:');r=ones(n,n)-sdist %计算对应的模糊关系矩阵t=mhdj(r);le=t-r;while all(all(le==0)==0)==1 %如果t与r相等,则继续求r乘以r r=t;t=mhdj(r);le=t-r;enddisp('模糊等价矩阵为:')tfor i=1:nk=1;for j=1:nif t(i,j)>=lamdagroup(i,k)=j;k=k+1;endendenddisp('聚类结果如下(数字0为自动填充数据,不是样本序号):') group(1,:)gru_val=1;for i=2:nk=0;for j=1:i-1if all(group(i,:)==group(j,:))==1 %两行值完全相等,不输出k=1;break;endendif k==0disp('第i类样本序号:'),igru_val=gru_val+1;disp(group(i,:)) %仅输出不重复的分类endendgru_val。

matlab层次聚类代码

matlab层次聚类代码

matlab层次聚类代码在MATLAB中实现层次聚类,可以使用聚类算法包(如scikit-learn)或者MATLAB内置的聚类函数。

以下是一个基于scikit-learn的层次聚类(凝聚层次聚类)的示例代码:1. 首先,确保已经安装了scikit-learn库。

如果没有安装,可以使用以下命令进行安装:```matlab% 安装scikit-learn库install('scikit-learn')```2. 导入所需的库:```matlabimport numpy as npfrom sklearn.cluster import Birchfrom sklearn.preprocessing import StandardScalerfrom sklearn.metrics import euclidean```3. 生成随机数据集:```matlabnp.random.seed(0)X = np.random.random((100, 2))```4. 对数据进行标准化处理:```matlabsc = StandardScaler()X_scaled = sc.fit_transform(X)```5. 初始化Birch聚类器:```matlabbirch = Birch(n_clusters=3, compute_labels=True) ```6. 对数据进行聚类:```matlabclusters = birch.fit_predict(X_scaled)```7. 计算簇内平均距离和簇间距离:```matlabcenters = birch.cluster_centers_distances = np.zeros((X.shape[0], centers.shape[0]))for i in range(X.shape[0]):for j in range(centers.shape[0]):distances[i, j] = euclidean(X[i], centers[j])inner_distance = np.min(distances, axis=1)between_distance = np.min(distances[distances != inner_distance], axis=1)```8. 绘制聚类结果:```matlabcolors = ['red', 'blue', 'green']scatter(X_scaled[:, 0], X_scaled[:, 1], s=50, c=colors[clusters], alpha=0.5) xlim([-3, 3])ylim([-3, 3])title('层次聚类结果')```以上代码首先生成一个随机的二维数据集,然后使用Birch聚类器对其进行聚类。

模式识别大作业

模式识别大作业

模式识别大作业模糊聚类算法模糊聚类算法概述模糊聚类算法是一种基于函数最优方法的聚类算法,使用微积分计算技术求最优代价函数。

在基于概率算法的聚类方法中将使用概率密度函数,为此要假定合适的模型,模糊聚类算法的向量可以同时属于多个聚类,从而摆脱上述问题。

在模糊聚类算法中,定义了向量与聚类之间的近邻函数,并且聚类中向量的隶属度由隶属函数集合提供。

对模糊方法而言,在不同聚类中的向量隶属函数值是相互关联的。

硬聚类可以看成是模糊聚类方法的一个特例。

模糊聚类算法的分类模糊聚类分析算法大致可分为三类[4]:1)分类数不定,根据不同要求对事物进行动态聚类,此类方法是基于模糊等价矩阵聚类的,称为模糊等价矩阵动态聚类分析法。

2)分类数给定,寻找出对事物的最佳分析方案,此类方法是基于目标函数聚类的,称为模c均值聚类。

3)在摄动有意义的情况下,根据模糊相似矩阵聚类,此类方法称为基于摄动的模糊聚类分析法。

模糊c均值(FCM)聚类算法算法描述模糊c均值聚类算法的步骤还是比较简单的,模糊c均值聚类(FCM),即众所周知的模糊ISODATA,是用隶属度确定每个数据点属于某个聚类的程度的一种聚类算法。

1973年,Bezdek提出了该算法,作为早期硬c均值聚类(HCM)方法的一种改进。

FCM把n个向量x i(i=1,2,…,n)分为c个模糊组,并求每组的聚类中心,使得非相似性指标的价值函数达到最小。

FCM与HCM的主要区别在于FCM用模糊划分,使得每个给定数据点用值在0,1间的隶属度来确定其属于各个组的程度。

与引入模糊划分相适应,隶属矩阵U允许有取值在0,1间的元素。

不过,加上归一化规定,一个数据集的隶属度的和总等于1:∑==∀=ciijnju1,...,1,1(3.1)那么,FCM的价值函数(或目标函数)就是:∑∑∑====c i njijm ij c i i c d u J c c U J 1211),...,,(, (3.2)这里u ij 介于0,1间;c i 为模糊组I 的聚类中心,d ij =||c i -x j ||为第I 个聚类中心与第j 个数据点间的欧几里德距离;且[)∞∈,1m 是一个加权指数。

matlab做聚类分析

matlab做聚类分析

matlab做聚类分析Matlab提供了两种方法进行聚类分析。

一种是利用 clusterdata函数对样本数据进行一次聚类,其缺点为可供用户选择的面较窄,不能更改距离的计算方法;另一种是分步聚类:(1)找到数据集合中变量两两之间的相似性和非相似性,用pdist函数计算变量之间的距离;(2)用 linkage函数定义变量之间的连接;(3)用 cophenetic函数评价聚类信息;(4)用cluster函数创建聚类。

1.Matlab中相关函数介绍1.1 pdist函数调用格式:Y=pdist(X,’metric’)说明:用‘metric’指定的方法计算 X 数据矩阵中对象之间的距离。

’X:一个m×n的矩阵,它是由m个对象组成的数据集,每个对象的大小为n。

metric’取值如下:‘euclidean’:欧氏距离(默认);‘seuclidean’:标准化欧氏距离;‘mahalanobis’:马氏距离;‘cityblock’:布洛克距离;‘minkowski’:明可夫斯基距离;‘cosine’:‘correlation’:‘hamming’:‘jaccard’:‘chebychev’:Chebychev距离。

1.2 squareform函数调用格式:Z=squareform(Y,..)说明:强制将距离矩阵从上三角形式转化为方阵形式,或从方阵形式转化为上三角形式。

1.3 linkage函数调用格式:Z=linkage(Y,’method’)说明:用‘method’参数指定的算法计算系统聚类树。

Y:pdist函数返回的距离向量;method:可取值如下:‘single’:最短距离法(默认);‘complete’:最长距离法;‘average’:未加权平均距离法;‘weighted’:加权平均法;‘centroid’:质心距离法;‘median’:加权质心距离法;‘ward’:内平方距离法(最小方差算法)返回:Z为一个包含聚类树信息的(m-1)×3的矩阵。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

模糊聚类
function c=fuz_hc(a,b)
%模糊矩阵的合成运算程序
%输入模糊矩阵a,b,输出合成运算结果c
m=size(a,1);n=size(b,2);p=size(a,2);
%错误排除
if size(a,2)~=size(b,1)
disp('输入数据错误!');return;
end
%合成运算
for i=1:m
for j=1:n
for k=1:p
temp(k)=min(a(i,k),b(k,j));
end
c(i,j)=max(temp);
end
end
disp('模糊矩阵a与b作合成运算后结果矩阵c为:'); c
% 求模糊等价矩阵
function r_d=mhdj(r)
[m,n]=size(r);
for i=1:n
for j=1:n
for k=1:n
r1(i,j,k)=min(r(i,k),r(k,j));
end
r1max(i,j)=r1(i,j,1);
end
end
for i=1:n
for j=1:n
for k=1:n
if r1(i,j,k)>r1max(i,j)
r1max(i,j)=r1(i,j,k);
end
end
r_d(i,j)=r1max(i,j);
end
end
%模糊聚类程序
function f=mujl(x,lamda)
%输入原始数据以及lamda的值
if lamda>1
disp('error!') %错误处理
end
[n,m]=size(x);
y=pdist(x);
disp('欧式距离矩阵:');
dist=squareform(y) %欧氏距离矩阵
dmax=dist(1,1);
for i=1:n
for j=1:n
if dist(i,j)>dmax
dmax=dist(i,j);
end
end
end
disp('处理后的欧氏距离矩阵,其特点为每项元素均不超过1:');
sdist=dist/dmax %使距离值不超过1
disp('模糊关系矩阵:');
r=ones(n,n)-sdist %计算对应的模糊关系矩阵
t=mhdj(r);
le=t-r;
while all(all(le==0)==0)==1 %如果t与r相等,则继续求r乘以r r=t;
t=mhdj(r);
le=t-r;
end
disp('模糊等价矩阵为:')
t
for i=1:n
k=1;
for j=1:n
if t(i,j)>=lamda
group(i,k)=j;
k=k+1;
end
end
end
disp('聚类结果如下(数字0为自动填充数据,不是样本序号):') group(1,:)
for i=2:n
k=0;
for j=1:i-1
if all(group(i,:)==group(j,:))==1 %两行值完全相等,不输出k=1;break;
end
end
if k==0
disp(group(i,:)) %仅输出不重复的分类
end
end
%模糊聚类程序
function f=mujl(x,lamda)
%输入原始数据以及lamda的值
if lamda>1
disp('error!') %错误处理
end
[n,m]=size(x);
xmax=max(x);xmin=min(x);
x=(x-xmin(ones(n,1),:))./(xmax(ones(n,1),:)-xmin(ones(n,1),:))
y=pdist(x);
disp('欧式距离矩阵:');
dist=squareform(y) %欧氏距离矩阵
dmax=dist(1,1);
for i=1:n
for j=1:n
if dist(i,j)>dmax
dmax=dist(i,j);
end
end
end
disp('处理后的欧氏距离矩阵,其特点为每项元素均不超过1:');
sdist=dist/dmax %使距离值不超过1
disp('模糊关系矩阵:');
r=ones(n,n)-sdist %计算对应的模糊关系矩阵
t=mhdj(r);
le=t-r;
while all(all(le==0)==0)==1 %如果t与r相等,则继续求r乘以r r=t;
t=mhdj(r);
le=t-r;
end
disp('模糊等价矩阵为:')
t
for i=1:n
k=1;
for j=1:n
if t(i,j)>=lamda
group(i,k)=j;
k=k+1;
end
end
end
disp('聚类结果如下(数字0为自动填充数据,不是样本序号):') group(1,:)
gru_val=1;
for i=2:n
k=0;
for j=1:i-1
if all(group(i,:)==group(j,:))==1 %两行值完全相等,不输出k=1;break;
end
end
if k==0
disp('第i类样本序号:'),i
gru_val=gru_val+1;
disp(group(i,:)) %仅输出不重复的分类
end
end
gru_val。

相关文档
最新文档