日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > pytorch >内容正文

pytorch

【深度学习的数学】绘制2×3×1层带sigmoid激活函数的神经网络感知机输出函数的三维图像(神经网络参数使用正态分布随机数)

發布時間:2025/3/20 pytorch 37 豆豆

閱讀博客時,神經網絡的輸入變量剛好為兩個,輸出變量為1個,于是想繪制一下輸出函數的三維圖像是什么樣的

代碼

# -*- coding: utf-8 -*- """ @File : 1.py @Time : 2020/5/25 21:33 @Author : Dontla @Email : sxana@qq.com @Software: PyCharm """ # 第一種創建3D圖形的方法:創建子圖# 用創建子圖的方法畫出來感覺要比下面的方法小一點??from matplotlib import pyplot as plt # 用來繪制圖形from mpl_toolkits.mplot3d import Axes3Dimport numpy as np # 用來處理數據# Dontla:定義sigmoid函數 def sigmoid(x):return 1.0 / (1 + np.exp(-x))# 初始化神經網絡參數(用正態分布隨機數) w1 = np.random.randn(2, 3) b1 = np.random.randn(3) w2 = np.random.randn(3)fig = plt.figure()print('fig的類型:', type(fig), '\n')print('fig:\n', fig, '\n')ax = fig.add_subplot(111, projection='3d')print('ax的類型:', type(ax), '\n')print('ax:\n', ax, '\n')# X = np.arange(-10, 10, 0.25) X = np.arange(-10, 10, 0.1)# Y = np.arange(-10, 10, 0.25) Y = np.arange(-10, 10, 0.1)X, Y = np.meshgrid(X, Y)Z = sigmoid(w2[0] * sigmoid(w1[0, 0] * X + w1[1, 0] * Y + b1[0]) +w2[1] * sigmoid(w1[0, 1] * X + w1[1, 1] * Y + b1[1]) +w2[2] * sigmoid(w1[0, 2] * X + w1[1, 2] * Y + b1[2]))ax.plot_surface(X, Y, Z, cmap='rainbow')plt.show()

結果:



結果每次都不一樣的

參考文章1:【深度學習的數學】激活函數的作用是什么?

參考文章2:python numpy.random.randn()與numpy.random.rand()的區別 (正態分布公式)(標準正態分布 standard normal distribution)

參考文章3:深入淺出python機器學習_如何用python畫三維圖? add_subplot() Axes3D() plot_surface() gca()

總結

以上是生活随笔為你收集整理的【深度学习的数学】绘制2×3×1层带sigmoid激活函数的神经网络感知机输出函数的三维图像(神经网络参数使用正态分布随机数)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。