Ini adalah perkalian terendah dua dari persamaan regresi linier.

Penulis:Penemu Kuantitas - Mimpi Kecil, Dibuat: 2016-12-18 11:36:26, Diperbarui: 2016-12-18 11:41:31

Ini adalah perkalian terendah dua dari persamaan regresi linier.


  • ### Pertama, pengantar

Selama ini, saya belajar tentang mesin cuci, belajar tentang cuci logistic regression dari bab 5, dan merasa cukup sulit. Mengikuti jejak ini, saya mulai dari cuci logistic regression ke cuci linear regression, dan kemudian ke cuci minimal dua kali cuci. Akhirnya, saya mengkonfigurasi cuci tingkat tinggi (Edisi ke-6; Subbook) pada bab 9, bagian 10 cuci minimal dua kali cuci, yang menjelaskan asal usul prinsip matematika di balik cuci minimal dua kali cuci. Kerucut terendah dua kali kerucut adalah salah satu implementasi dari rumus empiris dalam masalah optimasi. Memahami kerucut ini sangat berguna untuk mempelajari kerucut pembelajaran kerucut logistic regression dan kerucut yang mendukung mesin vektor.

  • ### Kedua, pengetahuan latar belakang

Sejarah munculnya dua kali lipat paling kecil dari dua kali lipat adalah sangat menarik.

Pada tahun 1801, astronom Italia Giuseppe Piazzi menemukan asteroid pertama, Nereus. Setelah 40 hari pengamatan, Piazzi kehilangan posisi Nereus karena Nereus berjalan di belakang Matahari. Para ilmuwan di seluruh dunia kemudian menggunakan data pengamatan Piazzi untuk mencari Nereus, tetapi tidak ada hasil dari hasil perhitungan kebanyakan orang.

Metode penggambaran dua kali minimum yang digunakan Gauss diterbitkan pada tahun 1809 dalam bukunya The Theory of the Movement of the Cosmos, dan ilmuwan Prancis Le Jeannard secara independen menemukan penggambaran dua kali minimum pada tahun 1806, tetapi tidak diketahui oleh orang-orang saat itu.

Pada tahun 1829, Gauss memberikan bukti bahwa pengoptimalan dua kali lipat minimal lebih kuat daripada metode lain, lihat Gauss-Markov.

  • ### ## ## ### ## ### ### ## ## ### ### ##############

Inti dari rumus perkalian kuadrat terendah adalah memastikan bahwa semua data yang menyimpang adalah kuadrat dan terkecil.

Misalkan kita mengumpulkan data panjang dan lebar dari beberapa kapal perang.

线性回归之——最小二乘法

Dari data ini, kami menggunakan Python untuk menggambar grafik titik-titik:

线性回归之——最小二乘法

Kode untuk menggambar gambar berdetik adalah sebagai berikut:

```
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()
```
  • ### Empat, mencari prinsip-prinsip

Dalam pencocokan data, mengapa memaksimalkan parameter model dengan memaksimalkan nilai absolut dan minimal, bukan dengan memaksimalkan suku dari perbedaan data prediksi model dengan data yang sebenarnya?

Ada yang sudah menjawab pertanyaan ini, lihat linknya.http://blog.sciencenet.cn/blog-430956-621997.html)

Secara pribadi saya merasa penjelasan ini sangat menarik. Terutama asumsi di dalamnya: semua titik yang menyimpang dari f (x) memiliki kebisingan.

Semakin jauh sebuah titik menyimpang, semakin besar kebisingan, semakin kecil kemungkinan titik tersebut muncul. Lalu, apa hubungan antara tingkat penyimpangan x dan kemungkinan f (x) muncul?

线性回归之——最小二乘法

线性回归之——最小二乘法

  • ### ############################################################################################################################################################################################################################################################

Hal-hal di atas adalah dua dimensi, yaitu hanya ada satu variabel diri. Tetapi di dunia nyata, yang mempengaruhi hasil akhir adalah penumpukan berbagai faktor, yaitu akan ada lebih dari satu variabel diri.

Untuk fungsi non-linear umum, mencari dengan matriks terbalik dalam matriks aljabar linier tidak apa-apa; karena sementara tidak ada contoh yang cocok, tinggal di sini sebagai derivatif.

Tentu saja alam lebih banyak tentang penyesuaian multipolar, bukan linearitas sederhana, yang merupakan konten yang lebih tinggi.

Karya asli, izin untuk menyalin, ketika menyalin, pastikan untuk menandai artikel asal, informasi penulis dan pernyataan ini dalam bentuk hyperlink; jika tidak, akan dikenakan tanggung jawab hukum.http://sbp810050504.blog.51cto.com/2799422/1269572


Informasi lebih lanjut