Skip to content

机器学习基础入门

机器学习是人工智能的一个重要分支,本文将介绍机器学习的基础概念。

什么是机器学习?

机器学习是一种让计算机系统通过数据学习和改进性能的技术,而不是通过显式编程。

机器学习的三大类别

1. 监督学习(Supervised Learning)

使用带标签的数据进行训练,预测目标变量。

常见任务:

  • 分类(Classification)- 预测离散的类别
  • 回归(Regression)- 预测连续的数值
python
from sklearn.datasets import iris
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split

# 加载数据
X, y = iris.data, iris.target

# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)

# 创建和训练模型
model = DecisionTreeClassifier()
model.fit(X_train, y_train)

# 评估模型
accuracy = model.score(X_test, y_test)
print(f"准确率: {accuracy:.2f}")

2. 无监督学习(Unsupervised Learning)

使用无标签的数据,发现数据中的隐藏模式。

常见任务:

  • 聚类(Clustering)- 将相似的样本分组
  • 降维(Dimensionality Reduction)- 减少特征数量
python
from sklearn.cluster import KMeans
import numpy as np

# 生成示例数据
X = np.random.rand(100, 2)

# 聚类
kmeans = KMeans(n_clusters=3)
labels = kmeans.fit_predict(X)

print(f"聚类标签: {labels}")

3. 强化学习(Reinforcement Learning)

通过与环境交互,学习做出最优决策。

常见应用:

  • 游戏 AI(AlphaGo、Dota 2)
  • 机器人控制
  • 自动驾驶

机器学习的工作流程

1. 问题定义

2. 数据收集

3. 数据预处理

4. 特征工程

5. 模型选择

6. 模型训练

7. 模型评估

8. 超参数调优

9. 模型部署

常用的机器学习算法

分类算法

  • 逻辑回归(Logistic Regression)
  • 决策树(Decision Tree)
  • 随机森林(Random Forest)
  • 支持向量机(SVM)
  • 朴素贝叶斯(Naive Bayes)

回归算法

  • 线性回归(Linear Regression)
  • 岭回归(Ridge Regression)
  • Lasso 回归
  • 弹性网络(Elastic Net)

聚类算法

  • K-means
  • 层级聚类(Hierarchical Clustering)
  • DBSCAN

评估指标

分类任务

  • 准确率(Accuracy)
  • 精准率(Precision)
  • 召回率(Recall)
  • F1 分数
  • ROC-AUC

回归任务

  • 均方误差(MSE)
  • 均方根误差(RMSE)
  • 平均绝对误差(MAE)
  • R² 分数
python
from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score

# 计算指标
accuracy = accuracy_score(y_true, y_pred)
precision = precision_score(y_true, y_pred)
recall = recall_score(y_true, y_pred)
f1 = f1_score(y_true, y_pred)

print(f"准确率: {accuracy:.3f}")
print(f"精准率: {precision:.3f}")
print(f"召回率: {recall:.3f}")
print(f"F1 分数: {f1:.3f}")

常见陷阱和最佳实践

WARNING

过拟合:模型在训练集上表现很好,但在测试集上表现差。

解决方案:

  • 使用正则化技术(L1、L2)
  • 增加训练数据
  • 简化模型复杂度

TIP

数据预处理的重要性

  • 处理缺失值
  • 标准化/归一化特征
  • 处理不平衡的数据集
  • 移除异常值

学习资源


更新日期: 2025-11-11 难度等级: ⭐ 初级

精选开发资源和技术分享 | 致力于 AI 教育和开源社区