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())

运行结果:

相关推荐
Tezign_space几秒前
企业级AI发展新趋势:Copilot、流程自动化与智能体系统
人工智能·自动化·copilot·dam·上下文工程·gea·智能体系统
计算机毕业编程指导师2 分钟前
【Python大数据选题】基于Hadoop+Spark奥运会金牌榜可视化分析系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习 数据挖掘
大数据·hadoop·python·计算机·spark·毕业设计·奥运会金牌
历程里程碑2 分钟前
Linux 9:GCC编译全流程详解
linux·运维·服务器·c语言·笔记·编辑器·vim
木斯佳2 分钟前
HarmonyOS 6实战(源码教学篇)— Speech Kit 新特性【仿某云音乐实现并集成AI字幕】
人工智能·华为·harmonyos
hhcgchpspk2 分钟前
python实现音频淡入淡出功能
python·程序人生·音视频·pygame
愚公搬代码2 分钟前
【愚公系列】《AI+直播营销》050-销讲型直播内容策划(销讲型直播的社群4步销售法)
人工智能
袋鼠云数栈3 分钟前
袋鼠云产品功能更新报告(第16期)|离线开发新进化:AI辅助与架构升级
大数据·人工智能·架构
曲幽3 分钟前
FastAPI异步多线程:从踩坑到精通,解锁高性能API的正确姿势
python·flask·fastapi·web·thread·async·httpx·asyncio
Joker可视化开发平台4 分钟前
Joker重磅发布AIx智绘工坊!无限画布重构AI创意生产新范式
人工智能·ai
贵州晓智信息科技4 分钟前
一组高质量 .AI 域名资产整理与出售说明
人工智能