導航:首頁 > 源碼編譯 > 檢測邊緣演算法最小二乘擬合

檢測邊緣演算法最小二乘擬合

發布時間:2022-12-31 00:57:53

1. 什麼是最小二乘擬合,方法和具體步驟

所謂擬合是指已知某函數的若干離散函數值{f1,f2,…,fn},通過調整該函數中若干待定系數f(λ1, λ2,…,λn), 使得該函數與已知點集的差別最小。 國外大學有門學科叫數值分析。國內為研究生的課程。擬合的方法除了最小二乘法外,還有拉格朗日插值法、牛頓插值法、牛頓迭代法、區間二分法、弦截法、雅克比迭代法和牛頓科特斯數值積分發等方法。以前曾用C語言把這些擬合方法寫成。但是現在沒有裝VC平台,所以用不了。需要的話請聯系本人。

2. 什麼是最小二乘擬合,方法和具體步驟

定義:(xi)2為最小,按ni=1這樣的標準定義的擬合函數稱為最小二乘擬合,是離散情形下的最佳平方逼近.對給定數據點{(Xi,Yi)}(i=0,1,…,m),在取定的函數類Φ 中,求p(x)∈Φ ,使誤差的平方和E^2最小,E^2=∑[p(Xi)-Yi]^2。從幾何意義上講,就是尋求與給定點 {(Xi,Yi)}(i=0,1,…,m)的距離平方和為最小的曲線y=p(x)。函數p(x)稱為擬合函數或最小二乘解,求擬合函數p(x)的方法稱為曲線擬合的最小二乘法。

3. 用最小二乘法來擬合數據

標簽(空格分隔): 機器學習

最小二乘法是一種常用的數學優化技術。它通過最小化誤差的平方和來求取目標函數的最優值,以解決線性回歸問題。這是網路給出的解釋,那麼這個擬合的數據從字面上理解,其實就是預測結果。我們可以將它應用到各行各業,比如銷售數據、工廠生產量、比賽結果、地面區域面積估算等預測,總能找到數據之間映射關系。

向量x = [1.1,1.9,3.1,3.9] , 向量y = [0.1,0.2,0.3,0.4]

其中 .* 是點乘操作,向量x與向量y的點乘

向量的點乘,也叫向量的內積、數量積,對兩個向量執行點乘運算,就是對這兩個向量對應位一一相乘之後求和的操作,點乘的結果是一個標量。

線性回歸參數

目標函數

真實數據與實驗數據的比較

數據量比較小的情況下,擬合出來的目標函數還不夠准確,可以看到真實y與擬合y之間的數據是存在微小的誤差。如果歷史數據足夠多,那麼擬合出來的目標函數是比較穩定的。
最小二乘法適合求解單變數線性回歸問題,如果存在多個變數(特徵)時,就不能使用最小二乘法來解決回歸參數的問題,需要藉助梯度下降和正規方程等方法。
由於時間緊迫,本文的演算法和實驗並不完美,還有很多值得改進的地方。

4. 最小二乘擬合裂縫檢測法

在3D3C地震資料中,T分量振幅值與方位角、裂縫走向之間存在如下關系:

三維三分量地震勘探

式中:AT為T分量振幅;c=0.5(S2-S1),S1、S2分別為快、慢橫波;α為方位角;β為裂縫走向;N為方位角的個數。

圖6.2.12 方位振幅比(左)及四川盆地新場地區目標儲層段裂縫發育密度與走向(右)

5. 怎麼用Python將圖像邊界用最小二乘法擬合成曲線

本文實例講述了Python基於最小二乘法實現曲線擬合。分享給大家供大家參考,具體如下:

這里不手動實現最小二乘,調用scipy庫中實現好的相關優化函數。

考慮如下的含有4個參數的函數式:

希望本文所述對大家Python程序設計有所幫助。

6. Python最小二乘法擬合與作圖

在函數擬合中,如果用p表示函數中需要確定的參數,那麼目標就是找到一組p,使得下面函數S的值最小:

這種演算法稱為最小二乘法擬合。Python的Scipy數值計算庫中的optimize模塊提供了 leastsq() 函數,可以對數據進行最小二乘擬合計算。

此處利用該函數對一段弧線使用圓方程進行了擬合,並通過Matplotlib模塊進行了作圖,程序內容如下:

Python的使用中需要導入相應的模塊,此處首先用 import 語句

分別導入了numpy, leastsq與pylab模塊,其中numpy模塊常用用與數組類型的建立,讀入等過程。leastsq則為最小二乘法擬合函數。pylab是繪圖模塊。

接下來我們需要讀入需要進行擬合的數據,這里使用了 numpy.loadtxt() 函數:

其參數有:

進行擬合時,首先我們需要定義一個目標函數。對於圓的方程,我們需要圓心坐標(a,b)以及半徑r三個參數,方便起見用p來存儲:

緊接著就可以進行擬合了, leastsq() 函數需要至少提供擬合的函數名與參數的初始值:

返回的結果為一數組,分別為擬合得到的參數與其誤差值等,這里只取擬合參數值。

leastsq() 的參數具體有:

輸出選項有:

最後我們可以將原數據與擬合結果一同做成線狀圖,可採用 pylab.plot() 函數:

pylab.plot() 函數需提供兩列數組作為輸入,其他參數可調控線條顏色,形狀,粗細以及對應名稱等性質。視需求而定,此處不做詳解。

pylab.legend() 函數可以調控圖像標簽的位置,有無邊框等性質。

pylab.annotate() 函數設置注釋,需至少提供注釋內容與放置位置坐標的參數。

pylab.show() 函數用於顯示圖像。

最終結果如下圖所示:

用Python作科學計算

numpy.loadtxt

scipy.optimize.leastsq

閱讀全文

與檢測邊緣演算法最小二乘擬合相關的資料

熱點內容
租伺服器要看什麼 瀏覽:162
Lightroom文件夾移動以後 瀏覽:964
web前端pdf 瀏覽:896
程序員養雞創業 瀏覽:501
山西有什麼app 瀏覽:408
app怎麼樣購買內存 瀏覽:32
如何注冊sqlserver伺服器 瀏覽:78
上士命令 瀏覽:490
股市中帶星號的app是什麼 瀏覽:711
什麼路由可以刷機做列印機伺服器 瀏覽:9
電腦怎麼找到雲伺服器 瀏覽:873
微信怎麼發應用app 瀏覽:776
花生殼dns伺服器地址 瀏覽:650
squad伺服器一般什麼時候人多 瀏覽:481
程序員戰門課 瀏覽:476
config保存伺服器地址 瀏覽:319
預訂網吧座位的app叫什麼 瀏覽:418
香港伺服器主機地址 瀏覽:642
網店美工pdf 瀏覽:449
一堆文件夾怎麼弄出來 瀏覽:745