段春穩 ,任強勝 ,卜獻鴻 ,李 帆 ,黎 鋼 ,王建平
(1.四川省絲綢科學研究院有限公司,四川 成都 610031;2.四川省絲綢工程技術研究中心,四川 成都 610031;3.現代繭絲綢制造技術資源四川省科技資源共享服務平臺,四川 成都 610031)
制絲是將蠶繭加工成生絲的過程,包括混剝選繭、煮繭、繅絲、復搖整理、生絲檢測等工序。煮繭是制絲生產的重要環節,煮繭質量直接影響到生絲質量、原料繭消耗、產量完成水平[1]。煮繭需要根據蠶繭原料特性,結合專業知識和煮繭經驗來確定煮繭工藝,但由于蠶繭原料特性包含指標較多,專業技術人員水平及經驗局限,煮繭工藝設計往往不能充分發揮蠶繭原料特性,并且在“試煮”過程中造成了大量原料浪費。
隨著信息技術的發展,制絲行業生產過程中形成了大量繁雜的數據,包括繭質調查數據、煮繭生產數據、繅絲生產數據等,這些數據都是用于指導生產的重要技術指標,但由于數據的多樣性、動態性、復雜性,以及目前制絲行業的技術局限,這些數據對煮繭工藝并未形成實質性的關聯和指導。
介紹一種基于K-means聚類分析方法[2],對制絲行業形成的生產數據進行分析,為煮繭工藝參數設計提供指向性設計方案。
煮繭的目的是通過水、蒸汽等介質對蠶繭的作用,使干膠變成明膠[3-4],降低繭絲的膠著力,使繭絲能夠依次離解,為繅絲創造條件。煮繭工藝的設計過程是根據蠶繭指標初步確定煮繭工藝,包括滲透、吐水、蒸煮、調整、保護過程的溫度及時間。煮繭工藝設計方案目前參考解舒率、繭層率、蠶繭干燥程度、凈度(環纇、纇結)等指標進行設置。不同原料的煮繭方法按解舒好、繭層厚的煮繭方法;解舒好、繭層薄的煮繭方法;解舒不良、繭層厚的煮繭方法;解舒不良、繭層薄的煮繭方法;干燥程度不同的煮繭方法;潔凈差的煮繭方法[5]進行。煮繭結果按偏生、偏熟、適度、白斑、癟繭、浮繭等狀態來區分。目前煮繭工藝以蠶繭指標大概范圍,來指導大概的參數區間,以經驗判斷為主。這種方法獲得的煮繭工藝參數是一種隨機、模糊的估算結果,其中反復調整和人為因素等不確定性導致了生產的不穩定和大量浪費且效率低下。
隨著信息技術在繅絲行業的應用,在制絲大生產過程中,采集、存儲了大量的繭質數據、工藝數據,這些數據若能有效用于煮繭工藝設計,能提高生絲的產量和質量,降低繭耗。
制絲過程中形成了大量的繭質調查數據、煮繭生產數據、繅絲生產數據,這些數據既有關聯,又有交叉,還有差異,其類型、形態、來源具有多樣性。例如繭源特性一項,涉及的指標就非常多,包括蠶繭原料的基礎數據和測試數據兩部分,其中原料基礎數據包含品種、季別、產地、飼養方式、繭型大小、繭層厚薄等指標;測試數據包含繭絲長、解舒率、繭層率、解舒絲長、單絲纖度、清潔、潔凈、萬米吊糙等指標。
制絲生產數據時效性、動態性較強,但由于技術局限,制絲生產數據往往存在滯后性,對煮繭工藝不能起到一對一的指導作用,往往通過滯后的數據指導下一批蠶繭進行工藝設計,使得煮繭工藝設計較依賴經驗判斷。
制絲過程是一個復雜的系統。數據之間的關系呈現不確定性,數據間可能無法通過數學形式表示,數據關系較為復雜。
數據挖掘(Data Mining),又稱作數據庫知識發現(Knowledge Discovery from Database,KDD),是從數據中獲取價值的一個過程,可以形式化地表示為“數據+工具+方法+目標+行動=價值”[6]。數據挖掘分為有指導的數據挖掘和無指導的數據挖掘。有指導的數據挖掘是利用可用的數據建立一個模型,這個模型是一個特定屬性的描述;無指導的數據挖掘是在所有的屬性中尋找某種關系。其中,分類、估值和預測屬于有指導的數據挖掘;關聯規則和聚類屬于無指導的數據挖掘。
作為無指導的數據挖掘方法的一種,聚類分析是從無標記數據集中獲取信息和知識的重要手段,是數據挖掘、統計學、模式識別等領域的重要研究內容[7]。聚類分析算法可以作為一種強有力的能夠發現制絲數據之間內在關系的、隱含的信息和知識的工具。結合制絲生產數據特點,探索將聚類分析方法用于制絲數據分析,為煮繭工藝參數設計提供指向性設計方案,是實現煮繭數字化、智能化的有效途徑之一。
K-means(K 均值算法)一種經典的劃分方法,是目前應用較廣泛的聚類分析方法,K-means算法的步驟如下[8]:
(1)從數據集中隨機選出k個數據對象作為初始的聚類中心;
(2)將其他的數據對象按照某種聚類度量劃分最近的聚類中心,從而將數據集劃分為k個簇;
(3)計算每個簇中的數據對象的均值作為新的聚類中心;
(4)重新劃分數據對象,不斷重復這個過程,直到每個簇中數據對象不再變化為止。
其算法公式為:

3.2.1 架構設計
運用Python計算機編程語言實現聚類算法,具體通過Scikit-learn機器學習框架進行制絲數據分析,在實施方案中可以使用K-means++初始化方案,來解決K-means高度依賴于質心初始化和運算效率低的問題,并借助輪廓系數法提高聚類效率。
K-means聚類分析方法在制絲工藝數據分析中的模式探索:煮繭工藝設計目標最終體現在生絲品質和產量、繭耗上,選擇以潔凈成績為聚類核心,對潔凈成績優秀的繅絲工藝進行特征提取,通過構建解舒率、繭層率、蒸煮溫度等特征提取算法,測算出能夠體現最優煮繭工藝的數值結果。
選擇潔凈成績在94.5以上的制絲生產樣本數據50條進行特征提取。對解舒率、繭層率和蒸煮溫度3個特征值進行數據分析。通過pandas庫將數據導入Python,對數據進行清洗和處理,在Scikit-learn 框架下進行K-means聚類。
導入的樣本數據的散點圖如圖1所示。

圖1 樣本數據散點圖
從數據集的散點圖不能直觀地看出他們之間的規律,將通過聚類分析來探究數據之間的關系。
3.2.2 K-means算法實現
隨機選擇k值,以k=4為例,對數據進行針對解舒率、繭層率、蒸煮溫度值的三維聚類代碼及聚類結果,如圖2所示。

圖2 三維聚類代碼及聚類結果
由聚類結果可以看出:上述所列50個樣本分別按要求劃分為4簇,所屬的聚類標簽如圖2所示,即第一個樣本屬于第1簇,第二個樣本屬于第0簇,第三個樣本屬于第3簇,以此類推。
3.2.3 基于輪廓系數的聚類簇數確定
上述過程得到的聚類結果,我們不能判定其聚類效果,需要多次運行K-means算法來確定聚類的簇數k,聚類效率低。輪廓系數法結合內聚度和分離度2種因素,可以對相同原始數據上的不同聚類結果進行評價[9]。因此,我們利用輪廓系數來確定聚類簇數:若s(i)的類內內聚度為a(i),類間分離度為b(i),則s(i)的輪廓系數為:

輪廓系數s(i)在-1和1之間變化,s(i)的值越接近1聚類效果越好。根據公式(2),對聚類結果進行輪廓系數計算,其代碼及運算結果如圖3所示。

圖3 聚類結果輪廓系數代碼及運算結果
k=4時的輪廓系數為0.429 126 416 366 412 5。之后,分別計算k=2~(n-1)的聚類結果的輪廓系數,其代碼和結果如圖4所示。

圖4 聚類代碼及結果(k=2)
從結果可以看出當k=2 時輪廓系數最大,為0.541 113 154 676 445 6,聚類效果最好。因此,對數據集進行k=2的聚類,其聚類代碼及結果如圖5所示。

圖5 聚類代碼及結果(k=2)
通過聚類算法,將50個樣本數據分成了聚類標簽為0和1的2類。
3.2.4 聚類結果有效性評價
在得出聚類結果后,需要對每一類對象進行描述分析,分析這一類對象最典型的共性是什么,從而理解為什么這些對象會被分到一類中,解讀這些數據的相似性。這一步需要憑借技術和經驗進行人為解讀。
為了便于對聚類結果進行解讀,通過可視化軟件對上述聚類結果進行可視化呈現,如圖6所示。

圖6 樣本聚類結果散點圖
從圖6可以看出聚類結果將數據樣本聚為邊界清晰的2類。通過對聚類結果的解讀,其聚類所得的2個簇,回到數據表本身進行分析,可以得出解舒率、繭層率、煮繭溫度之間的對應關系大致區間范圍,見表1。

表1 解舒率、繭層率及煮繭層對應關系
這一結果是通過數據分析得來的,與實際生產經驗所得以及教科書指向意見一致。證明了采用聚類分析對制絲數據進行分析,用于指導煮繭工藝設計的可行性。由于50個樣本數據代表性存在一定的局限,下一步將采用更多的樣本數據做進一步分析。
K-means聚類分析方法在對制絲過程中形成的大量數據進行聚類分析,能夠挖掘出數據價值,提取出來的特征數據及其聚類結果對煮繭工藝設計具有一定的指向性。