每當我們想要預測一個數值時,就會出現回歸問題。常見的例子包括預測價格(房屋、股票等)、預測住院時間(對于住院患者)、預測需求(對于零售銷售)等等。并非每個預測問題都是經典的回歸問題。稍后,我們將介紹分類問題,其目標是預測一組類別中的成員資格。
作為一個運行示例,假設我們希望根據房屋的面積(以平方英尺為單位)和年齡(以年為單位)來估算房屋的價格(以美元為單位)。要開發預測房價的模型,我們需要掌握由銷售額組成的數據,包括每個房屋的銷售價格、面積和年齡。在機器學習的術語中,數據集稱為訓練數據集或訓練集,每一行(包含與一次銷售對應的數據)稱為示例( 或數據點、實例、樣本)。我們試圖預測的東西(價格)稱為標簽(或目標). 預測所依據的變量(年齡和面積)稱為特征(或 協變量)。
%matplotlib inline
import math
import time
import numpy as np
import torch
from d2l import torch as d2l
%matplotlib inline
import math
import time
import numpy as np
import tensorflow as tf
from d2l import tensorflow as d2l
3.1.1. 基本
線性回歸可能是解決回歸問題的標準工具中最簡單和最受歡迎的。追溯到 19 世紀初(高斯,1809 年,勒讓德,1805 年),線性回歸源于一些簡單的假設。首先,我們假設特征之間的關系x和目標 y近似線性,即條件均值 E[Y∣X=x]可以表示為特征的加權和x. 由于觀察噪聲,此設置允許目標值仍可能偏離其預期值。接下來,我們可以假設任何此類噪聲都表現良好,服從高斯分布。通常,我們會使用n來表示我們數據集中的示例數量。我們使用上標來枚舉樣本和目標,并使用下標來索引坐標。更具體地說,x(i)表示i-th 樣品和 xj(i)表示其j-th 坐標。
3.1.1.1. 模型
每個解決方案的核心都是一個模型,該模型描述了如何將特征轉換為對目標的估計。線性假設意味著目標(價格)的期望值可以表示為特征(面積和年齡)的加權和:
這里warea和wage稱為 權重,并且b稱為偏差(或偏移量或 截距)。權重決定了每個特征對我們預測的影響。當所有特征都為零時,偏差決定了估計值。即使我們永遠不會看到任何面積恰好為零的新建房屋,我們仍然需要偏差,因為它允許我們表達特征的所有線性函數(而不是將我們限制在通過原點的直線上)。嚴格來說, (3.1.1)是輸入特征的仿射變換,其特點是通過加權求和對特征進行線性變換,結合平移通過增加偏差。給定一個數據集,我們的目標是選擇權重 w和偏見b平均而言,使我們的模型預測盡可能接近數據中觀察到的真實價格。
在通常關注僅具有少量特征的數據集的學科中,明確表達模型的長格式,如 (3.1.1)中,是常見的。在機器學習中,我們通常使用高維數據集,在這種情況下使用緊湊的線性代數符號會更方便。當我們的輸入包括 d特征,我們可以為每個特征分配一個索引(介于1和 d) 并表達我們的預測y^(通常,“帽子”符號表示估計值)作為
將所有特征收集到一個向量中 x∈Rd并將所有權重放入向量中 w∈Rd,我們可以通過點積來簡潔地表達我們的模型w和x:
在(3.1.3)中,向量x對應于單個示例的特征。
評論