人工智慧筆記之機器學習原理

2021-10-04 09:05:41 字數 3274 閱讀 1726

學習完數學理論就差不多該開始學習機器學習的原理了,現在流行的深度學習和強化學習,基本都是基於機器學習的原理,機器學習是基礎,所以需要先了解機器學習是什麼,怎麼實現的。

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∑

n​2(

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(θ)=θ

0​x0

​+θ1

​x1​

+⋯+θ

n​xn

​=i=

1∑n​

θi​x

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的計算功能嗎?一生下來就能有意識的抬起手臂嗎?而目前再簡單的人工智慧都可以完成,但這僅僅侷...