Pada masa itu, saya belajar tentang mesin penambangan, dan saya belajar tentang penambangan logistik logistik di bab 5, yang agak sukar. Saya dapat mengesan sumbernya, dari penambangan logistik logistik ke penambangan linear, dan kemudian ke penambangan dua kali ganda minimum. Akhirnya, saya menyesuaikan dengan penambangan dua kali ganda minimum di bab 9 edisi keenam. Kerangka perkalian dua terendah adalah satu implementasi untuk membina formula pengalaman dalam masalah pengoptimuman. Mengetahui bagaimana ia berfungsi adalah berguna untuk memahami kerangka pembelajaran kerangka regresi Logistic dan kerangka yang menyokong mesin vektor.
Sejarah kemunculan kalima paling kecil kali kalima adalah menarik.
Pada tahun 1801, ahli astronomi Itali Giuseppe Piazzi menemui asteroid pertama, Neraca Lembah. Selepas 40 hari pengamatan, Piazzi kehilangan kedudukan Neraca Lembah kerana Neraca Lembah berjalan di belakang Matahari. Kemudian, para saintis di seluruh dunia menggunakan data pengamatan Piazzi untuk mencari Neraca Lembah, tetapi tidak ada hasil yang diperoleh oleh kebanyakan orang.
Kaedah penggandaan terendah dua yang digunakan Gauss diterbitkan pada tahun 1809 dalam bukunya, The Theory of the Movement of Celestial Bodies, dan ahli sains Perancis, Le Jeandert, secara bebas menemui penggandaan terendah dua pada tahun 1806, tetapi tidak diketahui oleh orang ramai pada masa itu. Kedua-dua orang telah berdebat mengenai siapa yang mula-mula mewujudkan prinsip penggandaan terendah dua.
Pada tahun 1829, Gauss memberikan bukti bahawa pengoptimuman penggandaan duaan minimum lebih berkesan daripada kaedah lain, lihat Gauss-Markov theorem.
Inti dari perkalian perkalian dua paling kecil ialah untuk memastikan persegi dan terkecil dari semua data yang menyimpang.
Katakan kita dapat data panjang dan lebar dari beberapa kapal perang.
Dari data ini, kami menggunakan Python untuk membuat grafik titik berlainan:
Di bawah ini adalah kod untuk membuat grafik titik berlainan:
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()
Jika kita ambil dua titik pertama, kita akan dapat dua persamaan, iaitu 238, 32.4, 152, 15.5. 152a+b=15.5 328a + b = 32.4 Jadi kita boleh menyelesaikan kedua-dua persamaan ini dengan a = 0.197, dan b = -14.48. Jika kita lihat pada gambar ini, kita akan dapat gambar yang seperti ini:
OK, ini soalan baru, apakah a dan b adalah yang optimum? Perkataan yang digunakan secara profesional ialah: apakah a dan b adalah parameter optimum model?
Jawapannya ialah: memastikan semua data mempunyai kekangan persegi dan terkecil. Mengenai prinsipnya, kita akan membincangkannya di kemudian hari, kita akan melihat bagaimana menggunakan alat ini untuk mengira a dan b yang terbaik.
Sekarang kita perlu mencari untuk membuat M terkecil dari a dan b. Perhatikan dalam persamaan ini, kita sudah tahu yang yi dan xi adalah sama.
Sebenarnya, persamaan ini adalah fungsi binari dengan a, b sebagai pemboleh ubah sendiri dan M sebagai pemboleh ubah akibat.
Ingat semula bagaimana nilai maksimum untuk fungsi tunggal dalam bilangan tinggi. Kita menggunakan alat derivatif. Jadi dalam fungsi binari, kita masih menggunakan derivatif. Tetapi derivatif di sini mempunyai nama baru. Dengan mencari pemboleh ubah untuk M, kita akan mendapat satu set persamaan.
Dalam kedua-dua persamaan ini, xi dan yi diketahui.
Ia adalah mudah untuk mendapatkan a dan b. Oleh kerana saya menggunakan data dari Wikipedia, saya akan melukis gambar yang sesuai dengan jawapan saya:
# -*- 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()
Dalam pemasangan data, mengapa menggunakan data ramalan model untuk memaksimumkan parameter model dengan menggunakan dua perempat perbezaan antara data ramalan dan data sebenar dan bukannya nilai mutlak dan minimum?
Ada yang telah menjawab soalan ini, lihat pautan.http://blog.sciencenet.cn/blog-430956-621997.html)
Secara peribadi, saya rasa penjelasan ini sangat menarik. Khususnya, andaian di dalamnya: semua titik yang menyimpang dari f (x) mempunyai bunyi.
Semakin jauh satu titik menyimpang menunjukkan semakin besar bunyi bising, semakin kecil kemungkinan titik ini muncul. Jadi, apakah hubungan yang memenuhi tahap kebelakangan x dengan kebarangkalian f (x)?
Kesemua keadaan di atas adalah dua dimensi, iaitu hanya ada satu pembolehubah diri. Tetapi di dunia nyata, yang mempengaruhi hasil akhir adalah pemasangan pelbagai faktor, iaitu terdapat lebih banyak keadaan pembolehubah diri.
Untuk fungsi n-metalinia biasa, dengan menggunakan matriks terbalik dalam matriks aljabar linier yang berpusing, OK; kerana tidak ada contoh yang sesuai yang ditemui buat masa ini, ia kekal di sini sebagai derivatif.
Sudah tentu alam semula jadi adalah lebih banyak kesesuaian berbilang daripada linear yang mudah, yang merupakan kandungan yang lebih tinggi.
Karya asal, izin untuk menyalin, apabila menyalin, sila pastikan untuk menandakan artikel asal, maklumat pengarang dan pernyataan ini dalam bentuk hyperlink; jika tidak, akan dikenakan tanggungjawab undang-undang.http://sbp810050504.blog.51cto.com/2799422/1269572