Während dieser Zeit lernte er die Maschine, lernte die Logistic Regression von Chapter 5 und fühlte sich ziemlich anstrengend. Die Verfolgungsquelle, von der Logistic Regression von Chapter 5 bis zur logischen Regression von Chapter 5, bis zur Logic Minimum Quotient Quotient Quotient. Die Mindest-Zweifach-Schleife ist eine Implementierungsmethode zur Erstellung von empirischen Formeln in Optimierungsproblemen. Ein Verständnis ihrer Funktion ist hilfreich, um die Lernschleife für die Logistic-Regressionsschleife und die Lernschleife für die logische Vektormaschine zu verstehen.
Der historische Hintergrund für die Entstehung des Mindestzweifaches ist interessant.
1801 entdeckte der italienische Astronom Giuseppe Piazzi den ersten Asteroiden, den Stern der Schlucht. Nach 40 Tagen Nachverfolgungsbeobachtungen verlor Piazzi die Position des Sterns, weil der Stern hinter der Sonne lief. Wissenschaftler aus der ganzen Welt begannen dann mit den Beobachtungen von Piazzi nach Sterns zu suchen, aber nach den Ergebnissen der meisten Menschen fanden sie keine Ergebnisse.
Die Methode der Mindestzweifachzahl, die Gauss 1809 in seinem Buch Theory of Motion of Celestial Objects veröffentlichte, wurde 1806 von dem französischen Wissenschaftler Le Jeune unabhängig voneinander entdeckt, wurde aber nicht bekannt. Es gab eine Auseinandersetzung darüber, wer zuerst das Mindestzweifachprinzip erfunden hatte.
1829 lieferte Gauss einen Beweis, dass die Optimierung des Mindestzweifachs stärker als andere Methoden wirkt, siehe Gauss-Markovs Theorem.
Das Herzstück des Quadratum ist es, das Quadrat und das Minimum der Abweichungen aller Daten zu gewährleisten.
Nehmen wir an, wir sammeln Längen- und Breitendaten von einigen Kriegsschiffen.
Mit Hilfe dieser Daten zeichnen wir in Python ein Punktbild:
Der Code für die Zeichnung der Punktkarte lautet:
```
import numpy as np # -*- coding: utf-8 -*
import os
import matplotlib.pyplot as plt
def drawScatterDiagram(fileName): # 改变工作路径到数据文件存放的地方
os.chdir("d:/workspace_ml")
xcord=[];ycord=[]
fr=open(fileName)
for line in fr.readlines():
lineArr=line.strip().split()
xcord.append(float(lineArr[1]));ycord.append(float(lineArr[2]))
plt.scatter(xcord,ycord,s=30,c='red',marker='s')
plt.show()
```
假如我们取前两个点(238,32.4)(152, 15.5)就可以得到两个方程
152*a+b=15.5
328*a+b=32.4
解这两个方程得a=0.197,b=-14.48
那样的话,我们可以得到这样的拟合图:
![线性回归之——最小二乘法](/upload/asset/8c4ec1df86e5867e4ce4da6af7d7c8423b163ef7.png)
好了,新的问题来了,这样的a,b是不是最优解呢?用专业的说法就是:a,b是不是模型的最优化参数?在回答这个问题之前,我们先解决另外一个问题:a,b满足什么条件才是最好的?
答案是:保证所有数据偏差的平方和最小。至于原理,我们会在后面讲,先来看看怎么利用这个工具来计算最好的a和b。假设所有数据的平方和为M,则
![线性回归之——最小二乘法](/upload/asset/7189e60a47e6a0a78747c40ff511abe8357350c0.png)
我们现在要做的就是求使得M最小的a和b。请注意这个方程中,我们已知yi和xi
那其实这个方程就是一个以(a,b)为自变量,M为因变量的二元函数。
回想一下高数中怎么对一元函数就极值。我们用的是导数这个工具。那么在二元函数中, 我们依然用导数。只不过这里的导数有了新的名字“偏导数”。偏导数就是把两个变量中的一个视为常数来求导。
通过对M来求偏导数,我们得到一个方程组
![线性回归之——最小二乘法](/upload/asset/4a863a2f6678f5689641aafb11860b12bc820f80.png)
这两个方程中xi和yi都是知道的。
很容易就求得a和b了。由于采用的是维基百科的数据,我这里就直接用答案来画出拟合图像:
![线性回归之——最小二乘法](/upload/asset/2cfbd2f5af3b691577361855ebe337110be5991d.png)
```
# -*- coding: utf-8 -*importnumpy as npimportosimportmatplotlib.pyplot as pltdefdrawScatterDiagram(fileName):
# 改变工作路径到数据文件存放的地方os.chdir("d:/workspace_ml")xcord=[];
# ycord=[]fr=open(fileName)forline infr.readlines():lineArr=line.strip().split()xcord.append(float(lineArr[1]));
# ycord.append(float(lineArr[2]))plt.scatter(xcord,ycord,s=30,c='red',marker='s')
# a=0.1965;b=-14.486a=0.1612;b=-8.6394x=np.arange(90.0,250.0,0.1)y=a*x+bplt.plot(x,y)plt.show()
# -*- coding: utf-8 -*
import numpy as np
import os
import matplotlib.pyplot as plt
def drawScatterDiagram(fileName):
#改变工作路径到数据文件存放的地方
os.chdir("d:/workspace_ml")
xcord=[];ycord=[]
fr=open(fileName)
for line in fr.readlines():
lineArr=line.strip().split()
xcord.append(float(lineArr[1]));ycord.append(float(lineArr[2]))
plt.scatter(xcord,ycord,s=30,c='red',marker='s')
#a=0.1965;b=-14.486
a=0.1612;b=-8.6394
x=np.arange(90.0,250.0,0.1)
y=a*x+b
plt.plot(x,y)
plt.show()
```
Warum sollte man bei Datenvergleichsmodellen die Quadrate der Differenz zwischen den Prognosedaten und den tatsächlichen Daten anstelle von absoluten und minimalen Werten verwenden, um die Modellparameter zu optimieren?
Die Frage wurde bereits beantwortet, siehe Link.http://blog.sciencenet.cn/blog-430956-621997.html)
Ich persönlich finde diese Erklärung sehr interessant. Vor allem die Annahme, dass alle Punkte, die von f (x) abweichen, Geräusche haben.
Je weiter ein Punkt abweicht, desto größer ist der Lärm, desto geringer ist die Wahrscheinlichkeit, dass dieser Punkt auftritt. Welche Beziehung erfüllt dann die Abweichung x mit der Wahrscheinlichkeit f (x)?
All dies ist zweidimensional, d.h. es gibt nur eine Selbstveränderung. In der realen Welt beeinflusst das Endergebnis jedoch die Überlagerung von Faktoren, d.h. es gibt mehrere Selbstveränderungen.
Für eine allgemeine N-metralineare Funktion ist es in Ordnung, mit einer inversen Matrix in einer schwarzen linearen Algebra zu lösen; da momentan keine geeigneten Beispiele gefunden wurden, bleibt es hier als eine Quotiente.
Natürlich ist die Natur mehr eine polymorphische Anpassung als eine einfache Linearität, das ist ein höherer Inhalt.
Das Originalwerk, die Vervielfältigung ist erlaubt, bitte geben Sie bei der Vervielfältigung den Ursprung des Artikels, die Urheberinformationen und diese Erklärung in Form von Hyperlinks an; andernfalls werden Sie rechtlich haftbar gemacht.http://sbp810050504.blog.51cto.com/2799422/1269572