机器学习简介
机器学习是人工智能的一个重要分支,它主要研究如何让计算机系统自动地从数据中学习并改进。
关键概念
- 数据驱动的决策
- 模式识别
- 自动化学习过程
监督学习
监督学习是最常见的机器学习类型,它使用已标记的数据来训练模型。
# 简单的监督学习示例
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
model = LogisticRegression()
model.fit(X_train, y_train)
无监督学习
无监督学习处理未标记的数据,寻找数据中的隐藏模式和结构。它在数据分析和特征学习中发挥重要作用。
主要算法类型
聚类算法
将相似的数据点分组,常用算法:
- K-means聚类
- 层次聚类
- DBSCAN密度聚类
降维算法
减少数据维度,保留重要特征:
- 主成分分析(PCA)
- t-SNE
- 自编码器
# K-means聚类示例
from sklearn.cluster import KMeans
kmeans = KMeans(n_clusters=3, random_state=42)
clusters = kmeans.fit_predict(X)
# PCA降维示例
from sklearn.decomposition import PCA
pca = PCA(n_components=2)
X_reduced = pca.fit_transform(X)
强化学习
强化学习通过智能体与环境的交互来学习最优策略,是一种目标导向的学习方法。
核心要素
状态 (State)
环境在某一时刻的表示,包含做决策所需的信息。
动作 (Action)
智能体可以采取的行为,影响环境状态的改变。
奖励 (Reward)
评估动作好坏的信号,指导策略的学习方向。
常用算法
基于值的方法
- Q-Learning
- Deep Q-Network (DQN)
- Double DQN
基于策略的方法
- 策略梯度 (Policy Gradient)
- Actor-Critic
- PPO (Proximal Policy Optimization)
# Q-Learning示例
import numpy as np
def q_learning(state, action, reward, next_state, q_table, alpha=0.1, gamma=0.9):
old_value = q_table[state, action]
next_max = np.max(q_table[next_state])
new_value = (1 - alpha) * old_value + alpha * (reward + gamma * next_max)
q_table[state, action] = new_value
return q_table