最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PyTorch零基礎(chǔ)入門之邏輯斯蒂回歸

 更新時間:2021年10月19日 10:47:57   作者:山頂夕景  
PyTorch是一個開源的Python機(jī)器學(xué)習(xí)庫,基于Torch,用于自然語言處理等應(yīng)用程序,它是一個可續(xù)計算包,提供兩個高級功能:1、具有強(qiáng)大的GPU加速的張量計算(如NumPy)。2、包含自動求導(dǎo)系統(tǒng)的深度神經(jīng)網(wǎng)絡(luò)

學(xué)習(xí)總結(jié)

(1)和上一講的模型訓(xùn)練是類似的,只是在線性模型的基礎(chǔ)上加個sigmoid,然后loss函數(shù)改為交叉熵BCE函數(shù)(當(dāng)然也可以用其他函數(shù)),另外一開始的數(shù)據(jù)y_data也從數(shù)值改為類別0和1(本例為二分類,注意x_datay_data這里也是矩陣的形式)。

一、sigmoid函數(shù)

logistic function是一種sigmoid函數(shù)(還有其他sigmoid函數(shù)),但由于使用過于廣泛,pytorch默認(rèn)logistic function叫為sigmoid函數(shù)。還有如下的各種sigmoid函數(shù):

在這里插入圖片描述

二、和Linear的區(qū)別

邏輯斯蒂和線性模型的unit區(qū)別如下圖:

在這里插入圖片描述

sigmoid函數(shù)是不需要參數(shù)的,所以不用對其初始化(直接調(diào)用nn.functional.sigmoid即可)。
另外loss函數(shù)從MSE改用交叉熵BCE:盡可能和真實分類貼近。

在這里插入圖片描述

如下圖右方表格所示,當(dāng) y ^ \hat{y} y^​越接近y時則BCE Loss值越小。

在這里插入圖片描述

三、邏輯斯蒂回歸(分類)PyTorch實現(xiàn)

# -*- coding: utf-8 -*-
"""
Created on Mon Oct 18 08:35:00 2021

@author: 86493
"""
import torch
import torch.nn as nn
import matplotlib.pyplot as plt  
import torch.nn.functional as F
import numpy as np

# 準(zhǔn)備數(shù)據(jù)
x_data = torch.Tensor([[1.0], [2.0], [3.0]])
y_data = torch.Tensor([[0], [0], [1]])


losslst = []

class LogisticRegressionModel(nn.Module):
    def __init__(self):
        super(LogisticRegressionModel, self).__init__()
        self.linear = torch.nn.Linear(1, 1)
        
    def forward(self, x):
    	# 和線性模型的網(wǎng)絡(luò)的唯一區(qū)別在這句,多了F.sigmoid
        y_predict = F.sigmoid(self.linear(x))
        return y_predict
    
model = LogisticRegressionModel()

# 使用交叉熵作損失函數(shù)
criterion = torch.nn.BCELoss(size_average = False)
optimizer = torch.optim.SGD(model.parameters(), 
                            lr = 0.01)

# 訓(xùn)練
for epoch in range(1000):
    y_predict = model(x_data)
    loss = criterion(y_predict, y_data)
    # 打印loss對象會自動調(diào)用__str__
    print(epoch, loss.item())
    losslst.append(loss.item())
    # 梯度清零后反向傳播
    optimizer.zero_grad()
    loss.backward()
    optimizer.step()

# 畫圖
plt.plot(range(1000), losslst)
plt.ylabel('Loss')
plt.xlabel('epoch')
plt.show()


# test
# 每周學(xué)習(xí)的時間,200個點
x = np.linspace(0, 10, 200)
x_t = torch.Tensor(x).view((200, 1))
y_t = model(x_t)
y = y_t.data.numpy()
plt.plot(x, y)
# 畫 probability of pass = 0.5的紅色橫線
plt.plot([0, 10], [0.5, 0.5], c = 'r')
plt.xlabel('Hours')
plt.ylabel('Probability of Pass')
plt.grid()
plt.show()

在這里插入圖片描述

可以看出處于通過和不通過的分界線是Hours=2.5。

在這里插入圖片描述

Reference

pytorch官方文檔

到此這篇關(guān)于PyTorch零基礎(chǔ)入門之邏輯斯蒂回歸的文章就介紹到這了,更多相關(guān)PyTorch 邏輯斯蒂回歸內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解使用Python下載文件的幾種方法

    詳解使用Python下載文件的幾種方法

    這篇文章主要介紹了詳解使用Python下載文件的幾種方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • Python?Pandas中布爾索引的用法詳解

    Python?Pandas中布爾索引的用法詳解

    布爾索引是一種使用?DataFrame?中數(shù)據(jù)的實際值的索引。本文將通過一些示例為大家詳細(xì)講講Python中布爾索引的用法,需要的可以參考一下
    2022-08-08
  • Django中如何使用celery異步發(fā)送短信驗證碼詳解

    Django中如何使用celery異步發(fā)送短信驗證碼詳解

    Celery是Python開發(fā)的分布式任務(wù)調(diào)度模塊,這篇文章主要給大家介紹了關(guān)于Django中如何使用celery異步發(fā)送短信驗證碼的相關(guān)資料,主要內(nèi)容包括基礎(chǔ)介紹、工作原理、完整代碼等方面,需要的朋友可以參考下
    2021-09-09
  • 淺談DataFrame和SparkSql取值誤區(qū)

    淺談DataFrame和SparkSql取值誤區(qū)

    今天小編就為大家分享一篇淺談DataFrame和SparkSql取值誤區(qū),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • Python實現(xiàn)批量解壓文件夾下所有壓縮包

    Python實現(xiàn)批量解壓文件夾下所有壓縮包

    這篇文章主要為大家詳細(xì)介紹了如何使用Python實現(xiàn)批量解壓文件夾下所有壓縮包,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2025-02-02
  • 對Python Class之間函數(shù)的調(diào)用關(guān)系詳解

    對Python Class之間函數(shù)的調(diào)用關(guān)系詳解

    今天小編就為大家分享一篇對Python Class之間函數(shù)的調(diào)用關(guān)系詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • Python3中列表list合并的四種方法

    Python3中列表list合并的四種方法

    這篇文章主要介紹了Python3中列表list合并的四種方法,文章結(jié)尾對每種方法做了總結(jié),需要的朋友可以參考下
    2019-04-04
  • 解決pip安裝報錯required?to?install?pyproject.toml-based?projects問題

    解決pip安裝報錯required?to?install?pyproject.toml-based?projec

    這篇文章主要介紹了解決pip安裝報錯required?to?install?pyproject.toml-based?projects問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • Python使用VIF實現(xiàn)檢測多重共線性

    Python使用VIF實現(xiàn)檢測多重共線性

    多重共線性是指多元回歸模型中有兩個或兩個以上的自變量,它們之間具有高度的相關(guān)性,本文主要介紹了如何使用VIF實現(xiàn)檢測多重共線性,需要的可以參考下
    2023-12-12
  • python寫的一個文本編輯器

    python寫的一個文本編輯器

    這篇文章主要介紹了python寫的一個文本編輯器,大家參考使用吧
    2014-01-01

最新評論

甘洛县| 韶山市| 汤原县| 钟山县| 镇赉县| 奉贤区| 四川省| 奇台县| 涡阳县| 扶风县| 公主岭市| 鄯善县| 新建县| 平顶山市| 衡阳县| 双峰县| 玛纳斯县| 敖汉旗| 米脂县| 盱眙县| 临江市| 定远县| 丰县| 武川县| 红桥区| 定边县| 昌邑市| 桐庐县| 佛教| 昌都县| 惠安县| 区。| 会同县| 无极县| 保康县| 邯郸市| 六安市| 扎囊县| 灵石县| 栖霞市| 绿春县|