国际机器学习大会的创始人之一 Tom Mitchell 对机器学习的定义是: 计算机程序从经验 E 中学习, 解决某一任务 T, 进行某一性能度量 P, 通过 P 测定在 T 上的表现因经验 E 而提高.
- 特征(feature), 自变量
- 标签(label), 因变量 y
- 验证数据集(validation dataset)
- 测试数据集(test dataset)
传统程序是程序员来定义函数, 而在机器学习中是机器训练出函数.
监督学习(Supervised Learning)
**监督学习(Supervised Learning)**是一种机器学习的范式,其中算法从标记好的训练数据中学习并建立一个模型,该模型能够对新的、未标记的数据进行预测或分类。
在监督学习中,训练数据包括输入和相应的输出,算法通过学习输入和输出之间的关系来构建模型。这个模型可以被用来预测或分类新的输入数据,而且它的性能通常通过与标记好的测试数据进行比较来评估。
主要的监督学习任务包括:
- 回归(Regression): 预测连续值的任务,例如房价预测。
- 分类(Classification): 预测离散类别的任务,例如垃圾邮件检测或手写数字识别。
监督学习的基本步骤包括:
- 数据收集: 收集带有标签的训练数据,其中包含输入和对应的输出。
- 数据预处理: 对数据进行清理、标准化和特征工程,以便更好地适应模型。
- 模型选择: 选择适当的监督学习算法,例如线性回归、决策树、支持向量机等。
- 模型训练: 使用训练数据来训练选择的模型。
- 模型评估: 使用测试数据评估模型的性能,通常使用指标如准确率、精确率、召回率等。
- 预测: 针对新数据应用训练好的模型进行预测或分类。
监督学习是机器学习中最常见和重要的任务之一,广泛应用于各种领域:
半监督学习(Semi-Supervised Learning)
**半监督学习(Semi-Supervised Learning)**是机器学习的一种范式,介于监督学习和无监督学习之间。在半监督学习中,算法使用同时包含标记和未标记数据的混合数据集进行训练。
相比于监督学习,半监督学习的训练数据集中包含的标记数据相对较少。与此同时,大部分数据是未标记的,即缺乏对应的输出标签。半监督学习的目标是通过充分利用未标记数据来提高模型性能。
半监督学习的主要优势在于:
- 利用未标记数据: 充分利用未标记数据可以扩大训练集,有助于提高模型的泛化能力。
- 成本效益: 收集和标记大量的训练数据可能很昂贵,半监督学习通过减少对标记数据的依赖,降低了成本。
半监督学习的一些常见方法包括:
- 自训练(Self-training): 使用已标记数据训练初始模型,然后使用该模型对未标记数据进行预测,并将高置信度的预测添加到已标记数据中,反复迭代该过程。
- 半监督 k-均值(Semi-Supervised k-Means): 将 k-均值聚类算法扩展为使用未标记数据进行训练。
- 生成式模型(Generative Models): 使用生成式模型来对标记数据和未标记数据进行建模,以推断未标记数据的标签。
半监督学习在实际应用中常用于那些难以获得大量标记数据的场景,提供了一种有效的方式来利用未标记数据来提升模型性能。
无监督学习
无监督学习是一种机器学习范式,其中模型被训练来在没有标签的数据中发现数据的内在结构和模式。与监督学习不同,无监督学习的目标不是预测标签或输出,而是探索数据的隐藏模式、结构或表示。以下是一些常见的无监督学习任务和算法:
无监督学习任务:
- 聚类(Clustering): 将数据集中的样本分组成不同的簇,使得同一簇内的样本相似度较高,而不同簇之间的相似度较低。常见的聚类算法包括K均值聚类、层次聚类和DBSCAN。
- 降维(Dimensionality Reduction): 通过减少特征的数量,保留数据中的关键信息,降维可以帮助可视化数据和减少计算复杂度。主成分分析(PCA)和 t-分布邻域嵌入(t-SNE)是常见的降维方法。
- 关联规则学习(Association Rule Learning): 发现数据中项之间的关联关系,常用于市场篮分析等。Apriori 算法是一个常见的关联规则学习算法。
- 生成模型(Generative Modeling): 学习数据的生成过程,可以用于生成新的样本。常见的生成模型包括变分
- 自编码器(Variational Autoencoder,VAE)
- 生成对抗网络(Generative Adversarial Network,GAN)
无监督学习算法:
- K均值聚类(K-Means Clustering): 将数据集划分为K个簇,每个簇代表一个聚类中心。
- 主成分分析(Principal Component Analysis,PCA): 通过线性变换将数据投影到一个低维空间,保留数据中的主要变化。
- 自编码器(Autoencoder): 一种神经网络结构,用于学习数据的紧凑表示,包括编码器和解码器。
- 层次聚类(Hierarchical Clustering): 通过构建树状结构(聚类树)来表示数据的聚类关系。
- t-分布邻域嵌入(t-Distributed Stochastic Neighbor Embedding,t-SNE): 一种用于可视化高维数据的非线性降维算法。
无监督学习在处理没有明确标签或类别的数据时非常有用,有助于揭示数据的内在结构和特征。
强化学习(Reinforcement Learning)
**强化学习(Reinforcement Learning)**是机器学习中的一种范式,其中一个智能体(agent)
通过与环境的交互学习,以实现某个目标或最大化累积的奖励。在强化学习中,智能体不会直接接收标记的训练数据,而是通过试错的方式通过与环境的互动学习。
强化学习系统通常包括以下几个关键组成部分:
- 智能体(Agent): 负责进行决策和行动的实体。
- 环境(Environment): 智能体所处的外部系统,对其行为做出响应。
- 状态(State): 描述环境的特定瞬时情况的变量。
- 动作(Action): 智能体可执行的操作。
- 奖励(Reward): 对智能体在特定状态执行特定动作的好坏程度的度量。
强化学习的基本思想是智能体通过观察环境的反馈(奖励或惩罚)来调整其策略,以获得更大的累积奖励。强化学习的目标通常是找到一种最优策略,即在给定环境下能够获得最大累积奖励的策略。
强化学习的应用领域非常广泛,包括但不限于:
- 游戏领域,如围棋、国际象棋和视频游戏。
- 机器人学,用于训练机器人执行特定任务。
- 交通控制,优化交通信号灯系统。
- 金融领域,如股票交易。
- 自动化控制系统,如智能制造。
强化学习算法的一些常见方法:
Q-learning
Deep Q Network (DQN)
策略梯度方法
深度强化学习
这些方法在不同的应用场景中都取得了显著的成果。
深度学习
深度学习是一种机器学习方法,其核心思想是通过构建和训练深度神经网络来实现自动化的特征学习和模式识别。深度学习的主要特点是模型拥有多层(深层)神经网络结构,这些网络通过层层传递数据,逐渐提取高级别的特征表示。
以下是深度学习的一些关键概念和组成部分:
- 神经网络(Neural Networks): 深度学习的基础是神经网络,它是由多个层次相互连接的神经元组成的模型。每一层都包含多个神经元,每个神经元与前一层的所有神经元相连。
- 层(Layers): 神经网络被组织为多个层,包括输入层、隐藏层和输出层。每一层都执行特定的转换,并逐渐提取输入数据的抽象表示。
- 权重(Weights): 每个连接都有一个相关联的权重,这些权重决定了信号在网络中的传递强度。训练过程中,这些权重通过学习进行调整,以优化网络的性能。
- 激活函数(Activation Functions): 在每个神经元中,激活函数用于引入非线性性,使网络能够学习复杂的模式。常见的激活函数包括ReLU(Rectified Linear Unit)和Sigmoid。
- 反向传播(Backpropagation): 是一种训练神经网络的算法,通过计算模型输出与实际标签之间的误差,然后反向传播误差并调整网络中的权重。
- 深度学习框架: 为了方便实现和训练深度学习模型,有许多深度学习框架可用,如TensorFlow、PyTorch和Keras。
深度学习在各种领域都取得了显著的成功,包括:
它的应用范围涉及:
深度学习的兴起主要得益于大规模数据集的可用性、强大的计算硬件和改进的训练算法。
总结
机器学习是一种从数据生成规则, 发现模型, 来帮助我们预测, 判断, 分组和解决问题的技术.
- 监督学习
- 分类算法
- 逻辑回归(Logistic Regression)
- 支持向量机(Support Vector Machines,SVM)
- 决策树(Decision Trees)
- 随机森林(Random Forest)
- K近邻算法(K-Nearest Neighbors,KNN)
- 朴素贝叶斯(Naive Bayes)
- 神经网络(Neural Networks)
- 梯度提升机(Gradient Boosting Machines)
- 多层感知机(Multilayer Perceptron,MLP)
- XGBoost(eXtreme Gradient Boosting)
- 回归算法
- 线性回归(Linear Regression)
- 岭回归(Ridge Regression)
- Lasso回归(Lasso Regression)
- 决策树回归(Decision Tree Regression)
- 随机森林回归(Random Forest Regression)
- 支持向量回归(Support Vector Regression,SVR)
- 梯度提升回归(Gradient Boosting Regression)
- 多层感知机回归(Multilayer Perceptron Regression,MLP)
- 半监督学习
- 自训练(Self-training)
- 半监督K均值(Semi-Supervised K-Means)
- 深度生成模型(Deep Generative Models)
- 联合训练(Co-Training)
- 半监督支持向量机(Semi-Supervised Support Vector Machines)
- 自监督学习(Self-Supervised Learning)
- 半监督聚类(Semi-Supervised Clustering)
- 三角学习(Triplet Learning)
- 半监督生成对抗网络(Semi-Supervised GANs)
- 无监督学习
- 均值聚类(K-Means Clustering)
- 层次聚类(Hierarchical Clustering)
- DBSCAN(Density-Based Spatial Clustering of Applications with Noise)
- 主成分分析(Principal Component Analysis,PCA)
- t-分布邻域嵌入(t-Distributed Stochastic Neighbor Embedding,t-SNE)
- 自编码器(Autoencoder)
- 关联规则学习(Association Rule Learning)
- 高斯混合模型(Gaussian Mixture Model,GMM)
- 非负矩阵分解(Non-negative Matrix Factorization,NMF)
- 聚类的潜在语义分析(Latent Semantic Analysis,LSA)
- 强化学习
- Q-learning(Q学习)
- Deep Q Network (DQN)
- Policy Gradient Methods(策略梯度方法)
- Actor-Critic(演员-评论家算法)
- Proximal Policy Optimization (PPO)
- Deep Deterministic Policy Gradient (DDPG)
- Trust Region Policy Optimization (TRPO)
- Twin Delayed DDPG (TD3)
- Monte Carlo Tree Search (MCTS)
- Deep Reinforcement Learning from Human Preferences (DRLHP)