SCIPY TYNKSQ

SCIPY TYNKSQ
SCIPY to biblioteka Python z otwartym source, która podaje rozwiązania problemów matematycznych i naukowych. Opiera się na Numpy, rozszerzając funkcjonalność poprzez dostarczanie dodatkowych narzędzi do przetwarzania tablic i wyspecjalizowanej struktury danych.

Szeroki zakres poleceń wysokiego poziomu pozwala użytkownikowi wizualizować i przekształcić dane. Jednym z poleceń lub funkcji w bibliotece Scipy Optimization jest najmniejsko (). Funkcja najmniejsq () korzysta z metody minimalizacji najmniejszej kwadratu.

W tym artykule sprawimy, że dowiesz się o funkcji TOLLESSQ (); jego składnia, jak to działa, a my podamy kilka przydatnych przykładów, które pomogą ci zrozumieć, jak zaimplementować funkcję najmniej. Przejrzyj ten artykuł, jeśli jesteś nowy w koncepcji SCIPY PLEKSSQ i chcesz się o nim dowiedzieć.

Jaka jest składnia funkcji najmniejszych?

Funkcja najmniejsq () minimalizuje sumę kwadratu zestawu równań. Służy do rozwiązania nieliniowego problemu najmniejszego kwadratowego. Scipy.najmniejszytsq () ma następującą składnię:

# Scipy.optymalizować.najmniejsq (f, x, args = (), df = brak, Fulloutput = 0, zimny = 0, f-tol = 1.49012e-08, X-Tol = 1.49012e-08, g-tol = 0.0, max-fev = 0, eps-fcn = brak, fac = 100, dia = brak)

Parametry funkcji najmniejsq () są opisane w następujący sposób: parametr „f” jest możliwy do nazywania, przyjmuje argument „n” wektorowy i zwraca numer „m” zmiennoprzecinkowy. Ważne jest, aby „m> = n 'i nie powinien zwracać NAN.

Parametr „x” określa punkt początkowy dla minimalizacji. Parametr „args” jest wartością krotną używaną do umieszczenia dowolnego dodatkowego argumentu potrzebnego dla funkcji i jest parametrem opcjonalnym. „DF” to kolejny parametr, który można nazwać użyciem do obliczania Jakobian funkcji z pochodnymi na obrębie. Jest to również opcjonalny parametr.

„Fulloutput” jest parametrem opcjonalnym i zwraca wszystkie opcjonalne wyjścia. „Zimny” jest opcjonalnym parametrem bool określającym funkcję Jakobian, która oblicza pochodne w dół kolumn. „F-TOL” jest opcjonalnym parametrem zmiennoprzecinkowym używanym do przedstawienia względnego błędu pożądanego w sumie kwadratów.

„X-TOL” to kolejny opcjonalny parametr pływakowy używany do przedstawienia błędu względnego pożądanego w przybliżonym rozwiązaniu. „G-TOL” jest opcjonalnym parametrem używanym do prezentacji ortogonalności między kolumnami jakobian i wektorami funkcyjnymi w liczbie zmiennoprzecinkowej. „Max-FEV” określa maksymalną liczbę wywołanych funkcji; Jest to jednak opcjonalny parametr.

„EPS-FCN” określa pożądaną długość kroku dla odległości do przodu. „FAC”, opcjonalny parametr, określa początkowe powiązanie kroku, a wreszcie ostatni parametr opcjonalny „DIA” służy jako współczynnik skali dla zmiennych.

Below, we will be elaborating the usage of the leastsq() function with the help of simple and straightforward examples.

Przykład 1:

Zaczniemy od bardzo prostego i podstawowego przykładu, abyś nie był zdezorientowany na początku i przestać dalej czytać. Jest to prosty program, który pomoże ci zrozumieć funkcjonalność metody najmniej.

Zobaczmy poniższy kod. Należy zauważyć, że kod jest wykonywany we współpracy. Współpraca to tłumacz Python open source używany do wdrażania i realizacji programów Python. Jest to bezpłatne narzędzie i otwarcie dostępne w repozytorium Google. Możesz łatwo pobrać .Plik rozszerzenia PY po wdrożeniu i realizacji programu w notatniku kolabowym, a później w dowolnym innym interpreterie Python, takim jak Jupyter lub Spyder.

od Scipy.Zoptymalizuj import najmniejszy
def func_one (ABC):
Powrót 33*(ABC-2) ** 1+3
print (najmniejszy (func_one, 0))

Zobaczmy wyniki poniżej:

Przykład 2:

W tym przykładzie przedstawimy Jakobian funkcji błędu przy użyciu funkcji algopii, aby wyjaśnić użycie funkcji najmniejszej. Tutaj widać, że biblioteki są importowane najpierw, które są ważne dla wykonania kodu.

Następnie utworzyliśmy tablice NP wskazane jako „y_data” i „val”. Następnie zdefiniowaliśmy trzy funkcje i przekazaliśmy im wymagane wartości. I wreszcie szacunkowe wartości i całkowita liczba wywołanych przez funkcję są wyświetlane, jak widać w końcowych wierszach programu kodu.

importować Numpy jako NP
z Scipy Import Optimalize
import algopii jako ALG
y_data = np.tablica ([0.2387, 0.1214, -0.0321, 0.2456, 0.6453, 0.4578, 0.2214, 0.2814, 0.2774, 0.5671, 0.4454, 0.6743, 0.1109, 0.1543, 0.0203, 0.1286, 0, 0, 0])
val = np.tablica ([58., 78, 109, 118, 129, 141, 165, 176, 178, 265, 246, 265, 272, 288, 299, 301, 344, 356, 332])
Def Func (P, Val):
powrót p [0] + (p [1] -p [0]) * ((1/(1 + alg.exp (-p [2]*(val-p [3]))))) + (1/(1 + alg.exp (p [4]*(val -p [5])))) -1)
def error_func (p, val, y):
Return Func (p, val) -y
def JAC_ERROR_FUNC (P, VAL, Y):
AP = ALG.UTPM.init_jacobian (P)
powrót alg.UTPM.ekstrakt_jacobian (error_func (ap, val, y))
Zgadnij = NP.tablica ([0, Max (y_data), 0.1, 120, -0.1, 250])
P2, C, Info, Msg, Success = Optimalize.najmniejsq (error_func, zgadnij, args = (val, y_data), dfun = JAC_ERROR_FUNC, FULL_OUTPUT = 1)
Drukuj („Oszacowanie funkcji najmniejszych () to: ', p2, sukces)
drukuj („Całkowita liczba połączeń według funkcji to:”, Info ['nfev'])

Po uruchomieniu danego kodu możesz zobaczyć następujące dane wyjściowe.

Przykład 3:

Podstawowym zastosowaniem funkcji minimalizacji najmniejszej jest dopasowanie krzywej. Jest to punkt, w którym stosuje się parametryzowaną technikę modelu do dostosowania wartości numerycznych.

W poniższym przykładzie pokażemy, jak modelować krzywą dopasowania danych i sprawdzić różnice w dopasowaniu. Używamy dwóch równań do zdefiniowania dwóch rodzajów funkcji, aby dopasować. Równania można zmienić, więc jeśli chcesz użyć swoich równań, po prostu zastąp podane równanie na swoje równania i możesz iść.

W ten sposób możesz lepiej zrozumieć i obserwować odpowiednią różnicę. Zobacz podany kod poniżej:

od Scipy.Zoptymalizuj import najmniejszy
importować matplotlib.Pyplot jako MTB
jeden = tablica ([6, 8, 11, 4, 2, 3, 6, 8, 5, 7,8, 11, 14])
dwa = tablica (zakres (len (jeden)))
def func_one (param, jeden, dwa):
ABC, XYZ, ABZ = param [0], param [1], Aram [2]
wyjście = dwa-lab • jeden •• 2+XYZ • One+Abzi
zwrot
def func_two (param, jeden, dwa):
ABC, XYZ, ABZ = param [0], param [1], param [2]
wyjście = dwa- (ABC*One ** 3+XYZ*ONE+ABZ)
zwrot
param = [0, 0, 0]
Output_two = najmniejsq (func one, param, (jeden, dwa))
ABC, XYZ, ABZ = Output_Two [0] [0], Output_two [0] [1], Output_two [0] [2]
yfit1 = abc*one ** 2+xyz*One+Abz
Output_two = najmniejsq (func_two, param, (jeden, dwa)) ABC, XYZ, ABZ = Output_two [0] [0], Output_two [0] [1], Output_two [0] [2]
yfit2 = abc*jeden ** 3+dwa*jeden+Abz
MTB.Wykres (jeden, dwa, „bo”, label = „y-originat”)
MTB.Wykres (jeden, yfitl, color = „czarny”, etykieta = "y = ox^24-bx+c")
MTB.Wykres (jeden, yfit2, color = „czerwony”, etykieta = "y = ox^24-b+c")
MTB.xlabel („x”)
MTB.ylabel („y”)
MTB.legenda (loc = „best”, FancyBox = true, shadow = true)
MTB.siatka (prawda)
MTB.pokazywać()

Wyjście powyższego podano poniżej:

Wniosek

W tym artykule przedstawiliśmy szczegóły na temat funkcji SCIPY,. Widzieliśmy składnię najmniejszego wyjaśnienia każdego wymaganego i opcjonalnego parametru. Funkcja najmniejsq () pobiera 12 parametrów, z czego 2 są obowiązkowymi parametrami, a pozostałe 10 to parametry opcjonalne.

Ponadto, jak używać funkcji najmniejsq (), jest również wspomniany z przykładami. Pierwszy przykład jest bardzo prosty i podstawowy i wyjaśnia podstawowe użycie funkcji, podczas gdy pozostałe dwa przykłady wyjaśniają złożoną funkcję funkcji najmniejszej.