




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、模*M C均值聚類算法的實現研究背景模糊聚類分析算法大致可分為三類1)分類數不定,根據不同要求對事物進行動態聚類, 此類方法是基于模糊等價 矩陣聚類的,稱為模糊等價矩陣動態聚類分析法。2)分類數給定,尋找出對事物的最佳分析方案, 此類方法是基于目標函數聚類 的,稱為模糊C均值聚類。3)在攝動有意義的情況下,根據模糊相似矩陣聚類,此類方法稱為基于攝動的 模糊聚類分析法聚類分析是多元統計分析的一種,也是無監督模式識別的一個重要分支,在模 式分類圖像處理和模糊規則處理等眾多領域中獲得最廣泛的應用。它把一個沒 有類別標記的樣本按照某種準則劃分為若干子集,使相似的樣本盡可能歸于一 類,而把不相似的樣本劃
2、分到不同的類中。 硬聚類把每個待識別的對象嚴格的劃 分某類中,具有非此即彼的性質,而模糊聚類建立了樣本對類別的不確定描述, 更能客觀的反應客觀世界,從而成為聚類分析的主流。模糊聚類算法是一種基于函數最優方法的聚類算法,使用微積分計算技術求 最優代價函數,在基于概率算法的聚類方法中將使用概率密度函數,為此要假定合適的模型,模糊聚類算法的向量可以同時屬于多個聚類,從而擺脫上述問題。我所學習的是模糊C均值聚類算法,要學習模糊C均值聚類算法要先了解慮 屬度的含義,隸屬度函數是表示一個對象x隸屬于集合A的程度的函數,通常記 做N4x),其自變量范圍是所有可能屬于集合 A的對象(即集合A所在空間中的 所有
3、點),取值范圍是0,1,即0<=N A(x)<=1 。 N&x)=1表示x完全隸屬于集合 A,相當于傳統集合概念上的xCA。一個定義在空間X=x上的隸屬度函數就定 義了一個模糊集合A,或者叫定義在論域X=x上的模糊子集Ao對于有限個對 象x1, x2,xn模糊集合A可以表示為: A=(A(x)xi)|xi X(6.1)有了模糊集合的概念,一個元素隸屬于模糊集合就不是硬性的了,在聚類的 問題中,可以把聚類生成的簇看成模糊集合,因此,每個樣本點隸屬于簇的隸屬度就是0 ,1區間里面的值。FCMT法需要兩個參數一個是聚類數目 C,另一個是參數 m 一般來講C要 遠遠小于聚類樣本的總
4、個數,同時要保證 C>1。對于m它是一個控制算法的柔 性的參數,如果 m過大,則聚類效果會很次,而如果 m過小則算法會接近HCM 聚類算法。算法的輸出是C個聚類中心點向量和C*N的一個模糊劃分矩陣,這個矩陣表 示的是每個樣本點屬于每個類的隸屬度。根據這個劃分矩陣按照模糊集合中的最 大隸屬原則就能夠確定每個樣本點歸為哪個類。聚類中心表示的是每個類的平均特征,可以認為是這個類的代表點。從算法的推導過程中我們不難看出,算法對于滿足正態分布的數據聚類效果會很 好,另外,算法對孤立點是敏感的。聚類算法是一種比較新的技術,基于曾次的聚類算法文獻中最早出現的 Single-Linkage 層次聚類算法
5、是1957年在Lloyd的文章中最早出現的,之后 MacQueen蟲立提出了經典的模糊C均值聚類算法,FCM#法中模糊劃分的概念最 早起源于Ruspini的文章中,但關于FCM勺算法的詳細的分析與改進則是由 Dunn 和Bezdek完成的。模本c均值聚類算法因算法簡單收斂速度快且能處理大數據集,解決問題范圍廣,易于應用計算機實現等特點受到了越來越多人的關注,并應用于各個領域。算法描述模糊C均值聚類算法的步驟還是比較簡單的,模糊C均值聚類(FCM,即眾所周知的模糊ISODATA是用隸屬度確定每個數據點屬于某個聚類的程度的一種 聚類算法。1973年,Bezdek提出了該算法,作為早期硬 C均值聚類
6、(HCM方法 的一種改進。FCMf巴n個向量Xi (i=1,2,n)分為c個模糊組,并求每組的聚類中心, 使得非相似性指標的價值函數達到最小。FCMf HCM勺主要區別在于FCMffl模糊 劃分,使得每個給定數據點用值在0,1間的隸屬度來確定其屬于各個組的程度。 與引入模糊劃分相適應,隸屬矩陣 U允許有取值在0, 1間的元素。不過,加上 歸一化規定,一個數據集的隸屬度的和總等于1:cuij =1,-j =1,,n(6.9)i =1那么,FCM勺價值函數(或目標函數)就是式(6.2)的一般化形式:cc nJ(U ,Ci,.,Cc) =£ Ji =£ £ u;di2
7、,(6.10)i=1i W j這里uij介于0, 1問;Ci為模糊組I的聚類中心,dij =|c i-Xj|為第I個聚類中 心與第j個數據點問的歐幾里德距離;且 mw 1產)是一個加權指數。構造如下新的目標函數,可求得使(6.10)式達到最小值的必要條件:_c(6.11)J(U ,C1,.,Cc, 1,., n)= J(U ,Ci,.,Cc)八,'jC uij -1) i=1c nnc' umdij2、 j(x uj -1)i W jj W i W這里, j=1到n,是(6.9)式的n個約束式的拉格朗日乘子。對所有輸入參量 求導,使式(6.10)達到最小的必要條件為:,. mU
8、ij Xjn一 mUijj坦(6.12)(6.13)由上述兩個必要條件,模本C均值聚類算法是一個簡單的迭代過程。 在批處理方 式運行時,FCMffl下列步驟確定聚類中心c和隸屬矩陣U1:步驟1:用值在0, 1間的隨機數初始化隸屬矩陣 U,使其滿足式(6.9)中 的約束條件步驟2:用式(6.12)計算c個聚類中心Ci, i=1,c。步驟3:根據式(6.10)計算價值函數。如果它小于某個確定的閥值,或它 相對上次價值函數值的改變量小于某個閥值,則算法停止。步驟4:用(6.13)計算新的U矩陣。返回步驟2。上述算法也可以先初始化聚類中心,然后再執行迭代過程。由于不能確保FCM 收斂于一個最優解。算法
9、的性能依賴于初始聚類中心。 因此,我們要么用另外的 快速算法確定初始聚類中心,要么每次用不同的初始聚類中心啟動該算法,多次運行FCM模糊c均值聚類算法如下:Reapeat for l=1 2 3Step 1:compute the cluseter prototypes(means):和_ £ I一自4Step 2:compete the distance:(4擊)2 = (rt -/(辦-p.) , t 石 i ( j1 W 4 W 71Step 3:Update the partition matrix:For i w k £ NIf (d法)'。for all
10、 i = 1,2£2A產m-D Otherwise= 0 if d&A > 0. and W 0t 1 j with±4n = i « iUntil II U- t/3D II < e算法改進1) 在模糊聚類的目標函數中 Bezdek引入了加權指數 m使Dum的聚類準則變成m=2時候的特例,從數學上說 m的出現不自然且沒有必要, 但如果不給以慮屬度乘以權值,那么從硬聚類準則函數到軟聚類目標 函數的推廣準則是無效的,參數m又稱為平滑因子,控制著模式早模 糊類間的分享程度,因此,要實現模糊 c聚類就要選擇一適合的m 然而最佳的m的選取目前還缺乏理論
11、,監管存在一些經驗值或經驗范 圍,但沒有面向問題的優選方法,也缺少參數 m的有效性評價準則2) 盡管模糊聚類是一種無監督的分類,但現在的聚類算法卻=需要應用聚類原型的先驗條件,否則算法會產生誤導,從未破壞算法的無監督 性和自動化。3) 因為模糊聚類目標是非凸的,而模糊C均值聚類算法的計算過程又是迭代爬山,一次很容易陷入局部極值點,從而得不到最優解或滿意解, 同時,大數據量下算法耗時也是困擾人們的一大難題,這2個問題目前還不能得到全面的解決。4) FC峨型的聚類算法屬于劃份方法,對于 1組給定的樣本集,不管數據中有無聚類結構,也不問分類結果是否有效,總把數據劃分到C個 子類中,換言之,現有的聚類
12、分析與聚類趨勢,以及有效分析是隔離 的分離得。5) FCM勺聚類算法是針對特征空間中的點集設計的,對于特殊類型的數據,比如在樣本每維特征的賦值不是一個數,而是一個區間。集合和 模糊數時,FC滋型的算法無法直接處理模糊C均值聚類算法存在上述缺點,改進的算法正確率能達到更高。Fcm算法在處理小數據集的時候是有效的,但隨著數據容量和維數的增加,迭代 步驟會顯著增加,而且在迭代的每一步都要對整個數據集進行操作,無法滿 足數據挖掘時的需要。改進算法的思想是首先采用隨機抽樣的辦法,從數據集中選取多個樣本,對每個樣本應用FCMT法,將得到的結果作為初始群體,然后再利用遺傳算 法對聚類結果進行優化,選取其中的
13、最優解做為問題的輸出,由于采樣技術 顯著的壓縮了問題的規模,而遺傳又可以對結果進行全局最優化處理,因此 在時間性能和聚類質量上都能獲得較滿意的結果。遺傳算法是美國Michigon大學的John Holland研究機器學習時創立的 一種新型的優化算法,它的主要優點是:遺傳算法是從一系列點的群體開始 搜索而不是從單個樣本點進行搜索,遺傳算法利用適應值的相關信息,無需 連續可導或其他輔助信息,遺傳算法利用轉移概率規則,而非確定性規則進 行迭代,遺傳算法搜索過程中,以對群體進行分化以實現并行運算,遺傳算 法經過遺傳變異和雜交算子的作用, 以保證算法以概率1收斂到全局最優解 一具有較好的全局特性,其次遺
14、傳算法占用計算機的內存小,尤其適用計算 復雜的非線性問題。遺傳算法的設計部分(1)種群中個體的確定聚類的關鍵問題是聚類中心的確定,因此可以選取聚類中心作為種群的個體,由于共有C個聚類中心,而每個聚類中心是一個 S維的實數 向量,因此每個個體的初始值是一個 c*s維的市屬向量。(2)編碼常用的編碼方式有二進制與實數編碼,由于二進制編碼的方式搜索 能力最強,且交叉變異操作簡單高效,因此采用二進制的編碼方式,同 時防止在進行交叉操作時對優良個體造成較大的破壞,在二進制編碼的 方式中采用格雷碼的編碼形式。每個染色體含c*s個基因鏈,每個基因鏈代表一維的數據,由于原 始數據中各個屬性的取值可能相差很大,
15、因此需首先對數據進行交換以 統一基因鏈的長度,可以有以下兩種變換方式。1掃描整個數據集,確定每維數據的取值范圍,然后將其變換到同 一量級,在保留一定有效位的基礎上取整,根據有效位的個數動態的計 算出基因鏈的長度。2對數據進行正規化處理,即將各維數據都變換到相同的區間,可 以算出此時的基因鏈長度為10。(3)適應度函數由于在算法中只使用了聚類中心 V,而未使用慮屬矩陣u,因此需要 對FCM聚類算法的目標函數進行改進,以適用算法的要求, 八(尸)=刈士目KIM J和目標函數是等價的,由于遺傳算法的適用度一般取值極大,因此可取上式的倒數作為算法的使用度函數。(4)初始種群的確定初始種群的一般個體由通
16、過采樣后運行 FCM算法得到的結果給出, 另外的一般個體通過隨機指定的方法給出,這樣既保證了遺傳算法在運 算之初就利用背景知識對初始群體的個體進行了優化,使算法能在一個 較好的基礎上進行,又使得個體不至于過分集中在某一取值空間,保證 了種群的多樣性。(5)遺傳操作選擇操作采用保持最優的錦標賽法, 錦標賽規模為2,即每次隨機取 2個個體,比較其適應度,較大的作為父個體,并保留每代的最優個體 作為下一代,交叉方式一般采用單點交叉或多點交叉法進行,經過試驗 表明單點交叉效果較好,因此采用單點交叉法,同時在交叉操作中,應 該對每維數據分開進行,以保證較大的搜索空間和結果的有效性,變異 操作采用基本位變
17、異法。(6)終止條件的確定遺傳算法在以下二種情況下終止a最佳個體保持不變的代數達到設定的閾值b遺傳操作以到達給定的最大世代數算法具體步驟如下1確定參數,如聚類個數樣本集大小種群規模最大世代數交叉概率 和變異概率等。2對數據集進行多次采樣并運行 FCMB法,得到初始種群的一般個體, 通過隨機制定產生另一半個體。3對數據集進行正規化處理并編碼。4計算初始種群中個體的適應度。5對種群進行遺傳操作產生下一代,在操作的過程中,應該排除產生的 無效個體。6計算個體的適應度,如果滿足終止條件,則算法結束,否則轉到5繼續在理論上講進行遺傳操作的樣本容量越大,聚類的誤差越小,由 于采樣技術顯著壓縮了問題規模,而
18、遺傳算法又可以對全局進行最優化 處理,因此改進的算法在時間與性能上都能獲得較滿意的結果,此算法 利用采樣技術來提高算法的運行速度,利用遺傳算法對聚類進行優化, 避免陷入局部最優解,在性能上相比于傳統的模糊 C均值聚類算法獲得 較大提高。算法實現米用VC+進行編寫文檔的讀取#include "data.h"/函數定義double *DataRead(char*name,int row,int col)double *p=new double* row;ifstream infile;infile.open(name,ios:in);for(int i=0;i<row;i
19、+)pi=new doublecol;for(int j=0;j<col;j+)(infile>>pij;infile.close();cout<<"成功讀取數據文件:"<<name<<"!n"return p;/釋放內存for(i=0;i<row;i+)(deletepi;deletep;文檔的保存#include "data.h"void DataSave(double*data,int row,int col,char*name) (int i,j;ofstream o
20、utfile;/打開文件,輸出數據outfile.open(name,ios:out);outfile.setf(ios:fixed);outfile.precision(4);for(i=0;i<row;i+)(for(j=0;j<col;j+)(outfile<<dataij<<" "outfile<<endl;outfile<<endl<<endl;outfile.close();數據標準化處理#include "data.h" double *Standardize(doub
21、le *data,int row,int col) (矩陣每列的最大值 矩陣每列的最小值 矩陣列元素int i,j;double* a=new doublecol; /double* b=new doublecol; /double* c=new doublerow; /for(i=0;i<col;i+)(/取出數據矩陣的各列元素 for(j=0;j<row;j+)(cj=Dataji;)ai=c0,bi=c0;for(j=0;j<row;j+)(/取出該列的最大值 if(cj>ai)(ai=cj;)/取出該列的最小值 if(cj<bi)(bi=cj;)/數據標準
22、化for(i=0;i<row;i+)(for(j=0;j<col;j+)(dataij=(dataij-bj)/(aj-bj);) )cout<<"完成數據極差標準化處理!n"deletea;deleteb;deletec;return data;)生成樣本慮屬矩陣#include "data.h"void Initialize(double *u, int k, int row) (int i,j;/初始化樣本隸屬度矩陣srand(time(0);for(i=0;i<k;i+) (for(j=0;j<row;j+)(
23、uij=(double)rand()/RAND_MAX;/得到一個小于 1 的小數隸屬度/rand() 函數返回0和RAND_MAX間的一個偽隨機數 )數據歸一化處理#include "data.h"void Normalize(double *u,int k,int col) (int i,j;double *sum=new doublecol;/矩陣U的各列元素之和for(j=0;j<col;j+)(double dj=0;for(i=0;i<k;i+)dj=dj+Uij;sumj=dj;/隸屬度各列之和)for(i=0;i<k;i+)(for(j=0
24、;j<col;j+)(uij=Uij/sumj;)/規一兒處理(每列隸屬度之和為1)迭代過程#include "data.h"#include "func.h"/ 對模糊C均值進行迭代運算,并返回有效性評價函數的值 double Update(double*u,double*data,double*center,introw,int col,int k)(int i,j,t;double *p=NULL;for(i=0;i<k;i+) ( for(j=0;j<row;j+) ( 模糊指數取2 uij=pow(uij,2); )根據隸屬度
25、矩陣計算聚類中心p=MatrixMul(u,k,row,data,row,col);for(i=0;i<k;i+) (/計算隸屬度矩陣每行之和double si=0;for(j=0;j<row;j+) (si+=uij;for(t=0;t<col;t+)(centerit=pit/si; /類中心)j的距離矩陣dis(i,j)第一個樣本點第二個樣本點中心與樣本之間距離矩陣/計算各個聚類中心i分別到所有點 double* a=new doublecol;/double* b=new doublecol;/double*dis=new double*k; /for(i=0;i&l
26、t;k;i+)(disi=new doublerow;)for(i=0; i<k; i+)(/聚類中心for(t=0; t<col; t+)(at=centerit; /暫存類中心)/數據樣本for(j=0; j<row; j+)(for(t=0; t<col; t+)( bt=datajt;/暫存一樣本)double d=0;/中心與樣本之間距離的計算for(t=0; t<col; t+)(d+=(at-bt)*(at-bt); /d為一中心與所有樣本的距離的平方和)disij=sqrt(d);/ 距離)根據距離矩陣計算隸屬度矩陣for(i=0;i<k;i
27、+)(for(j=0;j<row;j+)(double temp=0;for(t=0;t<k;t+)(/disij依次除以所在列的各元素,加和;一個類中心和模糊指數為2.0temp+=pow(disij/distj,2/(2.0-1);/一個元素的距離平方與)uij=1/temp;/所有類與該元素距離平方的和的商)/計算聚類有效性評價函數double func1=0;for(i=0;i<k;i+)(double func2=0;for(j=0;j<row;j+)(func2+=pow(uij,2.0)*pow(disij,2);)func1+=func2;)double
28、 obj_fcn=1/(1+func1);return obj_fcn;/內存釋放 deletea;deleteb;for(i=0;i<k;i+)(deletedisi;deletedis;詳細過程#include "data.h"#include "func.h"#include "max.h"/全局變量定義double *Data;/double *Center;/double *U;/int m;/int n;/int k;/數數據矩陣 聚類中心矩陣 樣本隸屬度矩陣樣本總數樣本屬性數設定的劃分類別int main()(in
29、t Lab;int num;/數據文件標號算法運行次數/ cout<<"模糊C均值聚類算法:"<<endl;3-ASD_12_2.txt;cout<<"1-iris.txt;2-wine.txt;4-ASD_14_2.txt"<<endl;cout<<"請選擇數據集:Lab二";cin>>Lab;cout<<"設定運行次數:mum="; cin>>num;/各次運行結束后的目標函數double* Index=new do
30、ublenum;/各次運行結束后的聚類正確率double* R=new double num;/num次運行的平均目標函數及平均正確率double M_Index=0;double M_R=0;/FCM聚類算法運行num次,并保存記錄與結果for(int i=0;i<num;i+)int j;double epsilon=1e-4;int e=0;int nx=0;/記錄連續無改進次數int E200=0;if(i>0)cout<<endl<<endl;cout<<setfill('#')<<setw(10)<&
31、lt;endl;cout<<"第"<<i+1<<"次運行記錄:"<<endl;/讀取數據文件if(Lab=1)m=150;n=4;k=3;Data=DataRead("datasetiris.txt",m,n);else if(Lab=2)m=178; n=13;k=3;Data=DataRead("datasetwine.txt",m,n);)else if(Lab=3)(m=535;n=2;k=12;Data=DataRead("datasetASD_1
32、2_2.txt",m,n);)一 一else if(Lab=4)(m=685;n=2;k=14;Data=DataRead("datasetASD_14_2.txt",m,n);)一 一/數據極差標準化處理Data=Standardize(Data,m,n);/聚類中心及隸屬度矩陣,內存分配Center=new double*k;U=new double *k;for(j=0;j<k;j+)(Centerj=new doublen;Uj=new doublem;)/隸屬度矩陣的初始化Initialize(U, k, m);/對隸屬度矩陣進行歸一化Normal
33、ize(U,k,m);/歷次迭代過程中的目標函數 double Objfcn100=0;cout<<"第"<<i+1<<"次運行記錄:"<<endl;cout<<"開始迭代過程!"<<endl;cout<<"I*”<<endl;/輸出精度為小數點后5位 cout.precision(5);/固定格式cout.setf(ios:fixed);/目標函數連續20代無改進,停止該次聚類迭代過程while(e<20)nx+;/聚類迭
34、代過程Objfcnnx=Update(U,Data,Center,m,n,k);/統計目標函數連續無改進次數 eif(nx>0 && Objfcnnx-Objfcnnx-1<epsilon )e+;elsee=0;Enx=e;/輸出結果到文件,保存ofstream outfile("運行記錄.txt",ios:app);outfile<<" 第"<<i+1<<"次運行記錄:"<<endl;outfile<<"開始迭代過程!"&l
35、t;<endl;outfile<<”*”<<endl;outfile.precision(5);outfile.setf(ios:fixed);for(int n1=1;n1<=nx;n1+)(cout<<"e"<<setw(2)<<n1<<"="<<setw(2)<<En1<<" Objfcn”<<setw(2)<<n1<<"="<<Objfcnn1<
36、<" n"/保存數據文件outfile<<"e"<<setw(2)<<n1<<"="<<setw(2)<<En1<<" Objfcn"<<setw(2)<<n1<<"="<<Objfcnn1<<" n"cout<<endl;outfile<<endl;outfile.close();/本次運行的最大目標函
37、數 Indexi=Objfcnnx;/保存聚類正確率,輸出聚類結果: Ri=Result(Lab, U, k, m, i);/內存釋放 for(j=0;j<k;j+)(deleteCenterj; deleteUj;deleteCenter;deleteU;/double temp1=0, temp2=0;for(i=0;i<num;i+)(temp1+=Indexi;temp2+=Ri;/計算各次結果的統計平均M_Index=(double)temp1/num;M_R=(double)temp2/num;cout<<"/"<<endl;
38、cout<<num<<"次運行,平均聚類正確率:"<<100*M_R<<"%"<<endl;輸出精度為小數點后6位cout.precision(6);/固定格式cout.setf(ios:fixed);cout<<”平均目標函數:"<<M_Index<<endl;/統計結果文件保存ofstream resultfile("聚類結果.txt",ios二app);resulfile<<"/”<<end
39、l;resultfile<<num<<" 次運行,平均聚類正確率:"<<100*M_R<<"%"<<endl;輸出精度為小數點后6位resultfile.precision(6);/固定格式resultfile.setf(ios:fixed);resultfile<<"平均目標函數:"<<M_Index<<endl;return 0;采用著名的iris數據集對程序進行測試,運算次數輸入10次輸出笫10次運行的聚類結果:第陵樣本:000000
40、000000000000000000000000000000000000000 00 0 0 0正確樣本數:r(ght0=50錯誤樣本數:0聚類類別號:s*=0笫1類樣本:21211111111111111111111111121111111121111111111111正確樣本數:right。卜46錯誤樣本數二4聚類類別號二sx=1第2類樣本:212222122222212222212121221222222112221222122 2 2 2 2 正確樣本數:ight=38錯誤樣本數:12聚類類別號:$x=2聚類正確率:89.3333%IHHHHHHHHIHHHHHIUHnHHHUHIHHHHIHnHI1畋運行,平均聚類正確率:89.抬33%平均目標函藪:0.160435能對數組實現分類,但是分類正確率不是很理想,沒達到預期的90%Z上總結這次綜合實習,首先我學會了模糊C均值聚類算法,以前沒接觸過,也不知 道何為數據集,數據集是做啥用的,增加了自己的見解,其次增強了自我學習能 力,平時學習的學習都是老師已經安排好得內容,看啥知識都已經知道,只需要 安心的看就能學會,都是書本上的知識,沒有聯
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 民辦教育機構2025年合規運營與品牌建設教育資源共享效益評估報告
- 2025年環保產業園區產業集聚與區域綠色產業協同發展啟示研究報告
- 2025年工業互聯網平臺自然語言處理技術在智能文本生成式翻譯系統中的應用報告
- 2025年干細胞療法在阿爾茨海默病治療中的應用進展報告
- 2025年醫院電子病歷系統優化構建醫療大數據平臺報告
- 咨詢工程師基礎課件
- 2025年醫藥企業研發外包(CRO)模式下的臨床試驗數據管理系統的功能與性能報告
- 2025年儲能技術多元化在儲能系統成本控制中的應用報告
- 2025年醫藥流通供應鏈優化與成本控制技術革新報告
- 成人教育終身學習體系構建與平臺運營中的在線教育平臺用戶活躍度研究報告
- 病媒生物防治試題及答案
- 湖南省益陽市赫山區2023-2024學年三年級下學期語文期末教學質量檢測試卷(含答案)
- 全屋智能合同樣本
- 城市居住區規劃設計規范
- 基于UHPC的蝶形腹板混凝土拱橋創新設計研究
- 口腔科針刺傷處理流程
- 互聯網居家護理服務匯報
- 臨時占地免責協議書
- 樹脂瓦施工方案
- 新疆維吾爾自治區2024年普通高校招生單列類(選考外語)本科二批次投檔情況 (理工)
- 中國冰雪運動產業趨勢洞察:雪破新局冰啟華章
評論
0/150
提交評論