假設有輸入資料x(x如何求解l(1,x2
……xn
) ,輸出資料y,通過線性方程來擬合輸入資料x和輸出資料y之間的關係。線性方程為: h(
x)=w
0+w1
x1+w
2x2.
..+w
nxn
現在我們有m組輸入資料x和對應的實際輸出資料y,這時候矩陣表示: ⎡
⎣⎢⎢⎢
⎢⎢⎢y
1y2y
3...
ym⎤⎦
⎥⎥⎥⎥
⎥⎥=⎡
⎣⎢⎢⎢
⎢11.
..1x
11x2
1xm1
x12.
..x1
nx22
...x
2nxm
2...
xmn⎤
⎦⎥⎥⎥
⎥⎡⎣⎢
⎢⎢⎢⎢
⎢w0w
1w2.
..wn
⎤⎦⎥⎥
⎥⎥⎥⎥
其中x的上標表示第幾組資料
現在要求出線性方程,也就是需要求出wi
的值這裡給出乙個代價函式,只要這個函式最小我們就認為是最優的擬合: l(
w)=1
2m∑i
=1m[
h(x)
−y]2
其中h(x)為擬合後得到的輸出,y為真實的輸出
w)最小值,也就是最小二乘法。
在此使用梯度下降的方法來進行推到。
從二維空間考慮,也就每一組的x輸入只有兩個值(x
1,x2
) 現在我們要讓l(w)通過不停的迭代變小(也就是變化w的值,讓l變得更小)l(
w′)n
ew=l
(w)o
ld+δ
l 這裡只要保證δl
是個小於零的值即可,δl
可以表示為:δl
=l(w
)∂w0
δw0+
l(w)
∂w1δ
w1+l
(w)∂
w2δw
2 因此只要: (δ
w0,δ
w1,δ
w2)=
(−l(
w)∂w
0,−l
(w)∂
w1,−
l(w)
∂w2)
其實我們最終需要關心的,還是w的值,通過上面,只要每次移動(δ
w0,δ
w1,δ
w2) 就可以讓l(w)更小,迭代方程為: w′
i=wi
+δwi
即: w′
i=wi
+α(−
l(w)
∂wi)
(2.0) α
為學習效率,通過它可以控制迭代的效率
對l(w)求導: l(
w)∂w
i=1m
∑j=1
m(h(
x)−y
)xji
(2.1)
其中xj
0=1
將上面的2.0和2.1式合併,就可以進行迭代了。
實驗程式:
import numpy as np
import pylab as plt
x = np.linspace(0.0,10.0,200)
y = 3.0*x+5.0 + np.random.random(200)*2-1
w0 = 0.1
w1 = 0.2
m = 200.0
alpha = 0.5
#每一組x資料都為乙個patch,並且對原來的w影響因子為alpha/m
人工智慧學習筆記
人工智慧並非專家系統,但是卻或多或少的與專家系統有關係,可以說專家系統是人工智慧很早期的存在形式。專家系統 es,expert system 是一種模擬人類專家解決領域問題的電腦程式系統。專家系統具有如下的一些特點 1 知識的匯聚 2 啟發性推理 3 推理和解釋的透明性 4 知識的更新 典型的專家系...
人工智慧複習筆記
知識閾值理論 進化理論 對上述三者總結 智慧型的具體特徵 人工智慧的研究目標 例子深藍 97年超級電腦 考試曾考過 圖靈的夢想和深藍哪個難實現 知識的特性 不確定性 模糊性不完全性 經驗性 可表示性與可利用性 知識的分類 按作用及表示 按確定性 按結構及表現形式 經典邏輯表示法 謂詞邏輯 最精確 最...
人工智慧簡史 人工智慧簡史
人工智慧簡史 在人工智慧的早期,計算機科學家試圖在計算機中重建人類思維的各個方面。這就是科幻 中的智力型別,即或多或少像我們一樣思考的機器。毫無疑問,這種型別的智慧型稱為可理解性。具有可理解性的計算機可用於探索我們如何推理,學習,判斷,感知和執行腦力活動。可懂度的早期研究集中於在計算機中對現實世界和...