1. 程式人生 > >機器學習(六)——區域性加權線性迴歸(Locally weighted linear regression)

機器學習(六)——區域性加權線性迴歸(Locally weighted linear regression)

考慮從x∈R中預測y的問題。下面最左邊的圖顯示了將擬合到資料集的結果。我們看到資料並不是直線上的,所以擬合不是很好。


取代原來的方法,如果我們加上一個額外的特徵 x2x2,並用 y=θ0+θ1x+θ2x2y=θ0+θ1x+θ2x2 來擬合數據,你會發現效果稍微好了那麼一點(看中間這幅圖片)。似乎可以天真地認為,我們新增的特徵越多越好。然而,新增的特徵太多也是很危險的:最右邊的影象是使用一個五次多項式 y=5j=0θjxjy=∑j=05θjxj 來擬合數據的結果。我們看到,即使擬合曲線完美地穿過資料,我們也無法確定這就是一個相當好的預測,能夠針對不同生活地區 (x)(x) 來預測房價 (y)(y) 。在還沒有正式地定義這些術語之前,我們可以說最左側的影象展示的是一種 欠擬合(underfitting)

 的例項 —— 很明顯看出模型未能捕獲到資料的結構 —— 最右側的影象展示的是一種 過擬合(overfitting) 的例項。(在這節課的後面部分,當我們談到學習理論的時候,我們將把這些概念形式化,並更仔細地去定義一個假設是好的還是壞的。)

正如上面所看到的,特徵的選取方式能夠決定學習演算法表現效能的好壞。(當我們談到模型選擇時,我們也會見到一些演算法能夠自動選擇一些好的特徵。)在這一小節,讓我們簡要地談一談關於區域性加權線性迴歸(LWR)演算法的內容,假設我們有足夠數量的訓練集,使得對於特徵的選擇不是那麼重要。這一部分將會很短,因為你將要在你的作業中去探索關於LWR演算法的一些屬性。

在原始版本的線性迴歸演算法中,要對一個查詢點 x

x 進行預測,比如要評估 h(x)h(x) ,要經過下面的步驟:

  1. 擬合 θθ 來最小化 i(y(i)θTx(i))2∑i(y(i)−θTx(i))2
  2. 輸出θTxθTx

相比之下,區域性加權線性迴歸演算法做的是:

  1. 擬合 θθ 來最小化 iw(i)(y(i)θTx(i))2∑iw(i)(y(i)−θTx(i))2
  2. 輸出θTxθTx

此處的 w(i)w(i) 是非負的 權重(weights)值。直觀看來,如果對於某個特定的 ii ,它的 w(i)w(i) 很大,那麼在選擇 θθ的時候,我們將會盡可能地使 (y(i)θTx(i))2(y(i)−θTx(i))2 更小。如果w(i)w(i) 很小,那麼在擬合的過程中 (

y(i)θTx(i))2(y(i)−θTx(i))2 誤差項就能夠大大地忽略。

對於權值的選取可以使用下面這個比較標準的公式:

w(i)=exp((x(i)x)22τ2)w(i)=exp⁡(−(x(i)−x)22τ2)

(如果 xx 是向量值,上面的式子需要寫成廣義形式,即 w(i)=exp((x(i)x)T(x(i)x)/2τ2)w(i)=exp⁡(−(x(i)−x)T(x(i)−x)/2τ2),並根據情況選擇 ττ 或者 。)

注意,權重取決於特定的點 xx, 而我們又嘗試去預測 xx。此外,如果 x(i)x∣x(i)−x∣ 很小,那麼 w(i)w(i) 將接近 1;如果 x(i)x∣x(i)−x∣ 很大,那麼 w(i)w(i) 將非常小。其直觀意義就是越是靠近預測點的樣本點,它們對預測點的影響就應該越大,越是遠離預測點的樣本點,它們對預測點的影響就越小,也就是說區域性加權線性迴歸模型只關注於預測點附近的點(這就是區域性的含義),而不考慮其他遠離預測點的樣本點。(注意,權值公式看上去類似於高斯分佈的密度,但 w(i)w(i) 和高斯分佈沒有任何關係,尤其注意 w(i)w(i) 不是隨機變數、正態分佈或者其它。)引數 ττ 控制了訓練樣本的權值根據樣本點 x(i)x(i) 到查詢點 xx 的距離下降的有多快;引數 ττ 被成為 頻寬(bandwidth) 引數。

weight-function

參考最小二乘法,推導一下計算過程:


J(θ)J(θ)​對 θθ​ 求導與上面步驟類似,得到結果為:

令導數為零,整理可得:

其中,WW 是 m×mm×m 維的對角矩陣,對角線依次存放 w(i)w(i) .

區域性加權線性迴歸是我們接觸的第一個 非引數(non-parametric) 演算法。之前學習的(不帶權)線性迴歸演算法是有 引數(parametric) 演算法,因為它有固定的有限數量的,能夠很好擬合數據的引數(

相關推薦

機器學習——區域性加權線性迴歸Locally weighted linear regression

考慮從x∈R中預測y的問題。下面最左邊的圖顯示了將擬合到資料集的結果。我們看到資料並不是直線上的,所以擬合不是很好。取代原來的方法,如果我們加上一個額外的特徵 x2x2,並用 y=θ0+θ1x+θ2x2y=θ0+θ1x+θ2x2 來擬合數據,你會發現效果稍微好了那麼一點(看中

機器學習基礎三十 —— 線性迴歸、正則化regularized線性迴歸區域性加權線性迴歸LWLR

1. 線性迴歸 線性迴歸根據最小二乘法直接給出權值向量的解析解(closed-form solution): w=(XTX)−1XTy 線性迴歸的一個問題就是有可能出現欠擬合現象,因為它求的是具有最小均方誤差(LSE,Least Square Erro

機器學習實戰——線性迴歸區域性加權線性迴歸含python中複製的四種情形!

書籍:《機器學習實戰》中文版 IDE:PyCharm Edu 4.02 環境:Adaconda3  python3.6 注:本程式相比原書中的程式區別,主要區別在於函式驗證和繪圖部分。 一、一般線

機器學習5 正則化的線性迴歸Regularized Linear Regression和偏差對方差Bias v.s. Variance

在這篇博文中我們將會實現正則化的線性迴歸以及利用他去學習模型,不同的模型會具有不同的偏差-方差性質,我們將研究正則化以及偏差和方差之間的相互關係和影響。 這一部分的資料是關於通過一個水庫的水位來預測水庫的流水量。為了進行偏差和方差的檢驗,這裡用12組資料進行迴

區域性加權線性迴歸內含程式碼

在之前的部落格中我們已經簡單討論過一些迴歸的演算法,如使用假設和梯度下降法的單變數線性迴歸和多變數線性迴歸以及採用正規方程的線性迴歸,這次我們簡單討論一下區域性加權線性迴歸(Local Weighted Liner Regression)。 區域性加權迴歸可以

區域性加權線性迴歸Locally weighted linear regression

緊接著之前的問題,我們的目標函式定義為: 我們的目標是最小化cost function: 換成線性代數的表述方式: 是mxm維的對角矩陣 是mxn維的輸入矩陣 是mx1維的結果 是nx1維的引數向量 令 有 既 權重定義為: 引數τ控制權重函式的寬度,τ越

區域性加權迴歸Locally weighted linear regression

通常情況下的線性擬合不能很好地預測所有的值,因為它容易導致欠擬合(under fitting),比如資料集是一個鐘形的曲線。而多項式擬合能擬合所有資料,但是在預測新樣本的時候又會變得很糟糕,因為它導致資料的過擬合(overfitting),不符合資料真實的模型。 今天來講一種

線性模型-區域性加權線性迴歸 機器學習實戰

區域性加權線性迴歸 線性迴歸的一個問題是有可能出現欠擬合,因為它求的是具有最小均方誤差的無偏估計,顯然模型欠擬合將無法做出很好的迴歸預測,所以有些方法允許在估計中引入一些偏差,從而降低預測的均方誤差。區域性線性加權的思想是對待預測點附近的每個點賦予一個權重,然後在帶權的樣本上基於最小均方誤差來

機器學習區域性加權線性迴歸

一、問題引入 我們現實生活中的很多資料不一定都能用線性模型描述。依然是房價問題,很明顯直線非但不能很好的擬合所有資料點,而且誤差非常大,但是一條類似二次函式的曲線卻能擬合地很好。為了解決非線性模型建立線性模型的問題,我們預測一個點的值時,選擇與這個

機器學習演算法與Python實踐之邏輯迴歸Logistic Regression

#!/usr/bin/python # -*- coding:utf-8 -*- import numpy as np from numpy import * import matplotlib.pyplot as plt #處理資料函式 def loadDataSet():

Andrew機器學習課程 章節4——多變數線性迴歸

Normal equation:(正規方程) 其中:X為1列值為1的vector(其對應額外的特徵變數)+xi的轉置合併的矩陣。 正規方程與梯度下降相比較的優缺點: 優點:1.不需要設定初試的學習率α         2.不需

Andrew機器學習課程 章節2——單變數線性迴歸

在surpervised question中 (x,y)表示一個訓練樣本。    x為features(特徵)y為target(目標) (xi,yi)表示訓練集。上標i just an index into the training set Hypothesis fu

Bobo老師機器學習筆記第五課-多元線性迴歸

思維導圖學習筆記 自己參考BoBo老師課程講解實現: # -*- coding: utf-8 -*- import numpy as np from metrics import r2_score class LinearRegression(object): def __

Bobo老師機器學習筆記第五課-簡單線性迴歸

課程地址:https://coding.imooc.com/class/169.html 最小二乘法的推導部落格點選此處 程式碼實現(參考Bobo實現,如果要看BoBo老師原始碼,請點選此處): # -*- encoding: utf-8 -*- """ 實現簡單的線性迴歸, 自己

機器學習筆記 第5課:線性迴歸演算法

線性迴歸可能是統計學和機器學習中最知名且易於理解的演算法之一。 它不就是一項起源於統計學的技術嗎? 預測建模主要關注的是讓模型的誤差最小化,或者說,在可以解釋的前提下,儘可能作出最準確的預測。我們會借用,重用,甚至是竊取許多不同領域(包括統計學)的演算法,並將其用於上述的目標。 線性迴歸

機器學習經典演算法梳理】一.線性迴歸

【機器學習經典演算法梳理】是一個專門梳理幾大經典機器學習演算法的部落格。我在這個系列部落格中,爭取用最簡練的語言、較簡潔的數學公式,和清晰成體系的提綱,來盡我所能,對於演算法進行詳盡的梳理。【機器學習經典演算法梳理】系列部落格對於機器學習演算法的梳理,將從“基本思想”、“基本形式”、“過程推導”、“

吳恩達機器學習課程筆記章節二單變數線性迴歸

1、模型描述 Univariate(One variable)Linear Regression m=訓練樣本的數目,x's=輸入的變數/特徵,y's=輸出變數/目標變數 2、代價函式 基本定義: 3、代價函式(一) 回顧一下,前面一些定義: 簡化的假設函式,theta0=0,得到假

機器學習筆記《四》:線性迴歸,邏輯迴歸案例與重點細節問題分析

import numpy as np import pandas as pd import matplotlib.pyplot as plt import os path = "data"+os.sep+"creditcard.csv"; pdData =

吳恩達機器學習 Coursera 筆記(二) - 單變數線性迴歸

Model and Cost Function 1 模型概述 - Model Representation To establish notation for future use, we’ll use x(i) the “input” variables (living area in t

機器學習】正則化的線性迴歸 —— 嶺迴歸與Lasso迴歸

注:正則化是用來防止過擬合的方法。在最開始學習機器學習的課程時,只是覺得這個方法就像某種魔法一樣非常神奇的改變了模型的引數。但是一直也無法對其基本原理有一個透徹、直觀的理解。直到最近再次接觸到這個概念,經過一番苦思冥想後終於有了我自己的理解。 0. 正則化(