人工智能从入门到精通(5)

第五天

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的选择

自定义损失函数

import tensorflow as tf
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={x:X[start:end],y_:Y[start:end]})
        print(sess.run(w1))

输出:
[[ 1.01934695]
 [ 1.04280889]]

在预测商品销量时,预测多了,损失制造成本,预测少了,损失销售成本。如果成本1元,销售利润10元,则预测少了,则损失更多。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
人工智能(Artificial Intelligence,简称AI)是一门研究如何使计算机能够像人一样思考和行动的科学与技术。从入门到精通人工智能需要掌握以下几个方面的知识: 1. 机器学习(Machine Learning):机器学习是人工智能的核心技术之一,它通过让计算机从数据中学习并改进性能,实现自主学习和预测能力。入门时可以学习常见的机器学习算法,如线性回归、决策树、支持向量机等,然后深入了解深度学习算法,如神经网络、卷积神经网络、循环神经网络等。 2. 自然语言处理(Natural Language Processing,简称NLP):NLP是研究计算机与人类自然语言之间交互的技术。入门时可以学习文本处理、词向量表示、语义理解等基础知识,然后深入了解机器翻译、情感分析、问答系统等应用。 3. 计算机视觉(Computer Vision):计算机视觉是指让计算机通过摄像头或图像数据来理解和分析视觉信息的技术。入门时可以学习图像处理、特征提取、目标检测等基础知识,然后深入了解图像分类、目标跟踪、人脸识别等应用。 4. 强化学习(Reinforcement Learning):强化学习是一种通过试错和奖惩机制来训练智能体做出决策的方法。入门时可以学习马尔可夫决策过程、值函数、策略梯度等基础知识,然后深入了解深度强化学习、多智能体强化学习等应用。 5. 数据处理与分析:人工智能的应用离不开大量的数据,因此需要学习数据处理与分析的技术。入门时可以学习数据清洗、特征工程、数据可视化等基础知识,然后深入了解数据挖掘、数据建模等应用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值