Analisis teknologi asas Python: Cara melaksanakan rangkaian saraf memerlukan contoh kod khusus
Dalam bidang kecerdasan buatan moden, rangkaian saraf adalah salah satu teknologi yang paling biasa digunakan dan penting. Ia mensimulasikan prinsip kerja otak manusia dan merealisasikan tugas yang kompleks melalui sambungan berbilang lapisan neuron. Sebagai bahasa pengaturcaraan yang berkuasa dan mudah digunakan, Python menyediakan sokongan dan kemudahan yang meluas untuk melaksanakan rangkaian saraf. Artikel ini akan menyelidiki teknologi asas rangkaian saraf dan menunjukkan pelaksanaannya melalui contoh kod terperinci.
1. Struktur Rangkaian Neural
Rangkaian saraf terdiri daripada tiga bahagian utama: lapisan input, lapisan tersembunyi dan lapisan output. Lapisan input menerima data mentah atau vektor ciri, lapisan tersembunyi menukar input kepada perwakilan yang lebih abstrak melalui satu siri pemberat dan fungsi pengaktifan, dan akhirnya lapisan output menghasilkan hasil ramalan akhir.
2. Langkah asas untuk melaksanakan rangkaian saraf dalam Python
1. Import perpustakaan yang diperlukan
Dalam Python, kami boleh menggunakan NumPy untuk pengiraan berangka dan Matplotlib untuk operasi visualisasi. Oleh itu, kedua-dua perpustakaan ini perlu diimport terlebih dahulu.
import numpy as np import matplotlib.pyplot as plt
2. Tentukan kelas rangkaian saraf
Dalam kod, kami melaksanakannya dengan mentakrifkan kelas rangkaian saraf. Kelas ini mengandungi fungsi permulaan, fungsi perambatan ke hadapan dan fungsi perambatan belakang.
class NeuralNetwork: def __init__(self, input_size, hidden_size, output_size): self.input_size = input_size self.hidden_size = hidden_size self.output_size = output_size self.W1 = np.random.randn(self.input_size, self.hidden_size) self.W2 = np.random.randn(self.hidden_size, self.output_size) def forward(self, X): self.z1 = np.dot(X, self.W1) self.a1 = self.sigmoid(self.z1) self.z2 = np.dot(self.a1, self.W2) self.output = self.sigmoid(self.z2) def backward(self, X, y): self.error = y - self.output self.delta_output = self.error * self.sigmoid_derivative(self.output) self.error_hidden = self.delta_output.dot(self.W2.T) self.delta_hidden = self.error_hidden * self.sigmoid_derivative(self.a1) self.W2 += self.a1.T.dot(self.delta_output) self.W1 += X.T.dot(self.delta_hidden)
3. Tentukan fungsi pengaktifan dan derivatifnya
Fungsi pengaktifan yang biasa digunakan termasuk fungsi sigmoid dan fungsi ReLU. Terbitan fungsi pengaktifan memainkan peranan penting dalam proses perambatan belakang. Di bawah ialah contoh kod untuk kedua-dua fungsi ini.
def sigmoid(x): return 1 / (1 + np.exp(-x)) def sigmoid_derivative(x): return x * (1 - x) def relu(x): return np.maximum(0, x)
4. Latihan model rangkaian neural
Semasa proses latihan, kita perlu menyediakan data latihan dan label sasaran. Dengan terus memanggil fungsi perambatan ke hadapan dan perambatan belakang, parameter berat secara beransur-ansur dioptimumkan supaya output rangkaian saraf sedekat mungkin dengan label sasaran.
X = np.array([[0, 0], [0, 1], [1, 0], [1, 1]]) y = np.array([[0], [1], [1], [0]]) nn = NeuralNetwork(2, 4, 1) for i in range(10000): nn.forward(X) nn.backward(X, y) print("Output after training:") print(nn.output)
5. Visualisasi hasil
Akhir sekali, kita boleh menggunakan perpustakaan Matplotlib untuk menggambarkan hasil ramalan.
plt.scatter(X[:, 0], X[:, 1], c=nn.output.flatten(), cmap='viridis') plt.title("Neural Network") plt.xlabel("Input1") plt.ylabel("Input2") plt.show()
Dengan menjalankan kod di atas, kita boleh melihat hasil klasifikasi data input oleh rangkaian saraf.
Artikel ini menunjukkan cara menggunakan teknologi asas Python untuk melaksanakan rangkaian saraf melalui contoh kod terperinci. Dengan menggunakan teknologi ini, kami dapat membina dan melatih pelbagai model rangkaian saraf yang kompleks untuk menyelesaikan pelbagai tugas kecerdasan buatan. Saya harap artikel ini akan membantu anda memahami pelaksanaan asas rangkaian saraf dan meningkatkan kemahiran pengaturcaraan Python anda. Mari kita terokai kuasa rangkaian saraf bersama-sama!
Atas ialah kandungan terperinci Analisis teknologi asas Python: cara melaksanakan rangkaian saraf. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!