机器学习的基本概念
监督学习(Supervised Learning)
从带有标签的训练数据中学习规律,用于预测或分类。
定义: 根据已有的数据集,知道输入和输出结果之间的关系。根据这种已知的关系,训练得到一个最优 的模型。
在监督学习中训练数据既有特征(feature)又有标签(label),通过训练,让机器可以自己找到特征和标签 之间的联系,在面对只有特征没有标签的数据时,可以判断出标签。
简单理解:可以把监督学习理解为我们教机器如何做事情。
无监督学习(Unsupervised Learning)
从无标签的数据中学习隐藏的结构或模式,用于聚类、降维等任务。
定义: 我们不知道数据集中数据、特征之间的关系,而是要根据聚类或一定的模型得到数据之间的关 系。
在无监督学习中数据只有特征(feature)无标签(label),是一种机器学习的训练方式,它本质上是一个统 计手段,在没有标签的数据里可以发现潜在的一些结构的一种训练方式。
简单理解: 比起监督学习,无监督学习更像是自学,让机器学会自己做事情。
强化学习(Reinforcement Learning)
通过试错的方式学习,根据环境的奖励和惩罚来调整行为。
在强化学习中,包含两种基本的元素:状态与动作,在某个状态下执行某种动作,这便是一种策略,学 习器要做的就是通过不断地探索学习,从而获得一个好的策略。例如:在围棋中, 一种落棋的局面就是 一种状态,若能知道每种局面下的最优落子动作,那就攻无不克/百战不殆了~
若将状态看作为属性,动作看作为标记,易知:监督学习和强化学习都是在试图寻找一个映射,从已知 属性/状态推断出标记/动作, 这样强化学习中的策略相当于监督学习中的分类/回归器。但在实际问题 中,强化学习并没有监督学习那样的标记信息,通常都是在尝试动作后才能获得结果,因此强化学习是 通过反馈的结果信息不断调整之前的策略,从而算法能够学习到:在什么样的状态下选择什么样的动作 可以获得最好的结果。
半监督学习(Semi-supervised Learning)
结合有标签和无标签数据进行学习。
定义: 半监督学习的目标是利用同时包含有标签和无标签的数据来构建一个模型,使得模型能够在测试 阶段更好地泛化到新的、未见过的数据。
半监督学习介于监督学习和无监督学习之间。在半监督学习中,训练数据同时包含有标签的数据和无标 签的数据。
与监督学习不同的是,半监督学习的训练数据中只有一小部分样本是带有标签的,而大部分样本是没有 标签的。通常情况下,获取带有标签的数据可能会比较昂贵或耗费大量的时间,而采集无标签的数据则 相对容易和便宜。
在半监督学习中,无标签的数据可以起到两个重要作用:
(1)利用未标记数据的信息:未标记数据可能包含对数据分布、结构和隐含特征的有用信息,这些信息 可以帮助模型更好地进行泛化。
(2)利用标记数据的传播效应:通过利用标记数据与无标签数据之间的数据分布相似性,可以通过传播 标签信息到无标签样本,进而增强模型的性能。
半监督学习是一个非常有意义且有挑战性的问题,它在现实世界的许多场景中都具有实际应用价值。通 过充分利用未标记数据,半监督学习可以在某些情况下显著提高模型的性能,并且有助于在数据有限的 情况下构建更加健壮和泛化能力强的机器学习模型。
迁移学习(Transfer Learning)
将已学习到的知识迁移到新的任务中。
定义: 强化学习是让一个智能体(agent)在环境中通过尝试和错误来学习行为策略。智能体通过与环 境进行交互,根据奖励信号来调整其行为策略,以达到最大化累积奖励的目标。
在强化学习中,智能体不需要明确地告诉如何执行任务,而是通过尝试和错误的方式进行学习。当智能 体在环境中采取某个动作时,环境会返回一个奖励信号,表示该动作的好坏程度。智能体的目标是通过 与环境交互,学习到一种最优策略,使其在长期累积的奖励最大化。
五大流派
符号主义学派(Symbolists)
强调基于逻辑和符号的推理,代表算法为决策树、逻辑回归等。
符号主义学派(Symbolists)是机器学习领域中的一个重要流派,其理论基础是基于逻辑和符号的推 理。符号主义学派认为智能行为可以通过符号之间的逻辑推理来实现,强调符号表示和符号操作在认知 过程中的重要性。以下是符号主义学派的一些特点和代表性算法:
特点
1. 逻辑推理:符号主义学派倡导基于逻辑推理的方法,通过符号之间的逻辑关系来进行推断和决策。 2. 符号表示:强调使用符号来表示知识和信息,将问题抽象成符号和规则的形式进行处理。
3. 符号操作:通过符号之间的操作和推理来实现智能行为,例如决策树的分裂和逻辑回归的逻辑运 算。
代表性算法
1. 决策树(Decision Tree) :基于树状结构进行分类和回归的算法,通过一系列逻辑判断来进行预 测。
2. 逻辑回归(Logistic Regression) :用于分类任务的线性模型,通过逻辑函数处理输入特征并进 行分类预测。
3. 规则学习(Rule-based Learning) :基于规则的学习方法,将问题表示为一系列规则并进行推 理。
符号主义学派的方法在解决分类、预测等任务时具有一定优势,尤其适用于需要逻辑推理和规则表达的 问题。然而,符号主义学派也存在一些局限性,如处理不确定性和复杂性方面相对困难。因此,在实际 应用中,需要根据具体问题的特点和需求选择合适的学派和算法进行建模和训练。
连接主义学派(Connectionists)
强调神经网络模型,代表算法为深度学习、卷积神经网络等。
连接主义学派(Connectionists)是机器学习领域中的一个重要流派,其理论基础是神经网络模型。连 接主义学派认为通过模拟人脑神经元之间的连接和交互来实现智能行为,强调神经网络的学习和适应能 力。以下是连接主义学派的一些特点和代表性算法:
特点
1. 神经网络模型:连接主义学派使用神经网络模型来进行学习和推断,模拟人脑神经元之间的连接和 传递。
2. 分布式表示:强调信息在神经网络中以分布式表示的形式存储和处理,不同神经元之间共同参与信 息的表示和计算。
3. 学习能力:神经网络具有学习能力,能够通过反向传播等算法不断调整连接权重以适应数据特征。
代表性算法
1. 深度学习(Deep Learning) :基于深层神经网络的学习方法,通过多层次的表示学习来提取数据 的高阶特征。
2. 卷积神经网络(Convolutional Neural Networks ,CNN) :用于图像处理和识别的神经网络结 构,通过卷积和池化操作来提取图像特征。
3. 循环神经网络(Recurrent Neural Networks , RNN) :适用于序列数据的神经网络结构,具有 记忆和时间依赖性。
连接主义学派的方法在图像识别、自然语言处理等领域取得了重大突破,具有处理复杂数据和学习复杂 模式的能力。然而,连接主义学派也面临着训练数据需求大、模型解释性差等挑战。在实际应用中,需 要根据具体问题的特点和需求选择合适的学派和算法进行建模和训练。
进化主义学派(Evolutionaries)
借鉴生物进化理论,代表算法为遗传算法、进化策略等。
进化主义学派(Evolutionaries)是机器学习领域中的一个流派,其理论基础是仿生学和进化算法。进化 主义学派认为可以通过模拟生物进化的过程来解决问题,通过遗传算法等进化算法进行优化和搜索。以 下是进化主义学派的一些特点和代表性算法:
特点
1. 仿生学思想:进化主义学派倡导受生物进化启发的算法和方法,将优胜劣汰、适者生存等原则应用 于问题求解。
2. 进化算法:使用遗传算法、遗传规划等进化算法进行优化和搜索,通过种群演化和基因遗传来寻找 最优解。
3. 全局搜索:进化算法通常适用于全局搜索问题,能够在大范围的解空间中寻找较优解。
代表性算法
1. 遗传算法(Genetic Algorithm) :模拟生物进化的过程,通过选择、交叉和变异等操作来优化问 题的解。
2. 遗传规划(Genetic Programming) :利用遗传算法来演化程序或模型的结构和参数,用于解决 复杂的优化问题。
3. 粒子群算法(Particle Swarm Optimization , PSO) :模拟鸟群或鱼群的行为,通过个体间的 协作和竞争来搜索最优解。
进化主义学派的方法适用于复杂的优化和搜索问题,能够有效处理多模态、多峰和高维度的问题。进化 算法具有一定的并行性和鲁棒性,但在处理实时性要求高的问题时可能存在一定局限性。在实际应用
中,需要根据具体问题的特点和需求选择合适的学派和算法进行建模和求解。
贝叶斯主义学派(Bayesians)
基于贝叶斯定理进行推断,代表算法为朴素贝叶斯、贝叶斯网络等。
贝叶斯主义学派(Bayesians)是机器学习领域中的一个流派,其理论基础是贝叶斯统计理论。贝叶斯 主义学派认为可以通过贝叶斯定理和贝叶斯推断来进行概率建模和推断,强调对不确定性的建模和处 理。以下是贝叶斯主义学派的一些特点和代表性算法:
特点
1. 概率建模:贝叶斯主义学派将问题建模为概率分布,利用贝叶斯定理将先验知识和观测数据结合进 行推断。
2. 不确定性处理:强调对不确定性的建模和量化,通过概率分布来表示模型参数和预测结果的不确定 性。
3. 贝叶斯推断:通过贝叶斯推断方法,如马尔科夫链蒙特卡洛(Markov Chain Monte Carlo, MCMC)等,对后验分布进行抽样估计。
代表性算法
1. 朴素贝叶斯分类器(Naive Bayes Classifier) :基于贝叶斯定理和特征条件独立性假设的分类算 法,适用于文本分类等问题。
2. 贝叶斯网络(Bayesian Network) :用于表示变量之间依赖关系的概率图模型,能够进行推理和 预测。
3. 变分推断(Variational Inference) :一种近似推断方法,通过最大化变分下界来逼近后验分 布。
贝叶斯主义学派的方法能够有效处理不确定性和噪声,适用于小样本学习和决策问题。贝叶斯推断方法 在处理复杂模型和大规模数据时可能面临计算复杂度高的挑战,但近年来随着计算能力的提升和算法的 改进,贝叶斯方法在机器学习领域得到了广泛应用。在实际应用中,贝叶斯主义学派常用于建模和预测 需要考虑不确定性因素的问题。
模糊主义学派(Fuzzyists)
考虑不确定性和模糊性,代表算法为模糊逻辑、模糊聚类等。
模糊主义学派(Fuzzyists)是机器学习领域中的一个流派,其理论基础是模糊逻辑和模糊集合理论。模 糊主义学派认为可以通过模糊概念和模糊推理来处理不确定性和模糊性问题,适用于模糊或模糊边界的 情况。以下是模糊主义学派的一些特点和代表性算法:
特点
1. 模糊概念:模糊主义学派引入模糊概念,允许事物或属性具有连续的隶属度,而非二元的真假值。 2. 模糊推理:通过模糊逻辑和模糊推理规则来进行推断,能够处理模糊规则和模糊关系。
3. 模糊集合:引入模糊集合理论,允许元素的隶属度在0和1之间连续变化,适用于模糊分类和划分问 题。
代表性算法
1. 模糊逻辑系统(Fuzzy Logic System) :基于模糊规则和模糊推理的系统,适用于模糊控制和决 策问题。
2. 模糊聚类(Fuzzy Clustering) :利用模糊集合理论进行聚类分析,允许样本属于多个类别。
3. 模糊关联规则挖掘(Fuzzy Association Rule Mining) :挖掘模糊数据集中的模糊关联规则,发 现模糊数据之间的关联。
模糊主义学派的方法适用于处理模糊性和不确定性较高的问题,能够有效处理模糊规则和模糊关系。模 糊逻辑系统在控制系统、模糊决策和模糊分类等领域有广泛应用。尽管模糊主义学派在一些问题上表现 出色,但在处理复杂的高维数据和大规模问题时可能面临一定的挑战,因此需要根据具体问题的特点和 需求选择合适的学派和算法进行应用。
九种常见算法
线性回归(Linear Regression)
用于预测连续数值的算法。
在线性回归中,我们试图找到一个线性模型来描述自变量(输入特征)与因变量(输出)之间的关系。 线性回归是一种用于预测连续型变量的监督学习算法。其基本思想是通过拟合一个线性方程来描述自变 量与因变量之间的关系,使得模型预测的输出值与实际观测值之间的误差最小化。
线性回归模型通常表示为:
[ y = w_0 + w_1x_1 + w_2x_2 + ... + w_nx_n ]
其中,( y ) 是预测的因变量(输出),( x_1, x_2, ..., x_n ) 是自变量(输入特征),( w_0, w_1, w_2, ..., w_n ) 是模型的参数(权重),通过学习得到最佳的参数值来拟合数据。
线性回归可以分为简单线性回归和多元线性回归两种形式:
1. 简单线性回归:只涉及一个自变量和一个因变量之间的关系。
2. 多元线性回归:涉及多个自变量和一个因变量之间的关系。
线性回归模型的训练过程通常使用最小二乘法来求解最佳参数值,使得模型预测的输出值与实际观测值 的残差平方和最小化。线性回归模型的性能评估通常使用均方误差(Mean Squared Error , MSE)或 R² 等指标来衡量预测的准确性。
线性回归在实际应用中被广泛使用,例如预测房价、销售量、股票价格等连续型变量。然而,线性回归 也有局限性,例如对非线性关系的建模能力有限,适用于简单的线性关系。在实际应用中,可以通过特 征工程、正则化等方法来改进线性回归模型的性能
逻辑回归(Logistic Regression)
用于分类任务的算法。
逻辑回归是一种用于解决分类问题的监督学习算法,尽管它的名字中带有“回归”一词,但实际上逻辑回 归用于解决二分类或多分类问题,而不是回归问题。逻辑回归是一种广义线性模型,通过将线性回归模 型的输出通过一个逻辑函数(Logistic函数)映射到 [0, 1] 范围内,从而得到分类概率。
逻辑回归模型的基本形式如下:
[ P(y=1 | \mathbf{x}) = \frac{1}{1 + e^{-(\mathbf{w}^T\mathbf{x} + b)}} ] [ P(y=0 | \mathbf{x}) = 1 - P(y=1 | \mathbf{x}) ]
其中,( P(y=1 | \mathbf{x}) ) 表示在给定输入特征 ( \mathbf{x} ) 的条件下,输出为类别1的概 率; ( \mathbf{w} ) 是模型的权重参数; ( b ) 是偏置项; ( e ) 是自然对数的底。逻辑回归模型通过 对输入特征进行加权求和,并通过逻辑函数将结果映射到 [0, 1] 的范围内,从而得到分类概率。
在训练过程中,逻辑回归模型通常使用最大似然估计或梯度下降等方法来优化模型参数,使得模型的预 测结果与实际标签尽可能吻合。模型的性能评估通常使用准确率、精确率、召回率、 F1 值等指标来评估 分类的准确性。
逻辑回归广泛应用于二分类和多分类问题,如垃圾邮件识别、疾病诊断、客户流失预测等场景。尽管逻 辑回归在处理线性可分问题上表现良好,但对于非线性问题可能需要结合特征工程、多项式特征、正则 化等方法来提升模型性能。
决策树(Decision Tree)
基于树状结构进行分类和回归的算法。
决策树(Decision Tree)是一种用于解决分类和回归问题的监督学习算法。决策树模型通过树形结构来 表示不同的决策路径和结果,每个内部节点代表一个特征属性的判断条件,每个叶子节点代表一个类别 标签或回归值。
在分类问题中,决策树通过学习训练数据集中的特征属性和类别标签之间的关系,构建一棵树形结构, 使得对于新的输入样本,可以沿着决策树的节点逐步判断特征属性,最终到达叶子节点得到预测的类别 标签。
决策树的训练过程通常包括以下步骤:
1. 选择最佳的特征属性作为当前节点的划分标准,例如信息增益、基尼不纯度等指标来选择最优的划 分属性。
2. 根据选定的划分标准将训练数据集划分为子集,并递归地构建子树。
3. 当满足停止条件时(如节点样本数小于阈值、树的深度达到预设值等),停止分裂并将当前节点标 记为叶子节点,输出类别标签或回归值。
决策树算法具有易于理解、可解释性强的特点,能够处理离散型和连续型特征,并且不需要对数据进行 过多的预处理。然而,决策树容易过拟合训练数据,特别是在处理高维稀疏数据时,可能需要进行剪枝 等操作来避免过拟合。
决策树算法的衍生版本包括随机森林(Random Forest)、梯度提升决策树(Gradient Boosting
Decision Tree)等,这些算法通过集成多棵决策树来提升模型的泛化能力和性能。决策树在实际应用中 被广泛应用于金融风控、医疗诊断、推荐系统等领域。
支持向量机(Support Vector Machine ,SVM)
用于分类和回归任务的算法。
支持向量机(Support Vector Machine ,SVM)是一种用于解决分类和回归问题的监督学习算法,其主 要思想是找到一个最优的超平面来将不同类别的样本分隔开,同时使得边界与支持向量之间的间隔最大 化。
在分类问题中, SVM的目标是找到一个能够将不同类别的样本正确分隔开的超平面。如果样本是线性可 分的,即存在一个超平面可以完全将两类样本分开, SVM会选择使间隔最大化的超平面作为最优超平
面。如果样本不是线性可分的, SVM通过引入核函数(Kernel Function)将样本映射到高维特征空间 中,从而实现在高维空间中找到一个最优的超平面来进行分类。
SVM的优化目标是最大化间隔,即最小化模型的复杂度同时保持分类的准确性。在训练过程中, SVM通 过求解凸优化问题来找到最优的超平面参数,通常采用拉格朗日乘子法等方法进行求解。
SVM在处理高维数据和非线性数据时表现出色,具有良好的泛化能力。它可以用于二分类和多分类问 题,同时也可以应用于回归问题。然而, SVM在处理大规模数据集时可能会受到计算复杂度的限制。
除了标准的SVM算法之外,还有支持向量回归(Support Vector Regression ,SVR)等变体,用于解决 回归问题。 SVM在实际应用中被广泛应用于文本分类、图像识别、生物信息学等领域。
朴素贝叶斯(Naive Bayes)
基于贝叶斯定理进行分类的算法。
朴素贝叶斯(Naive Bayes)是一种基于贝叶斯定理和特征条件独立假设的监督学习算法,常用于解决 分类问题。在朴素贝叶斯算法中,假设特征之间是相互独立的,即给定类别的情况下,特征之间是条件 独立的。
朴素贝叶斯算法的基本思想是通过计算样本属于每个类别的概率,然后选择具有最高概率的类别作为预 测结果。在分类过程中,根据贝叶斯定理计算后验概率,即给定特征条件下类别的概率,然后选择具有 最大后验概率的类别作为预测结果。
朴素贝叶斯算法通常包括以下几种常见的变体:
1. 朴素贝叶斯分类器(Naive Bayes Classifier):用于解决分类问题,如多项式朴素贝叶斯、高斯朴 素贝叶斯、伯努利朴素贝叶斯等。
2. 朴素贝叶斯回归(Naive Bayes Regression):用于解决回归问题,通过对数几率函数拟合数据来 进行回归预测。
3. 半朴素贝叶斯分类器(Semi-Naive Bayes Classifier):在特征之间存在一定相关性的情况下,放 宽朴素贝叶斯算法中特征条件独立的假设。
朴素贝叶斯算法具有计算简单、易于实现、对小规模数据效果良好的特点。然而,由于特征条件独立的 假设可能过于简化实际问题,导致模型在处理特征之间存在相关性的数据时表现不佳。朴素贝叶斯算法 在文本分类、垃圾邮件过滤、情感分析等领域得到广泛应用。
K均值聚类(K-means Clustering)
用于聚类任务的算法。
K均值聚类(K-means Clustering)是一种常用的无监督学习算法,用于将数据集中的样本划分为K个不 同的簇(cluster)。其主要思想是通过迭代的方式将样本分配到K个簇中,使得每个样本与所属簇的中 心点(质心)之间的距离最小化。
K均值聚类的过程如下:
1. 随机初始化K个质心(簇的中心点)。
2. 将每个样本分配到距离最近的质心所属的簇。
3. 更新每个簇的质心为该簇所有样本的平均值。
4. 重复步骤2和步骤3,直到质心的位置不再改变或达到迭代次数。
K均值聚类的优化目标是最小化簇内样本的方差,即使得同一簇内的样本相互之间的距离尽可能小,不同 簇之间的距离尽可能大。
K均值聚类适用于处理大规模数据集和高维数据,通常用于数据压缩、图像分割、异常检测等领域。然
而, K均值聚类对初始质心的选择敏感,可能收敛于局部最优解。因此,通常会多次运行算法以选择最优 的聚类结果。
K均值聚类是一种简单且高效的聚类算法,但在处理非凸形状的簇、不同大小的簇或噪声数据时可能表现
不佳。对于这些情况,可以考虑使用其他聚类算法,如层次聚类、 DBSCAN等。
随机森林(Random Forest)
基于多个决策树的集成学习算法。
随机森林(Random Forest)是一种集成学习方法,通过构建多个决策树来进行分类或回归。随机森林
的基本思想是通过对训练数据集进行有放回抽样(bootstrap采样)生成多个不同的训练子集,然后分别 训练多个决策树模型,最后将这些决策树的结果进行整合,通过投票或平均值来做出最终的预测。
随机森林的主要特点包括:
1. 随机性:在构建每棵决策树时,随机选择特征子集进行训练,以增加模型的多样性和泛化能力。 2. 高准确性:由于随机森林集成了多个决策树,可以有效减少过拟合,提高预测的准确性。
3. 可处理大规模数据:随机森林适用于处理大规模数据集,对高维数据和稀疏数据具有良好的适应 性。
4. 可解释性:相比于单个复杂模型,随机森林通常具有较好的可解释性,可以通过特征重要性来理解 预测结果。
随机森林在分类和回归问题中广泛应用,特别适用于处理复杂的非线性关系和高维数据。它也可以用于 特征选择、异常检测和处理缺失值等任务。
然而,随机森林也有一些缺点,例如模型训练时间较长、模型参数调优相对复杂,对噪声数据敏感等。 在实际应用中,可以通过调整参数、增加树的数量、限制树的深度等方式来优化随机森林模型的性能。
神经网络(Neural Networks)
模拟人脑神经元网络进行学习和预测的算法。
神经网络(Neural Networks)是一种模仿人类大脑神经元网络结构设计的机器学习模型。神经网络由 多个神经元(节点)组成,分为输入层、隐藏层和输出层,每个神经元都与下一层的所有神经元相连, 每条连接都有一个权重。神经网络通过学习调整连接权重,从而实现对输入数据的复杂非线性映射。
神经网络的训练过程通常通过反向传播算法(Backpropagation)来实现,即通过计算损失函数关于权 重的梯度,并根据梯度更新权重,不断优化模型以减小预测误差。常用的神经网络结构包括多层感知机 (Multilayer Perceptron, MLP)、卷积神经网络(Convolutional Neural Networks, CNN)和循环神 经网络(Recurrent Neural Networks, RNN)等。
神经网络在机器学习领域有着广泛的应用,包括图像识别、语音识别、自然语言处理、推荐系统等。由 于神经网络的强大拟合能力和表征学习能力,它能够处理复杂的非线性关系和大规模数据,取得了许多 领域的 state-of-the-art 成果。
然而,神经网络也存在一些挑战,如需要大量的训练数据、计算资源消耗大、模型解释性差等。在实际 应用中,需要根据具体问题选择合适的神经网络结构、优化算法和超参数,以达到最佳的预测性能。
主成分分析(Principal Component Analysis , PCA)
用于降维和特征提取的算法。
主成分分析(Principal Component Analysis , PCA)是一种常用的降维技术,用于将高维数据转换为 低维数据,同时保留数据中最重要的信息。 PCA的目标是通过线性变换将原始数据投影到一个新的坐标 系中,使得投影后的数据具有最大的方差,从而找到数据中的主要特征或主成分。
在PCA中,首先计算数据的协方差矩阵,然后通过特征值分解(Eigen decomposition)得到协方差矩阵 的特征向量和特征值,特征向量即为新坐标系的基向量,特征值表示数据在特征向量方向上的方差大
小。最后,选择最大的特征值对应的特征向量作为主成分,将数据投影到这些主成分上,实现数据的降 维。
PCA在机器学习中有着广泛的应用,包括数据可视化、特征提取、噪声过滤等。通过降低数据的维度, 可以减少数据的冗余信息,加快模型训练速度,降低过拟合风险,并且有助于发现数据中隐藏的模式和 结构。
需要注意的是, PCA假设数据服从高斯分布且具有线性关系,因此在应用PCA之前需要对数据进行预处 理,确保数据满足这些假设。此外, PCA是一种无监督学习方法,仅通过数据本身的结构进行降维,不 能保证最终的低维表示一定对应于最好的分类或回归结果,因此在实际应用中需要结合具体任务需求进 行综合考虑。