已知德智育三項成績,總分大於等於95即可當選三好學生。用1代表是,用0代表否。線性問題是可以傳遞的,非線性問題則是所謂的「一票否決制」,如果在一串連續的關係中有乙個非線性關係出現,一般來說,整個問題都將成為非線性的問題。
啟用函式sigmoid:將線性化的關係轉換成非線性化關係的函式,可以把任何數字變成乙個0到1範圍之間的數字。
import tensorflow as tf
import random
import numpy as np
random.seed()
# 批量生成隨機訓練資料
rowcount = 5
# np.full函式的作用是生成乙個多維陣列,並用預定的值來填充
xdata = np.full(shape=(rowcount, 3), fill_value=0, dtype=np.float32)
ytraindata = np.full(shape=rowcount, fill_value=0, dtype=np.float32)
goodcount = 0
# 生成隨機訓練資料的迴圈
for i in range(rowcount):
xdata[i][0] = int(random.random() * 11 + 90)
xdata[i][1] = int(random.random() * 11 + 90)
xdata[i][2] = int(random.random() * 11 + 90)
xall = xdata[i][0] * 0.6 + xdata[i][1] * 0.3 + xdata[i][2] * 0.1
if xall >= 95:
ytraindata[i] = 1
goodcount = goodcount + 1
else:
ytraindata[i] = 0
print("xdata=%s" % xdata)
print("ytraindata=%s" % ytraindata)
print("goodcount=%d" % goodcount)
x = tf.placeholder(shape=[3], dtype=tf.float32)
# ytrain因為只是乙個普通數字,不是向量,如果要給它乙個形態的話,可以用乙個空的方括號""來表示
ytrain = tf.placeholder(shape=, dtype=tf.float32)
# tf.zeros([3]返回乙個全值為0的3維向量
w = tf.variable(tf.zeros([3]), dtype=tf.float32)
b = tf.variable(80, dtype=tf.float32)
wn = tf.nn.softmax(w)
n1 = x*w
n2 = tf.reduce_sum(n1) - b
# tf.reduce_sum函式的作用是把作為它的引數的向量中的所有維度的值相加求和
神經網路,如何解決非線性問題
如果您還記得特徵組合這一單元的話,就會發現以下分類問題屬於非線性問題 圖 1.非線性分類問題。非線性 意味著您無法使用形式為 b w1x1 w2x2 的模型準確 標籤。也就是說,決策面 不是直線。之前,我們了解了對非線性問題進行建模的一種可行方法 特徵組合。現在,請考慮以下資料集 圖 2.更難的非線...
神經網路演算法 解決非線性分類複雜問題
把神經元模擬成乙個邏輯單元,在神經網路的模型中,神經元收到來自n個其他神經元傳遞過來的輸入訊號,這些輸入訊號通過帶權重的連線進行傳遞,神經元收到的總輸入值將與神經元的閾值進行比較,然後通過啟用函式 activation funciton 處理以產生神經元的輸出。把許多個這樣的神經元按一定的層次結構連...
機器學習,深度學習,神經網路,深度神經網路
先來說一下這幾者之間的關係 人工智慧包含機器學習,機器學習包含深度學習 是其中比較重要的分支 深度學習源自於人工神經網路的研究,但是並不完全等於傳統神經網路。所以深度學習可以說是在傳統神經網路基礎上的公升級。神經網路一般有輸入層 隱藏層 輸出層,一般來說隱藏層大於2的神經網路就叫做深度神經網路,深度...