人工智慧從入門到精通(5)

2021-08-11 07:18:47 字數 1462 閱讀 3883

tf.where 和tf.greater的用法

import tensorflow as tf

v1=tf.constant([1.0,2.0,3.0,4.0])

v2=tf.constant([4.0,3.0,2.0,1.0])

sess=tf.interactivesession()

print (tf.greater(v1,v2).eval())

print (tf.where(tf.greater(v1,v2),v1,v2).eval())

sess.close()

tf.where前面是條件,後面是true,false的選擇

from numpy.random import randomstate

batch_size=8

x=tf.placeholder(tf.float32,shape=(none,2),name='x-input')

y_=tf.placeholder(tf.float32,shape=(none,1),name='y-input')

w1=tf.variable(tf.random_normal([2,1],stddev=1,seed=1))

y=tf.matmul(x,w1)

loss_less=10

loss_more=1

loss=tf.reduce_sum(tf.where(tf.greater(y,y_),(y-y_)*loss_more,(y_-y)*loss_less))#自定義損失函式

train_step=tf.train.adamoptimizer(0.001).minimize(loss)#目標讓損失函式盡量小

rdm=randomstate(1)

dataset_size=128

x=rdm.rand(dataset_size,2)

y=[[x1+x2+rdm.rand()/10.0-0.05] for (x1,x2) in x]

with tf.session() as sess:

init_op=tf.initialize_all_variables()

sess.run(init_op)

steps=5000

for i in range(steps):

start=(i*batch_size)%dataset_size

end=min(start+batch_size,dataset_size)

sess.run(train_step,feed_dict=)

print(sess.run(w1))

輸出:[[ 1.01934695]

[ 1.04280889]]

在**商品銷量時,**多了,損失製造成本,**少了,損失銷售成本。如果成本1元,銷售利潤10元,則**少了,則損失更多。

人工智慧從入門到精通(2)

今天主要學習tensorflow的計算模型,資料模型和執行模型 tensorflow中每乙個計算都是計算圖上的乙個節點,而節點之間的邊描述了計算之間的依賴關係。import tensorflow as tf g1 tf.graph with g1.as default v tf.get variab...

人工智慧從入門到精通(4)

損失函式的學習 深度學習兩個重要特性 多層和非線性 線性模型的輸出為輸入的加權和,解決問題的能力是有限的 如果乙個神經元的輸出通過乙個非線性函式,那麼整個神經網路的模型也就不再是線性的了。感知機模型無法解決異或問題,唯有加入隱藏層後,才能很好的解決異或問題,因為深層網路有更好的組合特徵提取的功能。分...

人工智慧從入門到放棄 Sklearn實戰(目錄)

目錄01 01 機器學習 02 01 感知機 02 02 感知機原始形式 鳶尾花分類 02 03 感知機對偶形式 鳶尾花分類 02 04 線性回歸 02 05 scikit learn庫之線性回歸 02 06 普通線性回歸 波斯頓房價 特徵選擇 02 07 多元線性回歸 波士頓房價 02 08 多項...