目录
1.机器学习
机器学习的定义:一个计算机程序可从经验E(Experience)中学习如何完成任务T(Task),并且随着经验E的增加,性能指标P(performance measure)会不断提高;
拿下西洋棋举例,经验E 就是程序上万次的自我练习的经验而任务 T 就是下棋。性能度量值 P,就是它在与一些新的对手比赛时,赢得比赛的概率。再比如垃圾邮件筛选器,经验E就是程序从垃圾邮件成千上万次的自我练习的经验而任务是当邮件过来时,给邮件分类是正常邮件还是垃圾邮件,性能P就是对垃圾邮件正确分类的准确率;
2.监督学习
监督学习是机器学习的一种方法,它使用已知输入和对应的输出数据来训练模型,以便模型能够预测新的输入数据对应的输出。在监督学习中,训练数据包括输入特征和目标输出,模型通过学习输入和输出之间的关系来进行预测。
监督学习常用于解决分类和回归问题。在分类问题中,模型试图将输入数据分为不同的类别或标签;在回归问题中,模型试图预测连续数值型输出。
常见的监督学习算法包括线性回归、逻辑回归、支持向量机、决策树、随机森林、神经网络等。监督学习是机器学习中最常见和重要的方法之一,被广泛应用于各种领域,如自然语言处理、图像识别、金融预测等。
3.无监督学习
无监督学习是机器学习的一种方法,它用于从未标记、未分类的数据中发现模式、结构和关系。与监督学习不同,无监督学习不需要已知输出的训练数据,而是通过对数据进行聚类、降维、关联规则挖掘等技术来发现数据中的隐藏结构和模式。
在无监督学习中,训练数据只包括输入特征,而没有对应的目标输出。模型需要自主地发现数据中的内在结构和规律,从而能够对数据进行归纳、分类或者分析。
常见的无监督学习算法包括 K均值聚类、DBSCAN、主成分分析(PCA)、关联规则挖掘算法等。
无监督学习在许多领域都有重要应用,如数据挖掘、模式识别、推荐系统等。通过无监督学习,可以从未标记的数据中获取有价值的信息和见解。
4.线性回归
线性回归是一种用于建立输入变量(特征)和连续数值型输出变量之间关系的统计学习方法。它试图通过对输入变量和输出变量之间的线性关系进行建模,来预测新的输入对应的输出。
线性回归模型通常会使用最小二乘法来估计模型的参数,通过最小化观测值和模型预测值之间的残差平方和来确定最优的参数估计值。
线性回归模型的应用非常广泛,包括经济学、金融、社会科学、生物统计学等领域。它是一种简单而有效的预测模型,为数据分析和预测提供了重要的工具。
5.逻辑回归
逻辑回归是一种用于处理分类问题的统计学习方法,尽管其名称中包含“回归”一词,但逻辑回归实际上是一种分类算法,用于预测离散的输出值(类别标签),而不是连续数值型输出。
逻辑回归模型采用了逻辑函数(也称为S形函数)来建模输入变量与输出变量之间的关系,通常用于解决二元分类问题,即将输入数据分为两个类别。
逻辑回归在分类问题中有着广泛的应用,如医学诊断、金融风险评估、广告点击率预测等。它是一种简单而有效的分类算法,为处理二元分类问题提供了重要的工具。
6.SVM
SVM是支持向量机(Support Vector Machine)的缩写。支持向量机是一种监督学习算法,常用于分类和回归分析。
在分类问题中,SVM的目标是找到一个最佳的超平面,将不同类别的数据点分开,同时最大化类别之间的间隔。这个超平面的选择是基于支持向量,即离超平面最近的数据点。SVM可以通过核函数将数据映射到高维空间,以便处理非线性分类问题。
在回归问题中,SVM可以用于拟合非线性关系,寻找一个最优的超平面来拟合数据点,同时尽量减小预测值与实际值之间的差异。
SVM具有以下特点:
- 有效处理高维数据:SVM在高维空间中能够有效地处理复杂的数据集。
- 有效处理线性和非线性问题:SVM通过核函数可以处理线性和非线性分类和回归问题。
- 泛化能力强:SVM对于小样本数据具有较好的泛化能力。
SVM是机器学习中常用的强大算法之一,适用于许多领域,如图像识别、文本分类、生物信息学等。
7.训练集和测试集
在机器学习和统计建模中,训练集(Training Set)和测试集(Test Set)是常用的术语,用于评估模型的性能和泛化能力。
训练集用于训练模型,即模型通过学习训练集中的样本数据来调整自身的参数,以使其能够对未知数据做出准确的预测。训练集应包含多样化的样本,以便模型能够学习到不同的模式和特征。
测试集用于评估模型的性能和泛化能力,即模型在未知数据上的表现。测试集应该是模型未曾接触过的数据,以确保评估结果的客观性。通过测试集,可以衡量模型对新数据的预测准确程度,评估模型的泛化能力。
通常,训练集和测试集的划分是在数据集上进行的,可以按照一定的比例划分,例如常见的划分比例是70%的数据用于训练,30%的数据用于测试。另外,还有一种常见的方法是交叉验证(Cross-Validation),它将数据划分为多个子集,依次使用其中一个子集作为测试集,其余子集作为训练集,最终综合多次测试结果来评估模型的性能。
训练集和测试集的合理划分和使用是评估和改进机器学习模型的重要步骤,有助于发现模型的问题并提高模型的泛化能力。
8.查准率,查全率
“查准率”(Precision)和"查全率"(Recall)是在信息检索和统计学中常用的两个指标,用于评估分类模型或搜索引擎的性能。实际上,"查全率"和"召回率"是同一个指标的不同名称,它们在统计学和机器学习领域中是互相通用的。
- 正确肯定(True Positive,TP):预测为真,实际为真
- 正确否定(True Negative,TN):预测为假,实际为假
- 错误肯定(False Positive,FP):预测为真,实际为假
- 错误否定(False Negative,FN):预测为假,实际为真
查准率=TP/(TP+FP)。例,在所有我们预测有恶性肿瘤的病人中,实际上有恶性肿瘤的病人的百分比,越高越好。
查全率=TP/(TP+FN)。例,在所有实际上有恶性肿瘤的病人中,成功预测有恶性肿瘤的病人的百分比,越高越好。
这两个指标通常是相互矛盾的,提高查准率可能会降低查全率,反之亦然。在实际应用中,需要根据具体的场景和需求来权衡这两个指标,并选择合适的模型或算法。
9.F1 score
F1分数是一个常用的评估分类模型性能的指标,它综合了模型的查准率(Precision)和查全率(Recall)。F1分数的计算公式为:
F1 = 2 * (Precision * Recall) / (Precision + Recall)
F1分数的取值范围在0到1之间,值越接近1表示模型的性能越好。它是一个综合考虑了查准率和查全率的指标,适用于那些希望平衡精度和召回率的场景。
10.核函数
核函数是支持向量机(SVM)和其他机器学习算法中的一个重要概念。在SVM中,核函数用于将输入数据映射到高维特征空间,从而使得数据在低维空间中不可分的情况变得线性可分,或者提高在高维空间中的计算效率。
核函数的作用是将输入空间中的数据映射到一个更高维的特征空间中,而不需要显式地计算出这个高维空间的表示。这样做的好处是可以避免在高维空间中进行昂贵的计算,同时仍然可以利用高维空间中的线性特性来解决非线性问题。
一些常见的核函数包括:
线性核函数(Linear Kernel):
K
(
x
,
y
)
=
x
T
y
K(x,y)=x^Ty
K(x,y)=xTy
多项式核函数(Polynomial Kernel):
K
(
x
,
y
)
=
(
x
T
y
+
c
)
d
K(x,y)=(x^Ty+c)^d
K(x,y)=(xTy+c)d
高斯径向基核函数(Gaussian Radial Basis Function Kernel):
K
(
x
,
y
)
=
e
−
∑
j
=
1
n
(
x
j
−
y
j
)
2
2
σ
2
K(x,y)=e^{-\frac{\sum_{j=1}^n{(x_j-y_j)^2}}{2σ^2}}
K(x,y)=e−2σ2∑j=1n(xj−yj)2
拉普拉斯径向基核函数(Laplacian Radial Basis Function Kernel):
K
(
x
,
y
)
=
e
−
∑
j
=
1
n
(
x
j
−
y
j
)
σ
K(x,y)=e^{-\frac{\sum_{j=1}^n{(x_j-y_j)}}{σ}}
K(x,y)=e−σ∑j=1n(xj−yj)
这些核函数可以根据数据的特性和问题的需求来选择。在SVM中,选择合适的核函数对于模型的性能和泛化能力非常重要。
除了SVM,核函数还被广泛应用在其他机器学习算法中,例如核岭回归、核主成分分析等。核函数的使用使得机器学习模型能够处理更加复杂的数据,提高了模型的表达能力和泛化能力。
11.欧几里德范数
欧几里德范数(2范数),也称为欧几里德距离,是欧几里德空间中两个点之间的距离的度量方式。在二维或三维空间中,欧几里德范数可以表示为点(x1, y1)和点(x2, y2)之间的距离公式:
d = ( x 2 − x 1 ) 2 + ( y 2 − y 1 ) 2 2 d = \sqrt[2]{(x_2 - x_1)^2 + (y_2 - y_1)^2} d=2(x2−x1)2+(y2−y1)2
在数据分析和机器学习中,欧几里德范数经常用于计算向量之间的距离,例如在K近邻算法中用于寻找最近邻居,或者在聚类算法中用于计算聚类中心与数据点之间的距离。
12.𝐿2正则化
L2正则化是指在机器学习和统计建模中,通过在模型的损失函数中增加L2范数的惩罚项来限制模型的复杂度。这种正则化方法有助于防止过拟合,提高模型的泛化能力。
在L2正则化中,通常会将模型的损失函数定义为原始损失函数加上正则化项的和。对于线性模型,L2正则化的损失函数可以表示为:
L ( w ) = L o s s ( y , f ( x ; w ) ) + λ ∣ ∣ w ∣ ∣ 2 L(w) = Loss(y, f(x; w)) + λ||w||^2 L(w)=Loss(y,f(x;w))+λ∣∣w∣∣2
其中, L o s s ( y , f ( x ; w ) ) Loss(y, f(x; w)) Loss(y,f(x;w))是原始的损失函数(例如均方误差或交叉熵损失), ∣ ∣ w ∣ ∣ 2 ||w||^2 ∣∣w∣∣2是模型参数w的L2范数的平方,λ是正则化参数,用于控制正则化项在总损失中的权重。
通过增加L2范数的惩罚项,L2正则化可以使得模型参数w更加平滑,防止模型过度拟合训练数据。这样可以有效地提高模型的泛化能力,使得模型在未见过的数据上表现更好。
L2正则化在许多机器学习模型中都有广泛的应用,例如线性回归、逻辑回归、支持向量机等。
13.弗罗贝尼乌斯范数
矩阵的L2范数(也称为Frobenius范数)是一种用于衡量矩阵大小的方法,它类似于向量的L2范数。对于一个m×n的矩阵A,它的L2范数定义为:
∣ ∣ A ∣ ∣ F = ( ∑ ∑ ∣ a i j ∣ 2 ) 2 ||A||_F = \sqrt[2]{(∑∑ |a_{ij}|^2)} ∣∣A∣∣F=2(∑∑∣aij∣2)
其中∑∑表示对矩阵中所有元素进行求和, a i j a_{ij} aij是矩阵A的第i行第j列的元素。
换言之,矩阵的L2范数是矩阵中所有元素的平方和的平方根。
L2范数在矩阵分析和线性代数中具有重要作用,它可以用于衡量矩阵的大小、稳定性以及在优化问题中的正则化等方面。在一些应用中,L2范数也被用来衡量矩阵之间的距离。
总之,矩阵的L2范数是一种重要的矩阵范数,它在数学、工程和机器学习领域都有着广泛的应用。
14.主成分分析
主成分分析(Principal Component Analysis,PCA)是一种常用的数据分析技术,用于降维和数据压缩。通过PCA,可以将高维数据集转换为低维数据集,同时保留大部分原始数据的信息。这种方法通过寻找数据中的主要特征或主成分,来减少数据的复杂性和维度。PCA在数据可视化、模式识别、特征提取等领域有着广泛的应用。
15.高斯分布
高斯分布,又称为正态分布,是概率论和统计学中最重要的概率分布之一。它具有钟形曲线的特征,以均值μ和方差σ^2来描述。在数学上,高斯分布的概率密度函数可以用以下公式表示:
f
(
x
)
=
1
2
π
σ
2
e
−
(
x
−
μ
)
2
2
σ
2
f(x) = \frac{1}{\sqrt{2\pi\sigma^2}}e^{-\frac{(x-\mu)^2}{2\sigma^2}}
f(x)=2πσ21e−2σ2(x−μ)2
这个分布在自然界和人类行为中都有很多实际的应用,例如测量误差、自然现象的变化、心理测量等等。在统计学中,许多现实世界的现象都可以用高斯分布来描述。
16.随机梯度下降法
随机梯度下降法(Stochastic Gradient Descent,SGD)是一种用于优化的迭代方法,它通过不断迭代来最小化损失函数以找到最优解。在每次迭代中,SGD从训练数据中随机选择一个样本来计算梯度,并使用该梯度来更新模型参数。这种方法通常比标准的梯度下降法更快速,特别是在大型数据集上。SGD的主要优点是它可以在每个训练样本上进行更新,从而可以更快地收敛。然而,由于随机选择的样本可能不代表整个数据集,因此SGD的收敛路径可能会更加崎岖不平。
17.小批量梯度下降
小批量梯度下降(Mini-batch Gradient Descent)是一种优化算法,它是梯度下降法的一种变体。在小批量梯度下降中,每次更新模型参数时,并不是使用整个训练集的数据(批量梯度下降),也不是只使用一个样本(随机梯度下降),而是选择一个小批量的数据进行计算梯度并更新参数。这种方法可以兼顾批量梯度下降和随机梯度下降的优点,既可以降低计算成本,又可以更稳定地收敛。小批量梯度下降在实际应用中被广泛使用,特别是在深度学习中。
18.在线学习机制
在线学习机制是一种机器学习方法,它与传统的批量学习方法有所不同。在在线学习中,模型会随着数据的不断到来而不断进行更新和调整,而不是像批量学习那样一次性使用全部数据进行训练。这种方法特别适用于大规模数据集和需要实时决策的场景。
在在线学习机制中,模型通常会接收单个或者小批量的数据点,并且根据这些数据点进行参数更新。这种方法使得模型可以快速适应新的数据,同时也降低了存储和计算资源的需求。
在线学习机制的一个重要应用领域是在实时预测和决策场景下,比如在线广告投放、金融交易风险控制、工业生产过程监控等。在这些场景下,模型需要不断地根据最新的数据进行调整,以便做出最准确的预测和决策。
另外,由于在线学习机制可以不断地从新数据中学习,因此它也能够更好地应对数据的漂移和变化,从而更好地适应实际环境中的变化。
总的来说,在线学习机制在大规模机器学习问题中具有重要意义,它为模型的快速更新和实时决策提供了有效的解决方案。
19.权重衰减
权重衰减(Weight Decay)是一种用于正则化神经网络的技术。在神经网络训练过程中,权重衰减通过向损失函数添加一个惩罚项,以惩罚较大的权重值,从而防止过拟合。
具体来说,对于神经网络的损失函数,通常会添加一个正则化项,该项是权重的平方和乘以一个正则化参数 λ。这个正则化项会在反向传播过程中加入到梯度中,使得权重更新时受到惩罚,促使网络更倾向于学习较小的权重值。这有助于提高模型的泛化能力,使得模型在新的数据上表现更好。
通过权重衰减,神经网络在训练过程中不仅会尽量减小损失函数的值,还会尽量使权重的值保持较小,从而避免过度拟合训练数据。
在实践中,权重衰减通常会应用在优化器的更新规则中,例如在随机梯度下降(SGD)中,权重更新规则可以表示为:
w = w - η * (∂L/∂w + λ * w)
其中 w 表示权重,η 表示学习率,∂L/∂w 表示损失函数关于权重的梯度,λ 表示正则化参数。这样,通过每次更新时都对权重进行衰减,可以有效地控制权重的大小,从而提高模型的泛化能力。
总之,权重衰减是一种常用的正则化方法,用于控制神经网络中权重的大小,以减少过拟合的风险,并提高模型的泛化能力。
20.RMSE
RMSE代表均方根误差(Root Mean Square Error),是一种用于测量预测值与实际值之间差异的统计量。在机器学习和统计学中,RMSE通常用来衡量模型的预测精度,计算方法是将预测值与实际值之间的差的平方求均值,再取平方根。RMSE的值越小,表示模型的预测精度越高。
RMSE的计算公式如下:
R M S E = ∑ i = 1 n ( y ^ i − y i ) 2 n RMSE =\sqrt{\frac{\sum_{i=1}^n{(\hat{y}_i -y_i)^2}}{n}} RMSE=n∑i=1n(y^i−yi)2
其中, y i y_i yi代表实际观测值, y ^ i \hat{y}_i y^i代表模型的预测值,n代表样本数量。Σ表示对所有样本进行求和。
RMSE经常被用来评估回归模型的性能,它可以告诉我们模型的预测值与实际值之间的差异程度。在实际应用中,RMSE通常用来比较不同模型的性能,或者评估同一模型在不同数据集上的表现。
持续更新中!!!!!