1. 程式人生 > >最小二乘法的擬合原理

最小二乘法的擬合原理

一. 最小二乘法的擬合原理

根據《數學指南》書中的解釋:

圖2 《數學指南》中對最小二乘法的解釋

上面這段話,枯燥且無趣,大家不用厭惡,數學向來這個樣子。

現在,我們來慢慢認識上面這段話的意思,這句話的意思是說,擬合有兩個前提:

1. 要有N個不同的點(x1,x2...xN)的測量值(y1,y2,y3..yN) ,說得簡單一點,就是要用三座標在零件上採很多個不同位置的點,如(x1,y1);(x2,y2)...(xN,yN)。

2. 要有目標,就是我們要知道想把這些點擬合成什麼樣的特徵,即所謂的給定函式f(x,a1,a2,...an)。比如說,用三座標在零件上採了很多個點,我們想把它擬合成圓呢還是擬合成平面?這個我們是在擬合前必須要知道的。

我們繼續往下走,假設我們知道我們想把採的點擬合成一個平面,但是這個平面的在空間座標系中的位置,方向我們並不知道。也就是說要確定這個平面的在三維座標系中的具體方程,就必須要知道那個給定函式f(x, a1,a2,...an)中的引數a1, a2,...an!

好了,說了半天,我們最終目的就是為了求a1, a2,...an! 而求這些引數的過程就是那個神神叨叨的擬合!

當然了,擬合方法有很多種,只是擬合滿足的條件不同。其中有一種只要滿足下面的條件,

那麼這種擬合方法就是最小二乘法,也就是高斯法。

相信講到這裡,還是有很多小夥伴不太明白,我們再來舉個簡單的例子說明一下最小二乘法的擬合。

條件1:假設我們在一個平面上採了三個點,分別是u(10,10),v(40,42),w(20,45)

條件2:我們已知想把這三個點擬合成一條直線。這條直線的方程則是 y=ax+b

如果a,b的數值不一樣,那麼這個直線在空間中的方向和位置也不一樣。所以所謂的擬合過程就是求直線方程中的a和b的過程(a,b就是前面提到的引數a1,a2,a3..an)。a,b一旦得出,那麼這個直線也就得出來了。見圖3:

圖3 擬合數據和目標

如何確定a和b呢?根據下面的公式,條件是要求Y方向的差值的平方和最小.

 

即要求下列公式中的R最小。

關於r1, r2, r3見圖4.

圖4 高斯擬合原理

由圖4中不難得出:r1=10a+b-10 r2=20a+b-45 r3=40a+b-42,則有:

求解的過程就是求當R處於最小值時,對應a,b的值。如果真要手工計算這個過程,要用到高等數學中的求偏導,為了不讓大家噁心,在這裡就不再詳細敘述計算過程,把計算過程交給那些苦逼加牛逼的軟體工程師們吧。

經過一番計算,我們可以得出 a=1.4009 ;b=-0.3482

則我們可以知道經過所謂的最小二乘法擬合出來的直線是 y=1.401x-0.348. 見下圖:

圖5 軟體中用最小二乘法擬合直線

上面就是對最小二乘法擬合的過程給大家做了一個簡單的介紹。現實中所應用的擬合會比上面的例子複雜很多,但是現在軟體的演算法相對成熟,不管是擬合直線,平面,曲面等,軟體都可以快速算出來。具體的我們就不去深究了,但是我們需要知道最小二乘法的特點:

1. 最小二乘法擬合出來的特徵是理想的

2. 最小二乘法擬合出來的特徵是唯一的

3. 如果沒有附加特別的約束(即a1,a2,a3...an之間需要滿足某種關係),最小二乘法擬合出來的理想特徵,一定在擬合點之間(不是最中間)

4. 最小二乘法具備“民主性”,即傾向於大多數(切比雪夫法是絕對的“中間主義”)。如果和切比雪夫法做比較,下圖則可以體現出最小二乘法的所謂的“民主性”。

 

圖6 最小二乘法的“民主”性

 

二. 在標準裡邊哪裡必須要用到最小二乘法呢?

相比較ASME而言,ISO更加喜歡最小二乘法,下邊我們列出一些案例。

 

1. 最小二乘法應用在尺寸部分

1.1 尺寸要素的預設尺寸

ISO預設獨立原則,對尺寸要素的尺寸要求是”兩點尺寸”必須合格。如果被測的零件是根軸,要求直徑要合格,這時我們就要求兩點尺寸必須合格。

什麼是兩點尺寸呢?,我們對它的定義是“指的是在垂直於軸線的任意截面內,連線過圓心且在零件表面上的兩點間的距離”,這裡的“軸線”必須是最小二乘圓柱的軸線,“圓心”必須是最小二乘圓的圓心。見下圖:

 

圖7 圖紙和實際零件

已知圖紙要求和實際零件如圖7所示,如何嚴格按照標準來檢測該軸的直徑呢?分三步:

第一步,在實際零件表面採點擬合成最小而成圓柱,找出最小二乘圓柱軸線,見圖8:

圖8 擬合最小二乘圓柱

第二步,垂直於圖8中獲得的最小二乘圓柱的軸線,找出截面A-A(多個),見圖9:

 

 

圖9 找出截面A-A

第三步,在該截面上採點擬合稱最小二乘圓,找出該最小二乘圓的圓心。然後在該截面上任意取連線過該圓心的兩點,測出距離, 如下圖中的d1,d2,d3, 這就是兩點尺寸(區域性尺寸)。見圖10:

圖10 兩點尺寸(區域性尺寸)

只要圖10中的兩點距離滿足22±0.1,該軸的直徑就是合格的。

看完上面的三大步驟,相信經常在生產線上做檢測的小夥伴嘴裡馬上會蹦出兩個字,“蛋疼”!

而生產車間,檢測部門,為了檢測這根軸的直徑,常規的做法也是分三步來檢測:

第一步,拿起遊標卡尺

第二步,檢測

第三步,放下游標卡尺

事實上,在零件的形狀誤差不大的情況下,用常規的三大步和高逼格的三大步測量結果的差異並不大,是可以執行的。但並不意味著標準規定的測量方法是多餘,它是規定了一種嚴謹的,具體的,沒有爭議的一種操作方法,如果客戶和供應商發生爭執,必須依據標準規定的測量方法來仲裁。

順便提一下,海克斯康的2017版三座標軟體PC-DMIS裡邊已經有了測量區域性尺寸的功能,如圖11中的LP指的就是兩點尺寸即區域性尺寸(Local Point)。

 

圖11 區域性尺寸在PC-DMIS中

1.2 尺寸要素的尺寸加GG修飾符號

根據ISO14405-1,如果尺寸要素的尺寸加了GG修飾符號,這時要求實際零件的最小二乘圓柱的直徑必須滿足圖紙要求,見圖12:

圖12 GG要求在圖紙中

圖12要求,則要求該實際軸線的最小二乘圓柱直徑d必須滿足Φ22±0.1。另外, GG的測法在2017版的PC-DMIS裡也有,參考圖11.

 

2. 最小二乘法應用在幾何公差

2.1 預設的幾何公差控制

在ISO中,當幾何公差控制的物件是中心線的時候,預設都是提取中心線。已知零件圖和實際零件如下圖所示,要求測量直線度,這時直線度的約束物件則是這根軸的提取中心線,而這個提取中心線的獲得,也是要分三步才能獲得。見下圖:

圖13 圖紙要求和實際零件

第一步,在實際零件表面採點獲得最小二乘圓柱的軸線。見圖14

圖14 獲得最小二乘圓柱軸線

第二步,在垂直於該最小二乘圓柱軸線的平面內採點,擬合出最小二乘圓(平面圓),找出其圓心,見圖15

圖15 獲得最小二乘圓圓心

第三步,將所有獲取的每個截面的最小二乘圓的圓心連起來,就形成了一條彎彎曲曲的中心線,這個中心線叫提取中心線(或提取中心要素),在ISO中,當幾何公差約束中心要素時,所約束的物件就是這個玩意兒。只要這個提取中心線能夠處在直徑為Φ0.1的公差帶範圍內,該軸線的直線度就合格。

圖16 直線度的要求

2.2 加修飾符G圈的幾何公差控制

最新版的ISO1101:2017增加了很多修飾符號。儘管很煩,其最大的好處在於,設計工程師可以根據功能的需要任意定義需要控制的物件,能更加清晰的表明對零件的要求,使生產製造和質量檢測不會出現誤解。還有一個好處就是減少了ISO和ASME兩個標準之間的差異。

其中有一個符號就是G圈,一旦加了G圈,其幾何公差所約束的物件不再是提取中心線,而是最小二乘圓柱的軸線。見圖17:

圖17 圖紙要求和實際零件

圖17的垂直度增加了G圈的修飾符號,意味著被測物件不再是該孔的提取中心線,而是用該孔擬合出來的最小二乘圓柱的軸線,如圖17所示:

圖18 垂直度的要求

圖18中,只要用實際孔擬合出來的最小二乘圓柱的軸線落在0.2的圓柱形公差帶範圍內,該孔的垂直度就合格。需要注意的是,一旦加了G圈,該垂直度不再控制直線度,為了控制其直線度,還要額外增加直線度的要求。而在ISO預設的要求(沒有任何修飾符)中,該案例垂直度本來是可以控制直線度的。

最小二乘法的擬合,在幾何公差的測量裡還有其他地方會用到(如基準後邊加G),這裡不再一一敘述。