本發(fā)明涉及數(shù)控機(jī)床,尤其是涉及一種基于xgboost算法的數(shù)控機(jī)床熱誤差預(yù)測(cè)方法。
背景技術(shù):
1、數(shù)控機(jī)床在現(xiàn)代制造業(yè)中扮演著至關(guān)重要的角色,通過精確控制工具的位置和運(yùn)動(dòng)軌跡來實(shí)現(xiàn)各種復(fù)雜的加工任務(wù)。然而數(shù)控機(jī)床的工作性能容易受到溫度變化的影響,尤其是熱誤差的存在,更可能導(dǎo)致工件的加工精度下降,制造成本上升,甚至可能導(dǎo)致加工失敗。
2、針對(duì)熱誤差的研究一直是制造業(yè)的一個(gè)重要領(lǐng)域。最早的解決方案是采用物理方法,通過使用冷卻液或者巧妙的設(shè)計(jì)機(jī)床結(jié)構(gòu)來抵消熱誤差的影響,這種方法往往較為昂貴或者實(shí)現(xiàn)復(fù)雜。之后出現(xiàn)了利用數(shù)學(xué)或物理建模的方法,設(shè)計(jì)者通過構(gòu)建數(shù)學(xué)公式來計(jì)算熱誤差,這種方法需要建模者對(duì)機(jī)床知識(shí)和數(shù)學(xué)方法都要了解,且構(gòu)建數(shù)學(xué)模型的過程往往很復(fù)雜。
3、近些年,隨著計(jì)算機(jī)算力的不斷提高,機(jī)器學(xué)習(xí)和數(shù)據(jù)科學(xué)領(lǐng)域飛速發(fā)展,以數(shù)據(jù)驅(qū)動(dòng)的機(jī)器學(xué)習(xí)算法來自動(dòng)從數(shù)據(jù)中學(xué)習(xí)影響因素與熱誤差的聯(lián)系,從而準(zhǔn)確的預(yù)測(cè)出熱誤差,是一種具有吸引力的方案。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明為克服上述情況不足,旨在提供一種能解決上述問題的技術(shù)方案。
2、一種基于xgboost算法的數(shù)控機(jī)床熱誤差預(yù)測(cè)方法,包括以下步驟:
3、a、收集運(yùn)行時(shí)間、期望行程、進(jìn)給速度、主軸轉(zhuǎn)速等熱誤差影響因素,以及對(duì)應(yīng)情況下某個(gè)軸的熱誤差量,構(gòu)成相應(yīng)數(shù)據(jù)集;
4、b、對(duì)收集到的數(shù)據(jù)進(jìn)行清洗,包括缺失值、異常值的處理,并將處理后的數(shù)據(jù)歸一化,最后劃分訓(xùn)練集和測(cè)試集;
5、c、確定模型超參數(shù)取值情況;
6、d、使用網(wǎng)格搜索,在k折交叉驗(yàn)證下訓(xùn)練每組超參數(shù)構(gòu)建的xgboost模型;
7、e、選取表現(xiàn)最優(yōu)的超參數(shù)組合,并構(gòu)建最優(yōu)超參數(shù)的xgboost模型;
8、f、利用訓(xùn)練集訓(xùn)練xgboost模型,并在測(cè)試集下驗(yàn)證模型;
9、g、通過驗(yàn)證后,可將新的實(shí)時(shí)的熱誤差影響因素經(jīng)步驟b處理后送入模型,模型會(huì)計(jì)算出相應(yīng)情況下的熱誤差量。
10、作為本發(fā)明進(jìn)一步的方案:數(shù)據(jù)集的組成如下:
11、a、按照經(jīng)驗(yàn)選取與熱誤差相關(guān)的影響因素,例如:運(yùn)行時(shí)間、實(shí)際行程、進(jìn)給速度、主軸轉(zhuǎn)速等;
12、b、利用激光干涉儀測(cè)量相應(yīng)影響因素下機(jī)床在某一軸上的熱誤差量。
13、作為本發(fā)明進(jìn)一步的方案:數(shù)據(jù)清洗過程,其步驟為:
14、a、針對(duì)缺失值,若該組缺失值達(dá)到30%以上,則刪除該組數(shù)據(jù);若缺失值較少,則可選擇不處理;
15、b、針對(duì)異常數(shù)據(jù),刪除該值所在的整組數(shù)據(jù);
16、c、對(duì)處理完成的除熱誤差量外的數(shù)據(jù)進(jìn)行歸一化,并按7:3劃分訓(xùn)練集和測(cè)試集。
17、作為本發(fā)明進(jìn)一步的方案:所述的確認(rèn)超參數(shù)取值,是針對(duì)xgboost幾個(gè)較為重要的參數(shù),為每個(gè)參數(shù)確定幾個(gè)可能的取值情況。
18、作為本發(fā)明進(jìn)一步的方案:所述的k折交叉驗(yàn)證方法,其步驟為:
19、a、將訓(xùn)練集均勻劃分為k份數(shù)據(jù)集合;
20、b、循環(huán)k次,每次選取一份作為測(cè)試集,其余k-1份作為訓(xùn)練集訓(xùn)練模型。
21、作為本發(fā)明進(jìn)一步的方案:所述的選取表現(xiàn)最優(yōu)超參數(shù)組合,評(píng)判標(biāo)準(zhǔn)選取均方根誤差,最終取均方根誤差最小的超參數(shù)組合為最優(yōu)超參數(shù)組合。
22、作為本發(fā)明進(jìn)一步的方案:構(gòu)建的xgboost模型同時(shí)使用l1正則化和l2正則化對(duì)參數(shù)進(jìn)行更新。
23、作為本發(fā)明進(jìn)一步的方案:所選取的歸一化方法為最小值最大值歸一化,其公式為:
24、
25、其中min和max分別為該樣本數(shù)據(jù)中的最小值和最大值。
26、作為本發(fā)明進(jìn)一步的方案:所述均方根誤差,其公式為:
27、
28、其中m為測(cè)試樣本總數(shù)量,為第i組數(shù)據(jù)對(duì)應(yīng)的真是熱誤差量,為模型針對(duì)第i組數(shù)據(jù)預(yù)測(cè)的熱誤差量。
29、作為本發(fā)明進(jìn)一步的方案:所述l1正則化,其公式為:
30、
31、其中λ為l1正則化懲罰系數(shù),∑|w|表示向量w各個(gè)元素絕對(duì)值之和。
32、所述l2正則化,其公式為:
33、
34、其中λ為l2正則化懲罰系數(shù),∑|w|2表示向量w各個(gè)元素絕對(duì)值平方之和。
35、與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:
36、1、本發(fā)明構(gòu)建了一個(gè)預(yù)測(cè)模型,以數(shù)據(jù)為驅(qū)動(dòng),能夠自動(dòng)學(xué)習(xí)熱誤差影響因素與熱誤差量的聯(lián)系,進(jìn)而預(yù)測(cè)機(jī)床在某一軸上的熱誤差量。這降低了熱誤差對(duì)機(jī)床的影響,同時(shí)提高了機(jī)床的加工精度。
37、2、本發(fā)明提出了一種基于計(jì)算機(jī)的熱誤差解決方案,摒棄了傳統(tǒng)的采用冷卻液等物理方法,使用時(shí)僅需一臺(tái)計(jì)算機(jī)。相對(duì)傳統(tǒng)方案,本方法在長(zhǎng)期使用下更加節(jié)省成本。
38、3、本發(fā)明具有很強(qiáng)的靈活性,該方法可以適用于不同的熱誤差影響因素以及在不同軸上的熱誤差。只需提供相應(yīng)的數(shù)據(jù)集,模型即可自適應(yīng)不同的情況。
39、4、本發(fā)明可以有效地處理缺失值。模型在在訓(xùn)練中會(huì)自動(dòng)處理缺失值,并在預(yù)測(cè)時(shí)使用相對(duì)的策略來填充缺失值。
40、本發(fā)明的附加方面和優(yōu)點(diǎn)將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本發(fā)明的實(shí)踐了解到。
1.一種基于xgboost算法的數(shù)控機(jī)床熱誤差預(yù)測(cè)方法,其特征在于,包括以下步驟:
2.根據(jù)權(quán)利要求1所述的基于xgboost算法的數(shù)控機(jī)床熱誤差預(yù)測(cè)方法,其特征在于:數(shù)據(jù)集的組成如下:
3.根據(jù)權(quán)利要求1所述的基于xgboost算法的數(shù)控機(jī)床熱誤差預(yù)測(cè)方法,其特征在于:數(shù)據(jù)清洗過程,其步驟為:
4.根據(jù)權(quán)利要求1所述的基于xgboost算法的數(shù)控機(jī)床熱誤差預(yù)測(cè)方法,其特征在于:所述的確認(rèn)超參數(shù)取值,是針對(duì)xgboost幾個(gè)較為重要的參數(shù),為每個(gè)參數(shù)確定幾個(gè)可能的取值情況。
5.根據(jù)權(quán)利要求1所述的基于xgboost算法的數(shù)控機(jī)床熱誤差預(yù)測(cè)方法,其特征在于:所述的k折交叉驗(yàn)證方法,其步驟為:
6.根據(jù)權(quán)利要求1所述的基于xgboost算法的數(shù)控機(jī)床熱誤差預(yù)測(cè)方法,其特征在于:所述的選取表現(xiàn)最優(yōu)超參數(shù)組合,評(píng)判標(biāo)準(zhǔn)選取均方根誤差,最終取均方根誤差最小的超參數(shù)組合為最優(yōu)超參數(shù)組合。
7.根據(jù)權(quán)利要求1所述的基于xgboost算法的數(shù)控機(jī)床熱誤差預(yù)測(cè)方法,其特征在于:構(gòu)建的xgboost模型同時(shí)使用l1正則化和l2正則化對(duì)參數(shù)進(jìn)行更新。
8.根據(jù)權(quán)利要求3所述的基于xgboost算法的數(shù)控機(jī)床熱誤差預(yù)測(cè)方法,其特征在于:所選取的歸一化方法為最小值最大值歸一化,其公式為:
9.根據(jù)權(quán)利要求6所述的基于xgboost算法的數(shù)控機(jī)床熱誤差預(yù)測(cè)方法,其特征在于:所述均方根誤差,其公式為:
10.根據(jù)權(quán)利要求7所述的基于xgboost算法的數(shù)控機(jī)床熱誤差預(yù)測(cè)方法,其特征在于:所述l1正則化,其公式為: