學習完數學理論就差不多該開始學習機器學習的原理了,現在流行的深度學習和強化學習,基本都是基於機器學習的原理,機器學習是基礎,所以需要先了解機器學習是什麼,怎麼實現的。
1. 機器學習的本質
機器學習的本質是找到乙個功能函式,這個函式會根據我們的輸入,返回乙個結果。所謂函式就是輸入了乙個或幾個變數(x),通過數學轉換之後輸出乙個資料(y),所以只要確定了數學轉換的演算法,以及演算法中所需要的引數,就能確定這個函式。
2. 機器學習任務及具體步驟
機器學習的核心任務有兩個,首先是找到合適的演算法,其次是計算該演算法所需要的引數。一般我們舉乙個最簡單的函式,如 y=w
x+
by=wx+b
y=wx+b
,其中w是變數的係數,代表權重,引數b是常量,代表偏置量。通過給出大量的x值和y值,算出w和b,那麼就可以得出具體的功能函式,我們也就找到規律了,有了具體的函式,根據輸入x的值,我們就知道輸出的y值了,這就是機器學習,具體的步驟如下:
根據x,y值的輸入,推算規律xy
1233
4534323
5643……
演算法選擇:選用最簡單的線性函式 y=w
x+
by=wx+b
y=wx+b
初始化引數:就是給w,b乙個初始的值,這個初始的值是個隨機數
計算誤差:現在已經知道了w和b,那麼就可以把樣本資料中的x帶入函式中求y值,為了避免混淆把這次算出的y值記作yha
ty^
yhat
,然後通過計算誤差的函式計算誤差,計算誤差函式為
j (w
,b)=
∑i=i
n[(w
x+b)
−y]2
j(w,b)=\sum^n_[(wx+b)-y]^2
j(w,b)
=i=i
∑n[
(wx+
b)−y
]2判斷學習是否完成:每次計算出來的誤差相互對比,總誤差不超過0.0001,就認為學習已經完成。
調整引數:學習的目的是為了把誤差降到最低,根據數學知識我們知道,沿著誤差函式的導數方向調整引數,誤差函式就可以變小了。即,用現有的誤差公式求對引數w的偏導數,以及對引數b的偏導數,就能得到δw,
δb
\delta w,\delta b
δw,δ
b,再用原來的引數w,b減去δw,
δb
\delta w,\delta b
δw,δ
b,就實現了對引數的調整,每次只調整1%,這個1%就是學習率 η
\eta
η。具體過程如下:
w =w
−ηδw
b=b−
ηδ
bw=w-\eta \delta w \\ b=b-\eta \delta b
w=w−ηδ
wb=b
−ηδb
利用符合函式的求導公式:
f (g
(x))
′=f′
(x)g
′(x)
f(g(x))^\prime=f^\prime(x)g^\prime(x)
f(g(x)
)′=f
′(x)
g′(x
),令 g(x
)=wx
+(b−
y)
g(x)=wx+(b-y)
g(x)=w
x+(b
−y),
f (g
(x))
=∑i=
in[w
x+(b
−y)]
2f(g(x))=\sum^n_[wx+(b-y)]^2
f(g(x)
)=i=
i∑n
[wx+
(b−y
)]2,上述誤差函式的偏導數分別為
δ w=
∂∂wj
(w,b
)=∑i
=1n2
(wx+
b−y)
xδb=
∂∂bj
(w,b
)=∑i
=1n2
(wx+
b−y)
\delta w= \fracj(w,b)=\sum^n_2(wx+b-y)x \\ \delta b= \fracj(w,b)=\sum^n_2(wx+b-y)
δw=∂w∂
j(w
,b)=
i=1∑
n2(
wx+b
−y)x
δb=∂
b∂j
(w,b
)=i=
1∑n
2(wx
+b−y
)反覆迭代,根據步驟3計算的誤差,再次進行步驟4和步驟5的迭代迴圈,直到誤差變得足夠小,此時的w和b值就是機器學習要找的引數。以後就可以用這個具體的功能函式根據任意乙個新的x值,計算出對應的y值了。
3. 機器學習的複雜化
現實中基本不可能只存在乙個變數,影響事務發展的因素也不可能只有乙個,所以將執行緒方程複雜化之後,我們得出乙個公式:
h (θ
)=θ0
x0+θ
1x1+
⋯+θn
xn=∑
i=1n
θixi
h(\theta)=\theta_0x_0+\theta_1x_1+\cdots+\theta_nx_n=\sum^n_\theta_ix_i
h(θ)=θ
0x0
+θ1
x1
+⋯+θ
nxn
=i=
1∑n
θix
i其中θ
\theta
θ代表權重,n是變數的個數。之後我們就可以得出損失函式,也叫代價函式,可以用公式表示為:
j (θ
)=∑i
=1n(
hθ(x
(i))
−y(i
))
2j(\theta)=\sum^n_(h_\theta(x^)-y^)^2
j(θ)=i
=1∑n
(hθ
(x(
i))−
y(i)
)2其中m表示樣本資料的個數,機器學習的目標就是讓損失函式足夠小,而辦法就是不斷的調整θ
\theta
θ,調整的方法就是對j(θ
)j(\theta)
j(θ)
求偏導數。
人工智慧之機器學習
系統環境 win10,python3.7 pip install jupyter出現successfully installed jupyter 等表示安裝好啦 接下來執行一下吧 在命令提示符中輸入jupyter notebook,回車就可以了 這時就可以用jupyter notebook進行 編輯...
人工智慧機器學習
機器學習是從資料中自動分析獲得規律 模型 並利用規律對未知資料進行 資料處理 首先將所有資料放在一起,然後將其順序打亂。由於順序不是判斷酒水的依據,我們並不期望順序影響到模型學習到的內容。換言之,我們判斷一種酒是紅的還是啤的,並不需要知道前一種或是接下來有什麼酒出現。這時,可以著手繪出視覺化的資料分...
機器學習和人工智慧
機械人和人工智慧這個領域確實已進入了瓶頸階段,因為現在的存在的各種人工智慧和機器裝置,都是人工程式設計控制的,再精密的動作都是在按照人工方式模擬下進行的,因此已經進入誤區。試想下 我們生下來就被遺傳了1 1 2的計算功能嗎?一生下來就能有意識的抬起手臂嗎?而目前再簡單的人工智慧都可以完成,但這僅僅侷...