机器学习基础入门
机器学习是人工智能的一个重要分支,本文将介绍机器学习的基础概念。
什么是机器学习?
机器学习是一种让计算机系统通过数据学习和改进性能的技术,而不是通过显式编程。
机器学习的三大类别
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
数据预处理的重要性
- 处理缺失值
- 标准化/归一化特征
- 处理不平衡的数据集
- 移除异常值
学习资源
- 官方文档:Scikit-learn
- 在线课程:Andrew Ng 机器学习课程
- 实战平台:Kaggle
更新日期: 2025-11-11 难度等级: ⭐ 初级