Tensorflow2.笔记 - 单层感知机(单输出,多输出)Single Layer Perceptron

本笔记主要记录单层感知机的相关内容,包括单层单输出,和单层多输出。

复制代码
import tensorflow as tf
import numpy as np

tf.__version__


#单层单输出感知机,逻辑回归很类似,主要区别就是激活函数和损失函数不同
#单层感知机的激活函数通常使用sign函数
#逻辑回归的激活函数通常使用sigmoid
#参考资料:https://blog.csdn.net/weixin_60737527/article/details/125455264
#下面的例子为简单的逻辑回归的示例
#x表示1个样本,样本数据维度是3
x = tf.random.normal([1,3])
#权值w默认设置为1,偏置b默认为1
w = tf.ones([3,1])
b = tf.ones([1])
#y表示真实标签
y = tf.constant([1])

with tf.GradientTape() as tape:
    tape.watch([w,b])
    logits = tf.sigmoid(x@w+b)
    loss = tf.reduce_mean(tf.losses.MSE(y, logits))

#求解梯度
grads = tape.gradient(loss, [w, b])
print("Gradients of w:\n", grads[0].numpy())
print("Gradients of b:\n", grads[1].numpy())

#单层多输出感知机
#x表示2个样本,样本数据维度是4
x = tf.random.normal([2,4])
w = tf.random.normal([4,3])
b = tf.zeros([3])
#y表示真实的标签值
y = tf.constant([2,0])

with tf.GradientTape() as tape:
    tape.watch([w,b])
    prob = tf.nn.softmax(x@w+b, axis=1)
    loss = tf.reduce_mean(tf.losses.MSE(tf.one_hot(y, depth=3), prob))

#求解梯度
grads = tape.gradient(loss, [w,b])
print("Gradients of w:\n", grads[0].numpy())
print("Gradients of b:\n", grads[1].numpy())

运行结果:

相关推荐
HZjiangzi几秒前
航空航天大部件检测革新:思看科技无贴点跟踪扫描方案
人工智能·科技·制造
薛定e的猫咪几秒前
基于大型语言模型的多智能体制造系统用于智能车间
人工智能·机器学习·语言模型·制造
WangYaolove13141 分钟前
基于Python的登录网站验证码的生成与识别系统(源码+文档)
python·mysql·django·毕业设计·源码
代码游侠2 分钟前
学习笔记——I2C(Inter-Intergrated Circuit)总线详解
arm开发·笔记·嵌入式硬件·学习·架构
kicikng4 分钟前
智能体来了(西南总部)体系解析:AI调度官与AI Agent指挥官的职责边界与Prompt协作逻辑
人工智能·prompt·智能体·平台化架构·自动化协同
终端域名5 分钟前
资产证券化:区块链在现代战争中的核心价值落地 —— 适配性、应用场景与核心优势
大数据·人工智能·区块链
深蓝电商API6 分钟前
Selenium结合Chrome DevTools协议加速爬取
爬虫·python·selenium·测试工具·chrome devtools
后来后来啊6 分钟前
20261.23 &1.24学习笔记
笔记·学习·算法
光羽隹衡7 分钟前
计算机视觉——Opencv(图像平滑处理)
人工智能·opencv·计算机视觉
天天睡大觉10 分钟前
python命名规则(PEP8编码规则)
开发语言·前端·python