Python ML 最小二乘法

2021-08-15 02:37:50 字數 1756 閱讀 5351

3、python**參考:

# -*- coding: utf-8 -*-

'''created on 2023年1月27日

@author: jason.f

@summary: 最小二乘法least square method,分類回歸演算法的基礎,通過最小化誤差的平方和尋找資料的最佳函式匹配。

利用最小二乘法可以簡便地求得未知的資料,並使得這些求得的資料與實際資料之間誤差的平方和為最小。

最小二乘法還可用於曲線擬合。其他一些優化問題也可通過最小化能量或最大化熵用最小二乘法來表達。

'''

import numpy as np

import pylab as pl

from scipy.optimize import leastsq # 引入最小二乘函式

n = 9 # 多項式次數

# 目標函式

def real_func(x):

return np.sin(2 * np.pi * x)

# 多項式函式

def fit_func(p, x):

f = np.poly1d(p)

return f(x)

# 殘差函式

def residuals_func(p, y, x):

ret = fit_func(p, x) - y

return ret

x = np.linspace(0, 1, 9) # 隨機選擇9個點作為x

x_points = np.linspace(0, 1, 1000) # 畫圖時需要的連續點

y0 = real_func(x) # 目標函式

y1 = [np.random.normal(0, 0.1) + y for y in y0] # 新增正太分布雜訊後的函式

p_init = np.random.randn(n) # 隨機初始化多項式引數

plsq = leastsq(residuals_func, p_init, args=(y1, x))

print 'fitting parameters: ', plsq[0] # 輸出擬合引數

pl.plot(x_points, real_func(x_points), label='real')

pl.plot(x_points, fit_func(plsq[0], x_points), label='fitted curve')

pl.plot(x, y1, 'bo', label='with noise')

pl.legend()

pl.show()

結果:

最小二乘法

include stdafx.h include include const int n 2 const int m 5 int sgn double x void lss double g n 1 int xm,int xn,double x m double p,double w m lss函式...

最小二乘法

在研究兩個變數之間的關係時,可以用回歸分析的方法進行分析。當確定了描述兩個變數之間的回歸模型後,就可以使用最小二乘法估計模型中的引數,進而建立經驗方程.簡單地說,最小二乘的思想就是要使得觀測點和估計點的距離的平方和達到最小.這裡的 二乘 指的是用平方來度量觀測點與估計點的遠近 在古漢語中 平方 稱為...

最小二乘法

最小二乘法 least squares analysis 是一種 數學 優化 技術,它通過 最小化 誤差 的平方和找到一組資料的最佳 函式 匹配。最小二乘法是用最簡的方法求得一些絕對不可知的真值,而令誤差平方之和為最小。最小二乘法通常用於 曲線擬合 least squares fitting 這裡有...