机器学习简介

机器学习是人工智能的一个重要分支,它主要研究如何让计算机系统自动地从数据中学习并改进。

关键概念
  • 数据驱动的决策
  • 模式识别
  • 自动化学习过程

监督学习

监督学习是最常见的机器学习类型,它使用已标记的数据来训练模型。


# 简单的监督学习示例
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