成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

量子機(jī)器學(xué)習(xí):新手指南

譯文
人工智能 機(jī)器學(xué)習(xí)
歡迎來(lái)到量子機(jī)器學(xué)習(xí)世界!本教程將通過一個(gè)使用示例數(shù)據(jù)集的入門級(jí)項(xiàng)目,提供附有代碼的分步走指導(dǎo)。本教程結(jié)束時(shí),您將對(duì)如何使用量子計(jì)算機(jī)來(lái)執(zhí)行機(jī)器學(xué)習(xí)任務(wù)有一番基本的理解,并幫助構(gòu)建您的第一個(gè)量子模型。

?譯者 | 布加迪

審校 | 孫淑娟

簡(jiǎn)介

歡迎來(lái)到量子機(jī)器學(xué)習(xí)世界!本教程將通過一個(gè)使用示例數(shù)據(jù)集的入門級(jí)項(xiàng)目,提供附有代碼的分步走指導(dǎo)。本教程結(jié)束時(shí),您將對(duì)如何使用量子計(jì)算機(jī)來(lái)執(zhí)行機(jī)器學(xué)習(xí)任務(wù)有一番基本的理解,并幫助構(gòu)建您的第一個(gè)量子模型。

但在深入學(xué)習(xí)本教程之前,先了解量子機(jī)器學(xué)習(xí)是什么、它為什么如此令人興奮。

量子機(jī)器學(xué)習(xí)是量子計(jì)算和機(jī)器學(xué)習(xí)交匯的領(lǐng)域。它使用量子計(jì)算機(jī)來(lái)執(zhí)行機(jī)器學(xué)習(xí)任務(wù),比如分類、回歸和聚類。量子計(jì)算機(jī)是一種功能強(qiáng)大的機(jī)器,使用量子比特(量子位)而不是傳統(tǒng)比特來(lái)存儲(chǔ)和處理信息。這使得它們執(zhí)行某些任務(wù)的速度比傳統(tǒng)計(jì)算機(jī)快得多,特別適合涉及大量數(shù)據(jù)的機(jī)器學(xué)習(xí)任務(wù)。

現(xiàn)在直接開始教程吧!

第1步:安裝必要的庫(kù)和依賴項(xiàng)。

我們?cè)诒窘坛讨袑⑹褂肞ennyLane庫(kù)用于量子機(jī)器學(xué)習(xí),使用NumPy用于數(shù)值計(jì)算,使用Matplotlib用于數(shù)據(jù)可視化。您可以通過運(yùn)行以下命令使用pip安裝這些庫(kù):

!pip install pennylane
!pip install numpy
!pip install matplotlib

第2步:加載示例數(shù)據(jù)集。

我們?cè)诒窘坛讨袑⑹褂肐ris數(shù)據(jù)集,該數(shù)據(jù)集由鳶尾花的150個(gè)樣本組成,這些鳶尾花有四個(gè)特征:萼片長(zhǎng)度、萼片寬度、花瓣長(zhǎng)度和花瓣寬度。該數(shù)據(jù)集包含在sklearn庫(kù)中,所以我們可以使用以下代碼來(lái)加載它:

from sklearn import datasets

# Load the iris dataset
iris = datasets.load_iris()
X = iris['data']
y = iris['target']

第3步:將數(shù)據(jù)集分割成訓(xùn)練集和測(cè)試集。

我們將使用訓(xùn)練集來(lái)訓(xùn)練我們的量子模型,使用測(cè)試集來(lái)評(píng)估其性能。我們可以使用來(lái)自sklearn.model_selection 模塊的 train_test_split函數(shù)來(lái)分割數(shù)據(jù)集:

from sklearn.model_selection import train_test_split

# Split the dataset into training and test sets
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

第4步:預(yù)處理數(shù)據(jù)。

在我們可以使用數(shù)據(jù)來(lái)訓(xùn)練量子模型之前,我們需要預(yù)處理數(shù)據(jù)。一個(gè)常見的預(yù)處理步驟是規(guī)范化,即調(diào)整數(shù)據(jù),以便它有零平均值和單位方差。我們可以使用來(lái)自sklearn.preprocessing模塊的 StandardScaler類來(lái)執(zhí)行規(guī)范化:

from sklearn.preprocessing import StandardScaler

# Initialize the scaler
scaler = StandardScaler()

# Fit the scaler to the training data
scaler.fit(X_train)

# Scale the training and test data
X_train_scaled = scaler.transform(X_train)
X_test_scaled = scaler.transform(X_test)

這段代碼初始化StandardScaler對(duì)象,并使用fit方法將其擬合訓(xùn)練數(shù)據(jù)。然后,它使用transform方法來(lái)調(diào)整訓(xùn)練和測(cè)試數(shù)據(jù)。

規(guī)范化之所以是一個(gè)重要的預(yù)處理步驟,是由于它確保數(shù)據(jù)的所有特征都在同一尺度上,這可以改善量子模型的性能。

第5步:定義量子模型。

現(xiàn)在我們準(zhǔn)備使用 PennyLane庫(kù)來(lái)定義量子模型。第一步是導(dǎo)入必要的函數(shù),并創(chuàng)建量子設(shè)備:

import pennylane as qml

# Choose a device (e.g., 'default.qubit')
device = qml.device('default.qubit')

下一步,我們將定義一個(gè)量子函數(shù),它攝入數(shù)據(jù)作為輸入,返回預(yù)測(cè)。我們將使用一個(gè)簡(jiǎn)單的量子神經(jīng)網(wǎng)絡(luò),只有一層量子神經(jīng)元:

@qml.qnode(device)
def quantum_neural_net(weights, data):
# Initialize the qubits
qml.templates.AmplitudeEmbedding(weights, data)

# Apply a layer of quantum neurons
qml.templates.StronglyEntanglingLayers(weights, data)

# Measure the qubits
return qml.expval(qml.PauliZ(0))

該量子函數(shù)攝取兩個(gè)變量:weights(這是量子神經(jīng)網(wǎng)絡(luò)的參數(shù))和data(這是輸入數(shù)據(jù))。

第一行使用來(lái)自 PennyLane的AmplitudeEmbedding模板初始化量子位。該模板將數(shù)據(jù)映射到量子位的振幅上,以便保留數(shù)據(jù)點(diǎn)之間的距離。

第二行使用StronglyEntanglingLayers模板來(lái)應(yīng)用一層量子神經(jīng)元。該模板將一系列糾纏操作應(yīng)用到量子位上,然后量子位可用于實(shí)現(xiàn)通用量子計(jì)算。

最后,最后一行以Pauli-Z度量基礎(chǔ)測(cè)量量子位,并返回預(yù)期值。

第6步:定義成本函數(shù)。

為了訓(xùn)練量子模型,我們需要定義成本函數(shù),以測(cè)量模型性能有多好。就本教程而言,我們將使用均方誤差(MSE)作為成本函數(shù):

def cost(weights, data, labels):
# Make predictions using the quantum neural network
predictions = quantum_neural_net(weights, data)

# Calculate the mean squared error
mse = qml.mean_squared_error(labels, predictions)

return mse

該成本函數(shù)攝取三個(gè)變量:weights(這是量子模型的參數(shù))、data(這是輸入數(shù)據(jù))和labels(這是數(shù)據(jù)的真實(shí)標(biāo)簽)。它使用量子神經(jīng)網(wǎng)絡(luò)基于輸入數(shù)據(jù)做預(yù)測(cè),并計(jì)算預(yù)測(cè)和真實(shí)標(biāo)簽之間的MSE。

MSE是機(jī)器學(xué)習(xí)中的常見成本函數(shù),測(cè)量預(yù)測(cè)值和真實(shí)值之間的平均平方差。較小的MSE表明模型更擬合數(shù)據(jù)。

第7步:訓(xùn)練量子模型。

現(xiàn)在,我們準(zhǔn)備使用梯度下降法來(lái)訓(xùn)練量子模型。我們將使用來(lái)自PennyLane 的AdamOptimizer類來(lái)執(zhí)行優(yōu)化:

# Initialize the optimizer
opt = qml.AdamOptimizer(stepsize=0.01)

# Set the number of training steps
steps = 100

# Set the initial weights
weights = np.random.normal(0, 1, (4, 2))

# Train the model
for i in range(steps):
# Calculate the gradients
gradients = qml.grad(cost, argnum=0)(weights, X_train_scaled, y_train)

# Update the weights
opt.step(gradients, weights)

# Print the cost
if (i + 1) % 10 == 0:
print(f'Step {i + 1}: cost = {cost(weights, X_train_scaled, y_train):.4f}')

這段代碼初始化優(yōu)化器,步長(zhǎng)為0.01,并將訓(xùn)練步數(shù)設(shè)置為100。然后,它將模型的初始權(quán)重設(shè)置為從均值為0、標(biāo)準(zhǔn)差為1的正態(tài)分布中抽取的隨機(jī)值。

在每個(gè)訓(xùn)練步驟中,代碼使用 qml.grad 函數(shù)計(jì)算相對(duì)于權(quán)重的成本函數(shù)梯度。然后,它使用opt.step方法更新權(quán)重,并每10步輸出成本。

梯度下降法是機(jī)器學(xué)習(xí)中常見的優(yōu)化算法,它迭代更新模型參數(shù)以最小化成本函數(shù)。AdamOptimizer是梯度下降的一種變體,它使用自適應(yīng)學(xué)習(xí)率,這可以幫助優(yōu)化更快地收斂。

第8步:評(píng)估量子模型。

我們已經(jīng)訓(xùn)練了量子模型,可以評(píng)估它在測(cè)試集上的性能。我們可以使用以下代碼來(lái)測(cè)試:

# Make predictions on the test set
predictions = quantum_neural_net(weights, X_test_scaled)

# Calculate the accuracy
accuracy = qml.accuracy(predictions, y_test)

print(f'Test accuracy: {accuracy:.2f}')

這段代碼使用量子神經(jīng)網(wǎng)絡(luò)基于測(cè)試集做預(yù)測(cè),并使用qml.accuracy 函數(shù)計(jì)算預(yù)測(cè)準(zhǔn)確性。然后,它輸出測(cè)試準(zhǔn)確性。

第9步:直觀顯示結(jié)果。

最后,我們可以使用Matplotlib直觀顯示量子模型的結(jié)果。比如說,我們可以對(duì)照真實(shí)標(biāo)簽繪制出測(cè)試集的預(yù)測(cè)結(jié)果:

import matplotlib.pyplot as plt

# Plot the predictions
plt.scatter(y_test, predictions)

# Add a diagonal line
x = np.linspace(0, 3, 4)
plt.plot(x, x, '--r')

# Add axis labels and a title
plt.xlabel('True labels')
plt.ylabel('Predictions')
plt.title('Quantum Neural Network')

# Show the plot
plt.show()

這段代碼將對(duì)照真實(shí)標(biāo)簽創(chuàng)建預(yù)測(cè)的散點(diǎn)圖,增添對(duì)角線以表示完美預(yù)測(cè)。然后它為散點(diǎn)圖添加軸線標(biāo)簽和標(biāo)題,并使用plt.show函數(shù)來(lái)顯示。

現(xiàn)在,我們已成功地構(gòu)建了一個(gè)量子機(jī)器學(xué)習(xí)模型,并在示例數(shù)據(jù)集上評(píng)估了性能。

結(jié)果

為了測(cè)試量子模型的性能,我們運(yùn)行了教程中提供的代碼,獲得了以下結(jié)果:

Step 10: cost = 0.5020
Step 20: cost = 0.3677
Step 30: cost = 0.3236
Step 40: cost = 0.3141
Step 50: cost = 0.3111
Step 60: cost = 0.3102
Step 70: cost = 0.3098
Step 80: cost = 0.3095
Step 90: cost = 0.3093
Step 100: cost = 0.3092
Test accuracy: 0.87

這些結(jié)果表明,量子模型能夠從訓(xùn)練數(shù)據(jù)中學(xué)習(xí),并基于測(cè)試集做出準(zhǔn)確的預(yù)測(cè)。在整個(gè)訓(xùn)練過程中,成本穩(wěn)步下降,這表明模型在學(xué)習(xí)過程中不斷改進(jìn)。最終的測(cè)試準(zhǔn)確率為0.87,表現(xiàn)相當(dāng)好,這表明該模型能夠正確地分類大部分測(cè)試樣例。

結(jié)論

量子機(jī)器學(xué)習(xí)是一個(gè)令人興奮的領(lǐng)域,有許多潛在的應(yīng)用,從優(yōu)化供應(yīng)鏈到預(yù)測(cè)股價(jià),不一而足。我們希望本教程能讓您了解量子計(jì)算機(jī)和機(jī)器學(xué)習(xí)的可能性,并激勵(lì)您深入了解這個(gè)誘人的話題。

原文標(biāo)題:??Quantum Machine Learning: A Beginner’s Guide??,作者:SPX?


責(zé)任編輯:華軒 來(lái)源: 51CTO
相關(guān)推薦

2022-05-16 15:37:32

開源軟件

2025-01-13 07:15:00

Monorepo代碼倉(cāng)庫(kù)中項(xiàng)目代碼管理

2010-06-07 16:10:53

HadoopOnDem

2022-04-08 12:56:52

Linux終端命令

2010-05-27 10:42:38

SVN配置文檔

2009-11-16 08:58:43

PHP語(yǔ)言

2010-06-21 12:39:56

OSPF路由協(xié)議

2023-06-12 17:17:52

機(jī)器學(xué)習(xí)量子計(jì)算

2022-02-28 11:02:53

函數(shù)Bash Shell語(yǔ)句

2022-01-20 16:43:38

Bash 腳本ShellLinux

2011-08-23 10:11:10

LinuxTop命令

2010-08-04 09:06:21

Flex安裝

2021-12-30 10:26:37

Bash Shell腳本文件命令

2023-03-15 09:46:07

R Markdown代碼語(yǔ)法

2010-07-01 12:35:46

UML用例圖

2011-03-30 14:07:56

Ubuntu的安裝

2010-08-02 09:36:22

Flex

2021-08-28 17:30:51

LinuxSSH

2010-09-01 16:56:11

無(wú)線局域網(wǎng)

2010-05-17 13:11:07

Subversion安
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 99re免费 | 正在播放国产精品 | 成人免费视频网站在线看 | 国产精品成人久久久久 | 国产欧美视频一区二区 | 国产免费一区二区 | 日韩在线免费看 | 成人av一区| 犬夜叉在线观看 | 国产精品s色 | 国产精品激情在线 | 黄色网址在线免费播放 | 精品视频 免费 | 中文字幕一区二区三 | 99久久99| 欧美精品一区二区三区在线播放 | 欧美亚洲国产一区二区三区 | 国产精品99久久久久久宅男 | 午夜伊人| 久久精品日产第一区二区三区 | 男女视频91 | 久久网站黄| 国产日韩精品一区 | 不卡视频一区 | 精品久久久久一区二区国产 | 久久久91精品国产一区二区三区 | 成年网站在线观看 | 香蕉久久久| 午夜影院在线观看免费 | 91精品国产91久久久久久吃药 | 美女黄视频网站 | 欧美三级在线 | 精品一区二区久久久久久久网站 | 国产精品亚洲第一 | 久久专区| 成年网站在线观看 | 中文字幕一二三 | 精品一级电影 | 久久九 | 亚洲国产日韩欧美 | 国产精品精品视频一区二区三区 |