以之前的房屋交易問題為例,我們根據之前的資料**出乙個準確的輸出值,從而得到乙個房子能賣多少錢。
這就是乙個監督學習演算法的工作方式,我們可以看到這裡有我們的訓練集裡房屋** 我們把它餵給我們的學習演算法,學習演算法的工作了,然後輸出乙個函式,通常表示為小寫 h 表示。h 代表hypothesis(假設),h表示乙個函式,輸入是房屋尺寸大小,就像你朋友想**的房屋,因此 h 根據輸入的 x值來得出 y 值,y 值對應房子的** 因此,h 是乙個從x 到 y 的函式對映。
其中,假設函式h為:
h θ(
x)=θ
0+θ1
xh_\left( x \right) =\theta _0+\theta _1x
hθ(x)
=θ0
+θ1
x由於僅有x乙個輸入變數,因此叫作單變數線性回歸。
對於回歸問題,代價函式(cost function)通常選擇平方誤差函式:
j (θ
0,θ1
)=12
m∑i=
1m(h
θ(x(
i))−
y(i)
)2j\left( \theta _0,\theta _1 \right) =\frac\sum_^m\textx^i\text}\text-y^i\text} \right) ^2}
j(θ0,
θ1)
=2m1
i=1
∑m(
hθ(
x(i)
)−y(
i))2
其中m為樣本個數。
我們要做的便是找到一組引數(θ0
,θ1
)\left( \theta _0,\theta _1 \right)
(θ0,
θ1
),使得損失函式最小。
我們將使用梯度下降演算法來求出代價函式j(θ
0,θ1
)j\left( \theta _0,\theta _1 \right)
j(θ0,
θ1)
的最小值。
步驟:a. 初始化(θ0
,θ1
)\left( \theta _0,\theta _1 \right)
(θ0,
θ1
)為[0,0]的轉置
b. 更新公式:
θ j:
=θj−
α∂∂θ
jj(θ
)\theta _j:=\theta _j-\alpha \fracj\left( \theta \right)
θj:=θ
j−α
∂θj
∂j(
θ)在單變數線性回歸問題當中:
梯度的求解公式:∂∂θ
jj(θ
0,θ1
)=∂∂
θj12
m∑i=
1m(h
θ(x(
i))−
y(i)
)2\fracj\text\theta _0,\theta _1\text=\frac\frac\sum_^m\textx^i\text}\text-y^i\text} \right)}^2
∂θj∂
j(θ0
,θ1
)=∂
θj∂
2m1
i=1
∑m(
hθ(
x(i)
)−y(
i))2
具體的更新步驟:
θ 0:
=θ0−
a1/m
∑(i=
1)m(
hθ(x
((i)
))−y
((i)
))\theta _0:=\theta _0-a1/m∑_^\left( h_\left( x^ \right) -y^ \right)
θ0:=θ
0−a
1/m∑
(i=1
)m(
hθ(
x((i
)))−
y((i
)))θ1:
=θ1−
a1m∑
i=1m
((hθ
(x(i
))−y
(i))
⋅x(i
))\theta _1:=\theta _1-a\frac\sum_^m\textx^i\text}\text-y^i\text} \right) \cdot x^i\text} \right)}
θ1:=θ
1−a
m1∑
i=1m
((h
θ(x
(i))
−y(i
))⋅x
(i))
其中,α為學習率,一般我們會設定迭代次數,如1000次,如此可得迭代1000次所得的引數。
week1 張量的操作與線性回歸
功能 將張量按維度dim進行拼接。引數 功能 在新建立的維度dim進行拼接 引數 注 stack會擴充張量的維度,cat不會改變張量的維度 功能 將張量按維度dim進行平均切分 返回值 張量列表 注 若不能整除,最後切分出來的張量會小於其他的張量。不能整除的時候,張量的維度是向上取整的。最後切分完的...
Week1 線性表的學習
定義乙個線性鍊錶的結構體 struct lnode typedef struct lnode list typedef struct lnode lnode 建立空的順序表 list makeempty 對乙個線性鍊錶進行初始化 void inilist list l 將乙個線性鍊錶列印出來 voi...
單變數線性回歸
參考 模型表示 線性回歸 linear regression 是利用稱為線性回歸方程的最小平方函式對乙個或多個自變數和因變數之間關係進行建模的一種回歸分析。這種函式是乙個或多個稱為回歸係數的模型引數的線性組合。只有乙個自變數的情況稱為簡單回歸,大於乙個自變數情況的叫做多元回歸。詳細描述 之前的房屋交...