日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

线性回归(Linear Regression)和最小二乘法(ordinary least squares)

發布時間:2023/12/15 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 线性回归(Linear Regression)和最小二乘法(ordinary least squares) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

下面是對Andrew Ng的CS229機器學習課程講義note1做的一部分筆記,按照自己的理解,對note1進行部分翻譯,英文水平和知識水平不夠,很多認識都不夠深刻或者正確,請大家不吝賜教!

一、基本知識

  作為“input”variables(在這個例子中是living area),也叫做input features(輸入特征),作為“output”或者target variables,我們將用來預測(price)。是一個training example,并且用來學習的dataset是m個training examples{,i=1,…m},叫做一個training set。注意,這里的右上角的“i”只是說明這個training dataset中的index而已,和exponentiation(求冪)無關。X=Y=R(X作為輸入空間,Y作為輸出空間)

  為了更好的描述監督學習的問題,我們的目標是,給定一個訓練集(training set),學習一個函數h:X->Y,因此h(x)對y而言是要一個好的predicator。將這個過程用流程圖來形象的表示:

?

?????? 如果我們將要預測的target variable是連續的,就像我們的房屋例子一樣,我們將這個學習問題叫做回歸問題。當y只可以取少量的離散值的時候,就像這個例子中已知了living area的時候,我們想要預測一個dwelling是一個house還是一個apartment的時候,我們將這個問題叫做分類問題。

二、線性回歸(Linear Regression)-------斯坦福公開課ML筆記note1

??? 線性回歸的目的就是使得預測值與實際值的殘差平方和最小。【注:殘差在數理統計中是指實際觀察值與估計值(擬合值)之間的差】

為了讓我們的房屋例子更加有趣,讓我們考慮一個稍微豐富一些的數據集,在這個數據集中,每個房屋的bedrooms的數量是已知的。

?

?

  現在X是R^2中的二維向量,是訓練集中的第i個房子的living area,是訓練集中的第i個房子的bedrooms。(通常來說,當設計一個學習問題的時候,是由你自己來決定選取什么作為features的,比如當你收集房屋數據的時候,可能會決定將房屋是否有fireplace或者bedrooms的數量作為features。)

  為了實行監督學習,我們必須要考慮我們將如何在計算機中進行表示functions/hypotheses。作為初始選擇,假設我們將決定將y近似為x的線性函數:

這里的是參數,代表的是weights,通過這個線性函數從X映射到Y。

?

這里的等式右邊的θ和 x都是向量,n是輸入變量的數量(但是不包括x0,取x0=1)。

??? 現在給定一個訓練集,那我們如何選取和學習得到θ?一個合理的方案是使h(x)接近y,至少在我們的訓練例子中是這樣的。我們定義了要給關于該方案的函數,對每一個θ,measure出和之間的聯系。我們定義了cost function(損失函數):

  如果你以前學過線性回歸,你可能認為這個函數和最小均方損失函數(least-squares cost function )很類似,并提出普通最小二乘法回歸模型(ordinary least squares regression model)。

三、普通最小二乘法(ordinary least squares)

  最小二乘法(又稱最小平方法)是一種數學優化技術,它通過最小化誤差的平方和尋找數據的最佳函數匹配。利用最小二乘法可以簡便地求得未知的數據,并使得這些求得的數據與實際數據之間誤差的平方和最小,該方法還可以用于曲線擬合。

  離差(deviation)即標志變動度,是觀測值或估計量的平均值與真實值之間的差,是反映數據分布離散程度的量度之一,或說是反映統計總體中各單位標志差別大小的程度或離差情況的指標,常寫作,即參與計算平均數的變量值與平均數之差。

  殘差(residual)在數理統計中是指實際觀察值與估計值(擬合值)之間的差。

  Python代碼,普通最小二乘法(Ordinary Least Squares)的簡單應用。(該代碼來源于:https://blog.csdn.net/claroja/article/details/70312864)代碼的基本思想:先載入數據集dataset,將X變量分割成訓練集和測試集,將Y目標變量分割成訓練集和測試集,接著創建線性回歸對象,并使用訓練數據來訓練模型,接著可以查看相關系數、殘差平方的均值和方差得分,最后可以將測試點和預測點都直觀地畫在圖上。

import matplotlib.pyplot as plt
import numpy as np
from sklearn import datasets, linear_model#載入數據集“datasets”
diabetes = datasets.load_diabetes()#獲取糖尿病的數據集
diabetes_X = diabetes.data[:, np.newaxis, 2]#使用其中的一個特征,np.newaxis的作用是增加維度
diabetes_X_train = diabetes_X[:-20]#將X變量數據集分割成訓練集和測試集
diabetes_X_test = diabetes_X[-20:]
diabetes_y_train = diabetes.target[:-20]#將Y目標變量分割成訓練集和測試集
diabetes_y_test = diabetes.target[-20:]

regr = linear_model.LinearRegression()#創建線性回歸對象
regr.fit(diabetes_X_train, diabetes_y_train)#使用訓練數據來訓練模型

print('Coefficients: \n', regr.coef_)#查看相關系數Coefficients
print("Residual sum of squares: %.2f"% np.mean((regr.predict(diabetes_X_test) - diabetes_y_test) ** 2))#查看殘差residual平方的均值(mean square error,MSE)
# Explained variance score: 1 is perfect prediction
# 解釋方差得分(R^2),最好的得分是1:
# 系數R^2=1 - u/v, u是殘差平方,u=(y_true - y_pred) ** 2).sum()
# v是離差平方和,v=(y_true - y_true.mean()) ** 2).sum()
print('Variance score: %.2f' % regr.score(diabetes_X_test, diabetes_y_test))#Returns score : float R^2 of self.predict(X) wrt. y.
plt.scatter(diabetes_X_test, diabetes_y_test,? color='black')#畫出測試的點
plt.plot(diabetes_X_test, regr.predict(diabetes_X_test), color='blue',linewidth=3)#畫出預測的點
# plt.xticks(())#刪除X軸的標度
# plt.yticks(())#刪除Y軸的標度
plt.show()

效果圖:

?

轉載于:https://www.cnblogs.com/BlueBlue-Sky/p/9307220.html

總結

以上是生活随笔為你收集整理的线性回归(Linear Regression)和最小二乘法(ordinary least squares)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。