TensorFlow单层感知机实现
TensorFlow單層感知機(jī)實(shí)現(xiàn)
簡(jiǎn)單感知機(jī)是一個(gè)單層神經(jīng)網(wǎng)絡(luò)。它使用閾值激活函數(shù),正如 Marvin Minsky 在論文中所證明的,只能解決線性可分的問(wèn)題。雖然限制了單層感知機(jī)只能應(yīng)用于線性可分問(wèn)題,但具有學(xué)習(xí)能力已經(jīng)很好了。
當(dāng)感知機(jī)使用閾值激活函數(shù)時(shí),不能使用 TensorFlow 優(yōu)化器來(lái)更新權(quán)重。不得不使用權(quán)重更新規(guī)則:
η 是學(xué)習(xí)率。為了簡(jiǎn)化編程,當(dāng)輸入固定為 +1 時(shí),偏置可以作為一個(gè)額外的權(quán)重。那么,上面的公式可以用來(lái)同時(shí)更新權(quán)重和偏置。
下面討論如何實(shí)現(xiàn)單層感知機(jī):
-
導(dǎo)入所需的模塊:
-
定義要使用的超參數(shù):
-
指定訓(xùn)練數(shù)據(jù)。在這個(gè)例子中,取三個(gè)輸入神經(jīng)元(A,B,C)并訓(xùn)練它學(xué)習(xí)邏輯 AB+BC:
-
定義要用到的變量和用于計(jì)算更新的計(jì)算圖,最后執(zhí)行計(jì)算圖:
-
以下是上述代碼的輸出:
那么,如果使用 Sigmoid 激活函數(shù),而不是閾值激活函數(shù),會(huì)發(fā)生什么?首先,可以使用 TensorFlow 優(yōu)化器來(lái)更新權(quán)重。其次,網(wǎng)絡(luò)將表現(xiàn)得像邏輯回歸。
總結(jié)
以上是生活随笔為你收集整理的TensorFlow单层感知机实现的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: TensorFlow六种激活函数
- 下一篇: TensorFlow反向传播算法实现