什么是感知機——圖文并茂,由淺入深
引言
生活中常常伴隨著各種各樣的邏輯判斷,比如看到遠方天空中飄來烏云,打開手機看到天氣預報說1小時后40%的概率下雨,此時時候我們常常會做出等會下雨,出門帶傘的判斷。
上述思考過程可以抽象為一個”與“的”神經(jīng)邏輯“。當”看到烏云“和”天氣預報40%下雨“同時滿足的時候,我們才會做出”等會下雨,出門帶傘“的判斷;假如只看到”烏云“,但天氣預報說0%的概率下雨,抑或是沒看見烏云,天氣預報40%的概率下雨,我們會做出等下不會下雨的判斷。
現(xiàn)在我們抽象一下剛剛的過程。
邏輯的輸入有兩個:看見烏云、天氣預報。經(jīng)過邏輯判斷,決定是否帶傘。
在判斷時,有人會更加相信肉眼所見的烏云,天氣預報只是輔助,畢竟天氣預報經(jīng)常報不準;有人更加信任天氣預報,心想誰知道這個烏云會不會等會飄走呢,有云又未必下雨。因此我們引入”信任度“這個概念。我更加信任天氣預報,如果完全相信是1(也可以是2、3、3.4等等),那么我給”天氣預報“0.7的信任度,給”看見烏云“0.3的信任度。
相信讀者一定有了一定概念,但是目前這樣籠統(tǒng)的”判斷“和”信任度“沒有辦法實際解決問題。主要有以下疑問:
- ”信任度“是如何作用于判斷呢?
- ”判斷”是如何進行的?
- 筆者講的這個判斷和感知機什么關(guān)系?
下面我們將問題數(shù)學化,來定量得確定出這其中的邏輯關(guān)系,這個過程通常被叫做“數(shù)學建?!?。
生活中有許許多多的判斷,有的如同上述是否帶傘一樣簡單,有的如同解答高數(shù)題一樣復雜。這些判斷都是根據(jù)許許多多外界環(huán)境輸入到我們?nèi)四X中的信號,經(jīng)過頭腦中復雜的神經(jīng)網(wǎng)絡得出來的。
上面的例子是一個非常簡單的判斷,可以想象如果這種簡單的判斷以成千上萬的數(shù)量組合,便可以形成一個非常龐大且復雜的“神經(jīng)網(wǎng)絡”,能夠處理的事情。組成這張神經(jīng)網(wǎng)絡的單位,我們稱之為“神經(jīng)元”,粗略得說,我們也可以叫他“感知機”。
感知機的引入
寶寶版
分別用 x 1 x_1 x1?表示“看見烏云”, x 2 x_2 x2?表示“天氣預報”。如果看見了烏云,那么 x 1 = 1 x_1=1 x1?=1否則 x 1 = 0 x_1=0 x1?=0;同樣的,如果天氣預報說40%概率下雨, x 2 = 1 x_2=1 x2?=1,如果是0%的概率下雨, x 2 = 0 x_2=0 x2?=0。
用 y y y表示“是否帶傘”,帶傘時 y = 1 y=1 y=1,否則 y = 0 y=0 y=0。
為了敘述方便,我們這里把0.3、0.7信任度,稱為加權(quán)?,F(xiàn)在我們引入“加權(quán)和”
a
a
a。他是輸入變量的加權(quán)和。
a
=
0.3
x
1
+
0.7
x
2
a=0.3x_1 + 0.7x_2
a=0.3x1?+0.7x2?
x
1
,
x
2
x_1,x_2
x1?,x2?的可能取值總共只有4個,我們不妨把他們列舉出來,暫且把表格稱為真值表吧:(此處,我們認為,只有看到烏云和天氣預報同時滿足,我們才帶傘)
x 1 x_1 x1? | x 2 x_2 x2? | a a a | y y y |
---|---|---|---|
0 | 0 | 0 | 0 |
1 | 0 | 0.3 | 0 |
0 | 1 | 0.7 | 0 |
1 | 1 | 1 | 1 |
觀察表格可以指定如下規(guī)則,用于判斷:當
a
a
a大于某值
θ
\theta
θ,時,
y
y
y取1,也就是帶傘。
y
=
{
0
0.3
x
1
+
0.7
x
2
≤
θ
1
0.3
x
1
+
0.7
x
2
>
θ
y= \left\{\begin{matrix} 0\quad 0.3x_1 + 0.7x_2\le \theta \\ 1\quad 0.3x_1 + 0.7x_2> \theta \end{matrix}\right.
y={00.3x1?+0.7x2?≤θ10.3x1?+0.7x2?>θ?
通過觀察真值表,我們可以非常容易得到
θ
\theta
θ的取值,0.8或是0.9都可以,取值范圍如下:
θ
>
0.7
\theta>0.7
θ>0.7
至此現(xiàn)在我們把“判斷”成功數(shù)學建模,如下:
至此,一個完整的,具有實際意義的感知機建造完成,上圖中間的圓圈便是感知機,它有兩個輸入信號,一個輸出信號。我把他命名為“寶寶感知機”。
青年版
寶寶感知機的成長
寶寶感知機的判斷邏輯是:
y
=
{
0
0.3
x
1
+
0.7
x
2
≤
θ
1
0.3
x
1
+
0.7
x
2
>
θ
y= \left\{\begin{matrix} 0\quad 0.3x_1 + 0.7x_2\le \theta \\ 1\quad 0.3x_1 + 0.7x_2> \theta \end{matrix}\right.
y={00.3x1?+0.7x2?≤θ10.3x1?+0.7x2?>θ?
現(xiàn)在我們對它簡單變換下:
y
=
{
0
0.3
x
1
+
0.7
x
2
+
(
?
θ
)
≤
0
1
0.3
x
1
+
0.7
x
2
+
(
?
θ
)
>
0
y= \left\{\begin{matrix} 0\quad 0.3x_1 + 0.7x_2+(-\theta)\le0 \\ 1\quad 0.3x_1 + 0.7x_2+(-\theta)> 0 \end{matrix}\right.
y={00.3x1?+0.7x2?+(?θ)≤010.3x1?+0.7x2?+(?θ)>0?
我們令
b
=
(
?
θ
)
b=(-\theta)
b=(?θ),公式可以進一步化簡:
y
=
{
0
0.3
x
1
+
0.7
x
2
+
b
≤
0
1
0.3
x
1
+
0.7
x
2
+
b
>
0
y= \left\{\begin{matrix} 0\quad 0.3x_1 + 0.7x_2+b\le0 \\ 1\quad 0.3x_1 + 0.7x_2+b> 0 \end{matrix}\right.
y={00.3x1?+0.7x2?+b≤010.3x1?+0.7x2?+b>0?
緊接著,感知機示意圖如下:
還記得我們在引入寶寶感知機的時候,引入的加權(quán)和變量
a
a
a嘛,
a
=
0.3
x
1
+
0.7
x
2
a=0.3x_1 + 0.7x_2
a=0.3x1?+0.7x2?
此時,我們不如再次借助它的概念來清晰化感知機的概念,我們令a新的表達如下:
a
=
0.3
x
1
+
0.7
x
2
+
b
a=0.3x_1 + 0.7x_2+b
a=0.3x1?+0.7x2?+b
則邏輯判斷表述可以簡化為:
h
(
a
)
=
y
=
{
0
a
≤
0
1
a
>
0
h(a)=y= \left\{\begin{matrix} 0\quad a\le0 \\ 1\quad a> 0 \end{matrix}\right.
h(a)=y={0a≤01a>0?
此處我們用符號 h h h代替 f f f,僅僅是符號的改變,不改變含義。
畫出簡化后的感知機示意圖會讓概念更清晰:
至此,一個完整的,具有實際意義的感知機建造完成,上圖中求和與 h ( a ) h(a) h(a)一起構(gòu)成感知機,它有三個輸入信號,一個輸出信號。我把他命名為“青年感知機”。
老夫聊發(fā)少年狂版
要開始抽象介紹概念嘍。
在深度學習領(lǐng)域,我們對上面提到的“信任度”、輸入信號、輸出信號等等都有專用的名詞,現(xiàn)在我們來介紹下。首先把先前討論的“信任度”0.3和0.7表示為: w 1 , w 2 w_1,w_2 w1?,w2?。
總結(jié)一下上述的討論:
h
(
a
)
=
{
0
a
≤
0
1
a
>
0
h(a)= \left\{\begin{matrix} 0\quad a\le0 \\ 1\quad a> 0 \end{matrix}\right.
h(a)={0a≤01a>0?
a = w 1 x 1 + w 2 x 2 + b a=w_1x_1 + w_2x_2+b a=w1?x1?+w2?x2?+b
變量 | 名稱 | |
---|---|---|
w w w | 權(quán)重 | 權(quán)重越高,信號在判斷中的作用越大 |
b b b | 偏置 | 依據(jù)判斷結(jié)果進行調(diào)整 |
h ( a ) h(a) h(a) | 激活函數(shù) | 有多種選擇,此處舉例使用的是階躍函數(shù) |
至此完整的感知機便呈現(xiàn)在大家眼前,概念和專業(yè)名稱均已闡明。
一般時候,我們把感知機表示成如下形式:
激活函數(shù)
激活函數(shù)可以有多種選擇,上述我們舉例使用的是階躍函數(shù),表達式如下:
h
(
a
)
=
{
0
a
≤
0
1
a
>
0
h(a)= \left\{\begin{matrix} 0\quad a\le0 \\ 1\quad a> 0 \end{matrix}\right.
h(a)={0a≤01a>0?
此外還有sigmoid、ReLu可供選擇。以sigmoid為例,表達式為:
h
(
x
)
=
1
1
+
exp
?
(
?
x
)
h(x)=\frac{1}{1+\operatorname{exp}(-x)}
h(x)=1+exp(?x)1?
剛剛?cè)腴T深度學習,可以先不去細究為什么要引入不同的激活函數(shù),sigmoid函數(shù)作用是什么,怎么長得那么奇怪,相對于階躍函數(shù)的優(yōu)勢在哪,在后面的學習中會體會到激活函數(shù)的作用。只需要知道,此處激活函數(shù)有多種選擇就可以。
感知機的應用
與門
真值表如下:
x 1 x_1 x1? | x 2 x_2 x2? | y y y |
---|---|---|
0 | 0 | 0 |
1 | 0 | 0 |
0 | 1 | 0 |
1 | 1 | 1 |
我們現(xiàn)在對著感知機的圖,確認取值。
權(quán)重值和偏置 w 1 , w 2 , b w_1,w_2,b w1?,w2?,b有多種取值方式,比如分別?。?.5,0.5,-0.7.
x 1 x_1 x1? | x 2 x_2 x2? | a a a | y y y |
---|---|---|---|
0 | 0 | 0 | 0 |
1 | 0 | -0.2 | 0 |
0 | 1 | -0.2 | 0 |
1 | 1 | 0.3 | 1 |
也可以分別取:1,1,-1.3.
x 1 x_1 x1? | x 2 x_2 x2? | a a a | y y y |
---|---|---|---|
0 | 0 | 0 | 0 |
1 | 0 | -0.3 | 0 |
0 | 1 | -0.3 | 0 |
1 | 1 | 0.7 | 1 |
或門
真值表如下:
x 1 x_1 x1? | x 2 x_2 x2? | y y y |
---|---|---|
0 | 0 | 0 |
1 | 0 | 1 |
0 | 1 | 1 |
1 | 1 | 1 |
權(quán)重值和偏置 w 1 , w 2 , b w_1,w_2,b w1?,w2?,b有多種取值方式,比如分別?。?.5,0.5,-0.2.
x 1 x_1 x1? | x 2 x_2 x2? | a a a | y y y |
---|---|---|---|
0 | 0 | 0 | 0 |
1 | 0 | 0.3 | 1 |
0 | 1 | 0.3 | 1 |
1 | 1 | 0.7 | 1 |
感知機與深度學習
感知機與神經(jīng)網(wǎng)絡
單一感知機只能實現(xiàn)簡單的功能,但是數(shù)以萬計、數(shù)以億計的感知機配合起來,可以處理的問題就不那么簡單嘍。我們把感知機組成的整體,稱為“神經(jīng)網(wǎng)絡”文章來源:http://www.zghlxwxcb.cn/news/detail-418827.html
感知機和深度學習什么關(guān)系呢?
以感知機的應用部分的“與門”為例,我們根據(jù)與門的真值表,人工給他確定了權(quán)重和偏置,讓感知機實現(xiàn)了與門的功能??墒菙?shù)以萬計的感知機組成的網(wǎng)絡,會有難以計數(shù)的權(quán)重和偏置,這個時候人工確認它們的取值不再現(xiàn)實。深度學習算法便可以解決這個問題,深度學習會根據(jù)真值表,學習出一個可能的權(quán)重和偏置,來實現(xiàn)與門的功能,不再需要人來確認參數(shù)。文章來源地址http://www.zghlxwxcb.cn/news/detail-418827.html
到了這里,關(guān)于什么是感知機——圖文并茂,由淺入深的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!