女人荫蒂被添全过程13种图片,亚洲+欧美+在线,欧洲精品无码一区二区三区 ,在厨房拨开内裤进入毛片

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

神經(jīng)網(wǎng)絡應用-1

汽車電子技術 ? 來源:Python數(shù)據(jù)分析之旅 ? 作者:cauwfq ? 2023-02-23 16:38 ? 次閱讀

pYYBAGP3JSSAfe_VAAElDQZu_BI075.png

一.項目背景

在前面幾篇文章中,我們介紹了如何搭建神經(jīng)網(wǎng)絡構建神經(jīng)網(wǎng)絡(一)和神經(jīng)網(wǎng)絡的傳播算法構建神經(jīng)網(wǎng)絡(二),本篇在之前基礎上介紹下神經(jīng)網(wǎng)絡的應用。

本次用到的數(shù)據(jù)集是經(jīng)典的MNIST數(shù)據(jù)集,它是由0?9手寫數(shù)字圖片和數(shù)字標簽所組成的,由60000個訓練樣本和10000個測試樣本組成,每個樣本都是一張28 * 28像素的灰度手寫數(shù)字圖片。我們本次任務是通過訓練集數(shù)據(jù)來訓練模型對測試集數(shù)據(jù)進行正確分類,也就是說該模型是分類模型,總體來說還是很簡單的。

poYBAGP3JTCAHxEzAACBuUAEIhQ530.png
#利用Python讀取數(shù)據(jù)集第一張圖片進行展示
import numpy as np
from PIL import Image


#將mnist的訓練數(shù)據(jù)CSV文件加載到一個列表中
training_data_file = open("mnist_train.csv", 'r')
#讀取數(shù)據(jù)
training_data_list = training_data_file.readlines()
#關閉文件
training_data_file.close()
#轉換為二維數(shù)組圖片矩陣
data_0=np.array(training_data_list[0].strip().split(',')[1:]).reshape(28,28)
#array轉換成image
pil_img=Image.fromarray(np.uint8(data_0))
#顯示圖片
pil_img.show()

pYYBAGP3JU2AFS6lAAAM4NcM1Aw318.png

二.實現(xiàn)過程

1.初始化神經(jīng)網(wǎng)絡
   1)初始化神經(jīng)元數(shù)量
   2)初始化權重和學習率
   3)初始化激活函數(shù)
import numpy as np
import scipy.special as S
import matplotlib.pyplot as plt


class neuralNetwork:
    #初始化神經(jīng)網(wǎng)絡,構造函數(shù)
    def __init__(self, inputnodes, hiddennodes, outputnodes, learningrate):
        #設置每個輸入、隱藏、輸出層中的節(jié)點數(shù)
        self.inodes = inputnodes
        self.hnodes = hiddennodes
        self.onodes = outputnodes

        #鏈接權重矩陣,wih和who
        self.wih = np.random.normal(0.0, pow(self.inodes, -0.5), (self.hnodes, self.inodes))
        self.who = np.random.normal(0.0, pow(self.hnodes, -0.5), (self.onodes, self.hnodes))

        #學習率
        self.lr = learningrate

        #創(chuàng)建激活函數(shù)(函數(shù)的另一種定義方法,這樣以后可以直接調用)
        self.activation_function = lambda x: S.expit(x)
2.訓練模型
  1)前向傳播算法
  2)反向更參算法
#訓練神經(jīng)網(wǎng)絡
    def train(self, inputs_list, targets_list):
        #將輸入列表轉換成二維數(shù)組
        inputs = np.array(inputs_list, ndmin=2).T
        targets = np.array(targets_list, ndmin=2).T

        #將輸入信號計算到隱藏層
        hidden_inputs = np.dot(self.wih, inputs)
        #計算隱藏層中輸出的信號(使用激活函數(shù)計算)
        hidden_outputs = self.activation_function(hidden_inputs)
        #將傳輸?shù)男盘栍嬎愕捷敵鰧?        final_inputs = np.dot(self.who, hidden_outputs)
        #計算輸出層中輸出的信號(使用激活函數(shù))
        final_outputs = self.activation_function(final_inputs)

        #計算輸出層的誤差:(target - actual)(預期目標輸出值-實際計算得到的輸出值)
        output_errors = targets - final_outputs
        #隱藏層的誤差:是輸出層誤差按權重分割,在隱藏節(jié)點上重新組合
        hidden_errors = np.dot(self.who.T, output_errors)

        #反向傳播,更新各層權重
        #更新隱層和輸出層之間的權重
        self.who += self.lr * np.dot((output_errors * final_outputs * (1.0 - final_outputs)),
                                     np.transpose(hidden_outputs))
        #更新輸入層和隱藏層之間的權重
        self.wih += self.lr * np.dot((hidden_errors * hidden_outputs * (1.0 - hidden_outputs)), np.transpose(inputs))
3.評估模型
  1)測試集數(shù)據(jù)傳入網(wǎng)絡
  2)計算模型分類準確率
class neuralNetwork:
    #查詢神經(jīng)網(wǎng)絡:接受神經(jīng)網(wǎng)絡的輸入,返回神經(jīng)網(wǎng)絡的輸出
    def query(self, inputs_list):
        #將輸入列表轉換成二維數(shù)組
        inputs = np.array(inputs_list, ndmin=2).T
        #將輸入信號計算到隱藏層
        hidden_inputs = np.dot(self.wih, inputs)
        #將信號從隱藏層輸出
        hidden_outputs = self.activation_function(hidden_inputs)
        #將信號引入到輸出層
        final_inputs = np.dot(self.who, hidden_outputs)
        #將信號從輸出層輸出
        final_outputs = self.activation_function(final_inputs)
        #返回輸出層的輸出值
        return final_outputs


#初始化輸入層神經(jīng)元
input_nodes = 784
#初始化隱藏層神經(jīng)元
hidden_nodes = 200
#輸出層中的節(jié)點數(shù)
output_nodes = 10
#學習率
learning_rate = 0.1

#將mnist的訓練數(shù)據(jù)CSV文件加載到一個列表中
training_data_file = open("mnist_train.csv", 'r')
#讀取數(shù)據(jù)
training_data_list = training_data_file.readlines()
#關閉文件
training_data_file.close()
#為了節(jié)省訓練時間,我們此處選擇前1000條
training_data_list = training_data_list[:10000]
#輸出訓練集數(shù)據(jù)形狀
print('shape training_data_list:', np.shape(training_data_list))

#訓練神經(jīng)網(wǎng)絡
n = neuralNetwork(input_nodes, hidden_nodes, output_nodes, learning_rate)
#5輪迭代
epochs = 5
#開始訓練
print('begin training...')
#遍歷每一輪
for e in range(epochs):
    #批量全集訓練
    for record in training_data_list:
        #轉換成一行數(shù)據(jù),對應一個圖片
        all_values = record.split(',') 
        #轉換為浮點類型數(shù)組,并進行映射, 使其小于1并且非0
        inputs = (np.asfarray(all_values[1:]) / 255.0 * 0.99) + 0.01  
        #初始化目標值
        targets = np.zeros(output_nodes) + 0.01  # 初始化target向量
        #修改目標值對應概率
        targets[int(all_values[0])] = 0.99 
        #開始訓練
        n.train(inputs, targets)  
    #輸出每輪提示信息
    print("train", e, 'finished!')


#進行測試,輸出測試結果
print('begin test...')
#讀入測試集數(shù)據(jù)
test_data_file = open("mnist_test.csv", 'r')
#讀取數(shù)據(jù)
test_data_list = test_data_file.readlines()
#關閉文件
test_data_file.close()

#存儲預測值
scorecard = []
#遍歷每條數(shù)據(jù)
for record in test_data_list:
    #轉換成一行數(shù)據(jù),對應一個圖片
    all_values = record.split(',')  
    #將實際標簽值轉換為整型
    correct_label = int(all_values[0])  # 標簽
    #轉換為浮點類型數(shù)組,并進行映射, 使其小于1并且非0
    inputs = (np.asfarray(all_values[1:]) / 255.0 * 0.99) + 0.01  
    #前向傳播
    outputs = n.query(inputs)
    #找出概率最大值對應標簽
    label = np.argmax(outputs)
    #對比預測標簽與實際標簽是否相等
    if (label == correct_label):
        #如果相等,添加1
        scorecard.append(1)
    else:
        #如果不相等,添加0
        scorecard.append(0)
#轉換為數(shù)組
scorecard_array = np.asarray(scorecard)
#計算準確率
print("correct rate = ", scorecard_array.sum() / scorecard_array.size)

結論:本次項目我們訓練模型選取數(shù)據(jù)比較少,準確率已經(jīng)達到差不多95%,如果選取
更多數(shù)據(jù)進行訓練,準確率會更高,但是訓練時間也會隨之增加。

pYYBAGP3JcGACGhKAAAw80a_jQc011.png


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • python
    +關注

    關注

    56

    文章

    4825

    瀏覽量

    86381
  • 數(shù)據(jù)集

    關注

    4

    文章

    1223

    瀏覽量

    25322
  • 讀取
    +關注

    關注

    0

    文章

    16

    瀏覽量

    8789
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    #硬聲創(chuàng)作季 #人工智能 模式識別-05.3.2 BP神經(jīng)網(wǎng)絡-1

    神經(jīng)網(wǎng)絡BP神經(jīng)網(wǎng)絡識別
    水管工
    發(fā)布于 :2022年10月27日 17:08:37

    [11.2.1]--神經(jīng)網(wǎng)絡1

    機器視覺
    學習電子知識
    發(fā)布于 :2022年11月25日 21:23:48

    8.2 前饋神經(jīng)網(wǎng)絡(1)#人工智能

    人工智能
    jf_49750429
    發(fā)布于 :2022年11月28日 19:34:51

    9.1 卷積神經(jīng)網(wǎng)絡(1)#人工智能

    機器人神經(jīng)網(wǎng)絡人工智能
    jf_49750429
    發(fā)布于 :2022年11月28日 23:09:26

    人腦神經(jīng)網(wǎng)絡和人工神經(jīng)網(wǎng)絡(1)#人工智能

    神經(jīng)網(wǎng)絡
    jf_49750429
    發(fā)布于 :2022年11月29日 02:08:57

    卷積神經(jīng)網(wǎng)絡(1)#人工智能

    人工智能
    jf_49750429
    發(fā)布于 :2022年11月29日 02:56:25

    應用開發(fā):卷積神經(jīng)網(wǎng)絡的應用(1)#硬聲創(chuàng)作季

    移動開發(fā)
    學習電子
    發(fā)布于 :2022年12月28日 13:02:43

    應用開發(fā):深度神經(jīng)網(wǎng)絡(1)#硬聲創(chuàng)作季

    移動開發(fā)
    學習電子
    發(fā)布于 :2022年12月28日 16:26:51

    1 LeNet神經(jīng)網(wǎng)絡(1)#神經(jīng)網(wǎng)絡

    神經(jīng)網(wǎng)絡深度學習
    未來加油dz
    發(fā)布于 :2023年05月16日 15:31:12

    3.1 多層神經(jīng)網(wǎng)絡(1)#神經(jīng)網(wǎng)絡

    神經(jīng)網(wǎng)絡深度學習
    未來加油dz
    發(fā)布于 :2023年05月16日 18:50:18

    6 實現(xiàn)多層神經(jīng)網(wǎng)絡(1)#神經(jīng)網(wǎng)絡

    神經(jīng)網(wǎng)絡深度學習
    未來加油dz
    發(fā)布于 :2023年05月17日 11:42:34

    卷積神經(jīng)網(wǎng)絡(1)#人工智能

    人工智能
    未來加油dz
    發(fā)布于 :2023年07月19日 11:49:43

    RBF神經(jīng)網(wǎng)絡(1)#人工智能

    神經(jīng)網(wǎng)絡人工智能
    未來加油dz
    發(fā)布于 :2023年07月27日 11:25:34

    用Python從頭實現(xiàn)一個神經(jīng)網(wǎng)絡來理解神經(jīng)網(wǎng)絡的原理1

    有個事情可能會讓初學者驚訝:神經(jīng)網(wǎng)絡模型并不復雜!『神經(jīng)網(wǎng)絡』這個詞讓人覺得很高大上,但實際上神經(jīng)網(wǎng)絡算法要比人們想象的簡單。 這篇文章完全是為新手準備的。我們會通過用Python從頭實現(xiàn)一個
    的頭像 發(fā)表于 02-27 15:05 ?930次閱讀
    用Python從頭實現(xiàn)一個<b class='flag-5'>神經(jīng)網(wǎng)絡</b>來理解<b class='flag-5'>神經(jīng)網(wǎng)絡</b>的原理<b class='flag-5'>1</b>

    手寫數(shù)字識別神經(jīng)網(wǎng)絡的實現(xiàn)(1)

    對MNIST數(shù)據(jù)集使用2層神經(jīng)網(wǎng)絡1層隱藏層)實現(xiàn)。
    的頭像 發(fā)表于 06-23 16:57 ?864次閱讀
    手寫數(shù)字識別<b class='flag-5'>神經(jīng)網(wǎng)絡</b>的實現(xiàn)(<b class='flag-5'>1</b>)
    主站蜘蛛池模板: 高青县| 黔西县| 曲麻莱县| 高碑店市| 江川县| 澜沧| 通辽市| 将乐县| 洪雅县| 海兴县| 崇明县| 三台县| 霍州市| 石狮市| 双牌县| 科尔| 琼中| 斗六市| 陆河县| 昌乐县| 永安市| 长海县| 郓城县| 武穴市| 繁昌县| 肃宁县| 白河县| 贡山| 保靖县| 扬州市| 和平区| 云南省| 湖口县| 娱乐| 宁南县| 宣城市| 宁强县| 文登市| 台东市| 淮南市| 苍梧县|