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

量子機器學習:新手指南

譯文
人工智能 機器學習
歡迎來到量子機器學習世界!本教程將通過一個使用示例數據集的入門級項目,提供附有代碼的分步走指導。本教程結束時,您將對如何使用量子計算機來執(zhí)行機器學習任務有一番基本的理解,并幫助構建您的第一個量子模型。

?譯者 | 布加迪

審校 | 孫淑娟

簡介

歡迎來到量子機器學習世界!本教程將通過一個使用示例數據集的入門級項目,提供附有代碼的分步走指導。本教程結束時,您將對如何使用量子計算機來執(zhí)行機器學習任務有一番基本的理解,并幫助構建您的第一個量子模型。

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

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

現在直接開始教程吧!

第1步:安裝必要的庫和依賴項。

我們在本教程中將使用PennyLane庫用于量子機器學習,使用NumPy用于數值計算,使用Matplotlib用于數據可視化。您可以通過運行以下命令使用pip安裝這些庫:

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

第2步:加載示例數據集。

我們在本教程中將使用Iris數據集,該數據集由鳶尾花的150個樣本組成,這些鳶尾花有四個特征:萼片長度、萼片寬度、花瓣長度和花瓣寬度。該數據集包含在sklearn庫中,所以我們可以使用以下代碼來加載它:

from sklearn import datasets

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

第3步:將數據集分割成訓練集和測試集。

我們將使用訓練集來訓練我們的量子模型,使用測試集來評估其性能。我們可以使用來自sklearn.model_selection 模塊的 train_test_split函數來分割數據集:

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步:預處理數據。

在我們可以使用數據來訓練量子模型之前,我們需要預處理數據。一個常見的預處理步驟是規(guī)范化,即調整數據,以便它有零平均值和單位方差。我們可以使用來自sklearn.preprocessing模塊的 StandardScaler類來執(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對象,并使用fit方法將其擬合訓練數據。然后,它使用transform方法來調整訓練和測試數據。

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

第5步:定義量子模型。

現在我們準備使用 PennyLane庫來定義量子模型。第一步是導入必要的函數,并創(chuàng)建量子設備:

import pennylane as qml

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

下一步,我們將定義一個量子函數,它攝入數據作為輸入,返回預測。我們將使用一個簡單的量子神經網絡,只有一層量子神經元:

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

該量子函數攝取兩個變量:weights(這是量子神經網絡的參數)和data(這是輸入數據)。

第一行使用來自 PennyLane的AmplitudeEmbedding模板初始化量子位。該模板將數據映射到量子位的振幅上,以便保留數據點之間的距離。

第二行使用StronglyEntanglingLayers模板來應用一層量子神經元。該模板將一系列糾纏操作應用到量子位上,然后量子位可用于實現通用量子計算。

最后,最后一行以Pauli-Z度量基礎測量量子位,并返回預期值。

第6步:定義成本函數。

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

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

該成本函數攝取三個變量:weights(這是量子模型的參數)、data(這是輸入數據)和labels(這是數據的真實標簽)。它使用量子神經網絡基于輸入數據做預測,并計算預測和真實標簽之間的MSE。

MSE是機器學習中的常見成本函數,測量預測值和真實值之間的平均平方差。較小的MSE表明模型更擬合數據。

第7步:訓練量子模型。

現在,我們準備使用梯度下降法來訓練量子模型。我們將使用來自PennyLane 的AdamOptimizer類來執(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)化器,步長為0.01,并將訓練步數設置為100。然后,它將模型的初始權重設置為從均值為0、標準差為1的正態(tài)分布中抽取的隨機值。

在每個訓練步驟中,代碼使用 qml.grad 函數計算相對于權重的成本函數梯度。然后,它使用opt.step方法更新權重,并每10步輸出成本。

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

第8步:評估量子模型。

我們已經訓練了量子模型,可以評估它在測試集上的性能。我們可以使用以下代碼來測試:

# 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}')

這段代碼使用量子神經網絡基于測試集做預測,并使用qml.accuracy 函數計算預測準確性。然后,它輸出測試準確性。

第9步:直觀顯示結果。

最后,我們可以使用Matplotlib直觀顯示量子模型的結果。比如說,我們可以對照真實標簽繪制出測試集的預測結果:

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

這段代碼將對照真實標簽創(chuàng)建預測的散點圖,增添對角線以表示完美預測。然后它為散點圖添加軸線標簽和標題,并使用plt.show函數來顯示。

現在,我們已成功地構建了一個量子機器學習模型,并在示例數據集上評估了性能。

結果

為了測試量子模型的性能,我們運行了教程中提供的代碼,獲得了以下結果:

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

這些結果表明,量子模型能夠從訓練數據中學習,并基于測試集做出準確的預測。在整個訓練過程中,成本穩(wěn)步下降,這表明模型在學習過程中不斷改進。最終的測試準確率為0.87,表現相當好,這表明該模型能夠正確地分類大部分測試樣例。

結論

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

原文標題:??Quantum Machine Learning: A Beginner’s Guide??,作者:SPX?


責任編輯:華軒 來源: 51CTO
相關推薦

2022-05-16 15:37:32

開源軟件

2025-01-13 07:15:00

Monorepo代碼倉庫中項目代碼管理

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語言

2010-06-21 12:39:56

OSPF路由協(xié)議

2023-06-12 17:17:52

機器學習量子計算

2022-02-28 11:02:53

函數Bash Shell語句

2022-01-20 16:43:38

Bash 腳本ShellLinux

2011-08-23 10:11:10

LinuxTop命令

2010-08-04 09:06:21

Flex安裝

2023-03-15 09:46:07

R Markdown代碼語法

2021-12-30 10:26:37

Bash Shell腳本文件命令

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

無線局域網

2010-05-17 13:11:07

Subversion安
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: av天天爽| 欧美黄色免费网站 | 亚洲一二三区免费 | 麻豆视频在线免费看 | 99婷婷| 久久精品一区二区三区四区 | 自拍 亚洲 欧美 老师 丝袜 | www.9191.com| 成人免费在线播放 | 成人无遮挡毛片免费看 | 欧美日韩国产一区二区三区 | 国产一区二区三区四区 | 中文av电影 | 一区二区三区四区在线 | 日韩欧美一区二区三区免费看 | 免费a v网站 | 久久免费视频观看 | 亚洲精品九九 | 美人の美乳で授乳プレイ | 91 久久 | 精品国产一区二区三区日日嗨 | 在线国产一区二区三区 | 日日夜夜免费精品 | 国产成人精品av | 四虎av电影 | 亚洲国产福利视频 | 中文字幕一区二区三区四区五区 | 亚洲成人一区二区在线 | 成年人黄色免费视频 | 日韩精品久久 | 国产重口老太伦 | 毛片一区二区 | 涩涩视频网站在线观看 | 欧美激情一区二区三区 | 亚洲情侣视频 | 四虎海外 | 伊人婷婷 | 丁香婷婷久久久综合精品国产 | 一本一道久久a久久精品蜜桃 | 久草在线免费资源 | 国产一区二区在线免费观看 |