【机器学习】机器学习基础
什么是机器学习?
机器学习(Machine Learning, ML)是一种人工智能(AI)的分支,指计算机通过数据学习规律并做出预测或决策,而无需明确编程。它的核心目标是让机器能够从经验中学习,逐渐提高自身表现。
机器学习的基本分类
根据任务类型,机器学习主要分为以下几类:
-
监督学习(Supervised Learning)
- 目标:通过已有的标注数据(输入与输出的对应关系)学习一个函数,预测新数据的输出。
- 应用场景:
- 分类:邮件是否是垃圾邮件(垃圾邮件/非垃圾邮件)
- 回归:预测房价、股票走势等
- 常用算法:线性回归、逻辑回归、支持向量机、神经网络等。
-
无监督学习(Unsupervised Learning)
- 目标:处理无标注数据,发现数据的潜在结构或分组规律。
- 应用场景:
- 聚类:客户分组、图像分割
- 降维:数据可视化、特征提取
- 常用算法:K-means、主成分分析(PCA)、自编码器等。
-
强化学习(Reinforcement Learning)
- 目标:通过与环境交互,学习如何采取行动以最大化累计奖励。
- 应用场景:
- 游戏 AI(如 AlphaGo)
- 机器人控制
- 常用算法:Q-learning、深度 Q 网络(DQN)、策略梯度方法。
-
半监督学习(Semi-supervised Learning)
- 目标:结合少量标注数据和大量未标注数据来提高学习效果。
- 应用场景:标注成本高但未标注数据充足的场景(如医学图像分析)。
-
自监督学习(Self-supervised Learning)
- 目标:通过从数据本身生成伪标签,进行无标注数据的预训练。
- 应用场景:自然语言处理(BERT)、图像识别(SimCLR)。
机器学习的主要步骤
-
数据准备
- 收集数据:来自数据库、日志或外部来源。
- 数据预处理:清洗、归一化、填补缺失值、特征工程。
-
模型选择
- 根据任务选择合适的算法(如回归、分类或聚类模型)。
-
模型训练
- 使用训练集数据调整模型的参数,使其表现最佳。
-
模型验证
- 通过验证集评估模型性能,调整超参数(如学习率、正则化系数)。
-
模型测试与部署
- 使用测试集检验模型泛化能力,部署于实际应用中。
常用工具和框架
- 编程语言:Python(主流)、R、Julia
- 框架:
- Scikit-learn(经典算法)
- TensorFlow、PyTorch(深度学习)
- XGBoost、LightGBM(梯度提升树)
应用场景
- 图像识别(如人脸识别、物体检测)
- 自然语言处理(如机器翻译、文本生成)
- 推荐系统(如电影推荐、电商个性化推荐)
- 医疗诊断(如癌症预测、药物研发)
- 自动驾驶(如路径规划、环境感知)