# 使用Python列表操作
numbers = [1, 2, 3, 4, 5]
squared = [x ** 2 for x in numbers]
print(squared)
[1, 4, 9, 16, 25]
def binary_search(arr, target):
left, right = 0, len(arr) - 1
while left <= right:
mid = (left + right) // 2
if arr[mid] == target:
return mid
elif arr[mid] < target:
left = mid + 1
else:
right = mid - 1
return -1
arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]
result = binary_search(arr, 7)
print(f"Element found at index: {result}")
Element found at index: 6
from sklearn.datasets import make_regression
from sklearn.linear_model import LinearRegression
import matplotlib.pyplot as plt
# 生成数据
X, y = make_regression(n_samples=100, n_features=1, noise=10)
# 训练模型
model = LinearRegression()
model.fit(X, y)
# 预测
predictions = model.predict(X)
# 可视化
plt.scatter(X, y, color='blue')
plt.plot(X, predictions, color='red')
plt.xlabel('X')
plt.ylabel('y')
plt.title('Linear Regression Fit')
plt.show()
Minimum found at x = 3.0
import numpy as np
# 梯度下降优化 y = (x - 3)^2 的最小值
def gradient_descent(learning_rate=0.1, epochs=100):
x = 0 # 初始点
for i in range(epochs):
gradient = 2 * (x - 3) # y = (x-3)^2 的导数
x -= learning_rate * gradient
return x
minimum = gradient_descent()
print(f"Minimum found at x = {minimum}")
Minimum found at x = 3.0
知识点:
案例解析:
import tensorflow as tf
from tensorflow.keras import layers, models
# 加载 MNIST 数据集
(X_train, y_train), (X_test, y_test) = tf.keras.datasets.mnist.load_data()
X_train, X_test = X_train / 255.0, X_test / 255.0 # 归一化
# 构建简单的神经网络模型
model = models.Sequential([
layers.Flatten(input_shape=(28, 28)),
layers.Dense(128, activation='relu'),
layers.Dense(10, activation='softmax')
])
# 编译和训练模型
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
history = model.fit(X_train, y_train, epochs=5, validation_data=(X_test, y_test))
# 评估模型
test_loss, test_acc = model.evaluate(X_test, y_test)
print(f'Test accuracy: {test_acc}')
from tensorflow.keras import datasets, layers, models
import matplotlib.pyplot as plt
# 加载 CIFAR-10 数据集
(X_train, y_train), (X_test, y_test) = datasets.cifar10.load_data()
X_train, X_test = X_train / 255.0, X_test / 255.0 # 归一化
# 构建 CNN 模型
model = models.Sequential([
layers.Conv2D(32, (3, 3), activation='relu', input_shape=(32, 32, 3)),
layers.MaxPooling2D((2, 2)),
layers.Conv2D(64, (3, 3), activation='relu'),
layers.MaxPooling2D((2, 2)),
layers.Conv2D(64, (3, 3), activation='relu'),
layers.Flatten(),
layers.Dense(64, activation='relu'),
layers.Dense(10, activation='softmax')
])
# 编译和训练模型
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
history = model.fit(X_train, y_train, epochs=10,
validation_data=(X_test, y_test))
# 可视化训练过程
plt.plot(history.history['accuracy'], label='accuracy')
plt.plot(history.history['val_accuracy'], label='val_accuracy')
plt.xlabel('Epoch')
plt.ylabel('Accuracy')
plt.legend(loc='lower right')
plt.show()
import gym
import numpy as np
env = gym.make('CartPole-v1')
Q = np.zeros([env.observation_space.shape[0], env.action_space.n]) # Q 表
# 简化的伪代码,完整实现略
def simple_q_learning(env, Q, episodes=1000):
for episode in range(episodes):
state = env.reset()
done = False
while not done:
action = np.argmax(Q[state]) # 选择行动
next_state, reward, done, _ = env.step(action)
Q[state, action] = Q[state, action] + 0.1 * (reward + np.max(Q[next_state]) - Q[state, action])
state = next_state
simple_q_learning(env, Q)
from transformers import BertTokenizer, TFBertForSequenceClassification
import tensorflow as tf
# 加载预训练的 BERT 模型
tokenizer = BertTokenizer.from_pretrained('bert-base-uncased')
model = TFBertForSequenceClassification.from_pretrained('bert-base-uncased')
# 编码输入数据
inputs = tokenizer("Hello, how are you?", return_tensors="tf")
outputs = model(inputs)
logits = outputs.logits
# 获取分类结果
predicted_class = tf.argmax(logits, axis=1).numpy()
print(f"Predicted class: {predicted_class}")
本学习路线详细分解了人工智能学习过程中涉及的各个知识点,并通过具体案例对其进行了深入解析。学习者应从基础知识入手,逐步深入到机器学习和深度学习领域,再到高级应用、项目实践和前沿研究,持续学习和实践,不断提升自己的能力。