高效理解机器学习

news2025/2/26 5:11:47

对于初学者来说,机器学习相当复杂,可能很容易迷失在细节的海洋里。本文通过将机器学习算法分为三个类别,梳理出一条相对清晰的路线,帮助初学者理解机器学习算法的基本原理,从而更高效的学习机器学习。原文: Machine Learning in Three Steps: How to Efficiently Learn It[1]

当有志于成为数据科学家的学习者试图学习机器学习算法时,通常会采用两种极端方法。第一种方法是学习并从头实现所有复杂算法,从而期待真正掌握这些算法。另一种方法假设计算机可以自己"学习",因此个人没有必要学习算法,从而导致一些人只依赖于诸如lazypredict之类的工具软件包。

在学习机器学习算法时,比较现实的是在这两个极端中间采取某种方法。不过还有问题,那就是从哪里开始呢?本文中我将把机器学习算法分为三类,并就从什么开始和可以跳过什么提供一些拙见。

机器学习算法的复杂性

由于可用算法众多,开始学习机器学习可能很快就会被压垮。线性回归(linear regression)、支持向量机(SVM, support vector machine)、梯度下降(gradient descent)、梯度增强(gradient boosting)、决策树(decision tree)、LASSO(Least Absolute Shrinkage and Selection Operator)、岭回归(ridge)、网格搜索(grid search)、等等,都是在提出这个问题时立马能够想到的一些算法。

在监督学习领域,这些算法有不同的目的和目标。本文只讨论监督学习。

为了更好的理解各种技术,根据其目标和复杂度级别进行分类是有帮助的。通过将这些算法组织成不同类别和复杂度,可以简化概念,使其更容易理解。这种方法可以极大增强人们对机器学习的理解,并帮助确定用于特定任务或目标的最合适的技术。

当学生深入研究机器学习领域时,可能会因为其复杂性而感到气馁。然而,在付诸实践之前,没有必要学习或熟悉所有算法。机器学习领域的不同职位可能需要不同熟练程度,在某些方面缺乏知识是可以接受的。例如,数据科学家、数据分析师、数据工程师和机器学习研究人员这些不同的角色有不同的要求。

对整个过程有广泛的理解可以使机器学习从业者在时间紧迫的情况下跳过某些技术细节,同时仍然理解整个过程。

Julio Wolf @Unsplash
Julio Wolf @Unsplash

1. 分解机器学习算法

1.1 模型、训练和调优

"机器学习算法"的范围相当广泛,可以分为三种主要类型的算法:

  1. 用于接收输入数据并随后生成预测的 机器学习模型,如线性回归、支持向量机、决策树、KNN等。
  2. 用于创建或优化模型的**模型训练/拟合算法(model training/fitting algorithms)**,即为特定数据集找到模型的参数。不同的机器学习模型有其特定的训练算法。虽然梯度下降是最著名的训练基于数学函数的模型的方法,但其他机器学习模型可以使用不同的技术进行训练,本文将在后面的部分中更详细探讨这些技术。
  3. **超参数调优(hyperparameter tuning)**,即寻找机器学习模型的最优超参数。与训练过程相反,超参数调优的过程通常不依赖于机器学习模型。尽管还有其他替代方法,但网格搜索是执行此任务的一种流行且常用的方法,我们将在本文后面深入讨论。
1.2 三类ML模型

第一种类型涉及能够接收数据并根据该数据生成预测的模型。这些模型可以分为三大类:

  • 基于距离(Distance-based) 的模型,包括K-近邻(K-nearest-neighbors)、线性判别分析(Linear Discriminant Analysis)和二次判别分析(Quadratic Discriminant Analysis)。在scikit-learn库中,这些也被称为" 估算器(estimators)"。
  • 基于决策树(Decision tree) 的模型,例如单个决策树(用于分类或回归)、随机森林(Random Forest)和梯度增强决策树(Gradient-Boosted Decision Trees)。
  • 基于数学函数(Mathematical functions) 的模型,也被称为参数模型,是假设输入和输出之间关系的特定函数形式的模型。可以进一步分为 线性模型(linear model) ,如OLS回归、SVM(具有线性核)、Ridge和LASSO,以及非线性模型,如具有非线性核的SVM和神经网络。
1.3 元模型和集成方法

在机器学习中,元模型(meta-model)是一种将多个个体模型的预测结果结合起来以获得更准确预测的模型,也被称为"堆叠模型(stacked model)"或"超级学习器(super learner)"。构成元模型的个体模型可以是不同类型的或使用不同算法,它们的预测结果可以通过加权平均或其他技术进行组合。

元模型的目标是通过减少个体模型可能存在的方差和偏差来提高预测的总体准确性和鲁棒性,并且通过捕捉数据中更复杂的模式来克服个体模型的局限性。

常见的创建元模型的方法是基于集成的方法,比如打包(bagging)、增强(boosting)或堆叠(stacking)。

  • 打包(Bagging)或Bootstrap Aggregating是一种通过组合基于数据集的不同样本训练多个模型来减少模型方差的机器学习技术。Bagging背后的思想是生成多个模型,每个模型都有一个数据子集,然后组合起来创建一个更健壮、更不易过拟合的模型。
  • 增强(Boosting)是另一种集成方法,将多个弱模型组合在一起创建一个强模型。与Bagging不同的不同之处在于,Bagging是独立训练每个模型,而Boosting是按顺序训练模型,每个新模型都是在之前模型错误分类的数据上进行训练,通过汇总所有模型的预测来完成最终的预测。
  • 堆叠(Stacking)或堆叠泛化(stacked generalization),是一种元模型集成方法,方法是训练多个基本模型,并以基本模型的预测作为更高级模型的输入,高级模型通过结合基本模型的预测来做出最终预测。
  • 随机森林(Random forests)是Bagging的延伸,增加了额外的随机性。除了对数据进行随机抽样外,随机森林还为每个分割随机选择特征子集,从而有助于减少过拟合并增加集合中模型的多样性。

集成方法最常应用于决策树,而非线性回归等线性模型。这是因为决策树比线性模型更容易出现过拟合,而集成方法通过组合多个模型有助于减少过拟合。

决策树有高方差和低偏差,意味着容易过度拟合训练数据,导致在新的、未见过的数据上表现不佳。集成方法通过聚合多个决策树的预测来解决这个问题,从而产生更健壮和准确的模型。

另一方面,线性模型(如线性回归)具有低方差和高偏差,意味着不太容易过度拟合,但可能造成欠拟合。集成方法对线性模型不那么有效,因为模型已经是低方差的,无法从聚合中获益。

然而,在某些情况下,集成方法仍然可以应用于线性模型。例如,Bagging中使用的自举聚合技术可以应用于任何类型模型,包括线性回归。在这种情况下,Bagging算法会对训练数据进行采样,并在自举样本上拟合多个线性回归模型,从而使模型更稳定、更具有鲁棒性。然而,值得注意的是,得到的模型仍然是线性回归模型,而不是元模型。

总的来说,虽然集成方法最常用于决策树,但在某些情况下,也可以与线性模型一起使用,重要的是要记住每种模型的优点和局限性,并为手头的问题选择合适的方法。

1.4 机器学习算法概述

下图提供了三类机器学习算法的摘要,本文后续部分将更深入研究每个类别。

机器学习算法概述
机器学习算法概述

2. 机器学习模型

本节我们将仔细研究机器学习模型的三大类别:

(1) 基于距离的模型

  • 基于距离的模型: KNN
  • 贝叶斯分类: LDA, QDA

(2) 决策树模型

(3) 基于数学函数的模型

  • 线性模型
  • 核支持向量机(kernel SVM)或核岭(kernel ridge)等核化模型(Kernelized models)
  • 神经网络
  • 深度学习模型
2.1 基于距离的模型

第一类机器学习模型是基于距离的模型,这些模型利用数据点之间的距离进行预测。

最简单、最具代表性的模型是K近邻模型(KNN, K-Nearest Neighbors),可以计算新数据点与数据集中所有现有数据点之间的距离,然后选择K个最近的邻居,并将新数据点分配给K个邻居中最常见的类。

在检验K近邻(KNN)算法时,注意到在训练阶段没有建立显式模型。在KNN中,对新观测值的预测是通过在训练集中找到与该观测值最近的K个邻居,并取其目标值的平均值或多数投票来完成的。

与其他算法在训练期间将模型拟合到数据不同,KNN存储整个训练数据集,并简单的计算新观测值与现有数据集之间的距离来进行预测。因此,KNN可以被认为是一种"懒学习(lazy learning)"算法,在训练阶段不主动构建模型,并将决策过程推迟到推理时。

因此,推理/测试阶段可能很慢,可以用更有效的算法(如k-d树)进行优化。

2.2 贝叶斯分类

线性判别分析(LDA,Linear Discriminant Analysis)二次判别分析(QDA,Quadratic Discriminant Analysis) 都是基于距离的模型,利用马氏距离(Mahalanobis distance) 进行预测,马氏距离是点和分布之间距离的度量,因此考虑到了变量之间的相关性。

LDA假设不同类别的方差相同,而QDA假设每个类别的方差不同。这意味着LDA假设所有类别的协方差矩阵是相同的,而QDA允许每个类别有自己的协方差矩阵。

2.3 基于决策树的模型

第二种机器学习模型是基于决策树的模型,也被称为基于规则的模型(rule-based models)。这种模型生成一组规则,用来解释如何做出决策或预测。

决策树的每个分支代表一个规则或条件,用于确定接下来要遵循的数据子集。这些规则通常采用简单的if-then语句的形式,例如"如果变量X的值大于5,则遵循左分支,否则遵循右分支"。

决策树的最终叶节点表示的是基于输入变量值以及相关规则所做出的目标变量预测类/值。

决策树的优点是易于解释和理解,因为规则可以以清晰直观的方式可视化和解释,因此对于向非技术相关方解释预测或决策背后的原因非常有用。

然而,决策树也容易出现过拟合,当模型变得过于复杂,与训练数据拟合过于紧密时,就会出现过拟合,从而导致对新数据的泛化能力差。为了解决这个问题,通常将集成方法应用于决策树。

2.4 基于数学函数的模型

第三类机器学习模型是基于数学函数的模型,基于数学函数模拟输入变量和目标变量之间的关系。线性模型(如普通最小二乘(OLS,Ordinary Least Squares)回归、具有线性核的支持向量机(SVM,Support Vector Machines)、Ridge、LASSO)假设输入变量与目标变量之间的关系是线性的。非线性模型,如具有非线性核的支持向量机和神经网络,可以模拟输入变量和目标变量之间更复杂的关系。

对于基于数学函数的模型,如线性回归或逻辑回归,必须定义损失函数。损失函数衡量模型的预测与实际数据的匹配程度,目标是通过调整模型参数最小化损失函数。

相比之下,对于非数学函数为基础的模型(如KNN或决策树),不需要定义损失函数,而是通过不同的方法进行匹配,例如在KNN的情况下找到最近的邻居,或者在决策树的情况下根据特征值递归分割数据。

在基于数学函数的模型中,定义合适的损失函数至关重要,因为它决定了模型要解决的优化问题。可以根据手头问题使用不同的损失函数,例如回归问题的均方误差或二元分类问题的交叉熵。

值得注意的是,所有具有线性核的线性模型(如OLS、LASSO、Ridge、SVM等),都可以写成线性方程y = wX + b的形式。然而,这些模型之间的区别在于用于估计模型参数w和b的最优值的代价函数。

因此,虽然所有这些模型都可以以相同的数学函数的形式编写,但重要的是要注意选择的代价函数决定了模型的行为和性能,因此可以将它们视为具有不同代价函数的不同模型,而不是具有不同代价函数的同一模型。

非线性模型是解决复杂机器学习问题的强大工具,而线性模型无法充分解决这些问题。在实践中基本上有两种方法: 核技巧(kernel trick)和神经网络。

核技巧是一种有效实现特征映射的方法,无需显式计算转换后的特征。相反,它定义核函数来计算转换后的特征空间中输入样本对之间的相似性。通过使用核函数,可以隐式的将输入数据映射到高维空间,在高维空间中可以更容易的分离和建模。

从这个意义上说,核部分可以看作是特征工程的一种形式,其中模型能够创建更适合手头任务的新特征。这与传统特征工程不一样,在传统特征工程中,人类专家根据领域知识和直觉手动创建新特征。

另一种创建非线性模型的方法是使用神经网络。它们由相互连接的节点或"神经元"层组成,每个节点对其输入执行简单的数学运算,并将结果传递给下一层。

神经网络强大的关键在于能够学习输入和输出之间复杂的非线性关系。这是通过在训练期间根据预测输出和实际输出之间的误差调整神经元之间连接的权重来实现的。

2.5 深度学习模型

深度学习的重点是通过多层结构来学习数据的表示。近年来,由于其在计算机视觉、自然语言处理和语音识别等应用中的广泛成功,变得越来越受欢迎。虽然深度学习模型有大量参数和层,实现相对复杂,但其特征工程也是其重要部分之一。

卷积神经网络(CNN,convolutional neural network)是深度学习模型的一个例子,其核心是对输入图像应用一系列滤波器,每个滤波器寻找特定的特征,如边缘或角,然后网络的下一层使用这些提取的特征对输入图像进行分类。

像CNN这样的深度学习模型可以被认为是特征工程和可训练模型的结合。该模型的特征工程涉及设计网络架构以从输入数据中提取有用的特征,而可训练模型涉及优化网络参数以拟合数据并做出准确的预测。

3. 模型训练/拟合

训练机器学习模型是通过向模型展示一组标记的示例来教模型做出预测或决策的过程。标记的示例,也称为训练数据,由成对的输入特征和输出标签组成。

在训练过程中,机器学习模型学习识别输入特征及其对应的输出标签中的模式。该模型使用特定算法从训练数据中学习并调整其内部参数,以提高对新数据的预测或分类能力。

一旦模型在标记的例子上进行了训练,就可以用来对新的、没见过的数据进行预测或决策,这个过程被称为推理或测试。

不同的机器学习模型有不同的训练算法,以下是不同机器学习模型使用的训练算法的一些示例。

3.1 基于距离的模型训练

KNN是一种不需要显式训练的非参数算法。它存储整个训练数据集,并用来预测新实例的标签,方法是根据一些距离度量在训练数据集中找到K个最接近的实例,然后根据K个最近邻居的多数投票进行预测。

LDA是一种用于分类任务的监督学习算法。LDA对每个类的输入特征的分布进行建模,并用该信息找到输入特征的线性组合,使类之间的分离最大化。得到的线性判别式可以用来对新实例进行分类。

LDA的训练过程包括估计每个类别的输入特征的均值和协方差矩阵,然后用这些估值来计算类内和类间散点矩阵,这些散点矩阵用于导出线性判别式,线性判别式的数量等于类的数量减一。

3.2 基于决策树的模型训练

至于决策树,通常用一种称为递归划分的方法进行训练。

递归分区从整个数据集开始,自上而下根据一组规则或条件将其分成子集。在每个子集上递归重复分割过程,直到满足停止条件(通常是当子集变得太小或进一步分割无法提高模型性能时)。

分割规则基于数据集特征或属性,算法在每一步中选择对模型性能改善最显著的特征。分割过程产生一个树状结构,其中内部节点表示分割条件,叶节点表示最终预测。

在训练过程中,可以使用各种度量来评估决策树,例如信息增益或基尼杂质(Gini impurity),以确定最佳分割标准。一旦训练好决策树,就可以根据输入特征从根节点找到适当的叶节点路径,对新的、未知的数据进行预测。

3.3 基于数学函数的模型训练

基于数学函数的模型,也称为参数模型,是为输入和输出之间的关系假设特定函数形式的模型。

用于优化基于数学函数的模型参数的最基本算法是梯度下降(gradient descent)。梯度下降是一种迭代优化算法,它首先对参数值进行初始猜测,然后根据损失函数相对于参数的梯度对参数值进行更新,持续这一过程直到算法收敛到损失函数最小为止。

对于非凸函数(non-convex functions),通常用随机梯度下降(SGD, stochastic gradient descent)来代替梯度下降,SGD在每次迭代时随机抽取一个数据子集来计算梯度,这种方法比梯度下降算法更快、更有效。

在神经网络中,反向传播(backpropagation)用于计算损失函数相对于参数的梯度。反向传播本质上就是将微积分的链式法则应用于由神经网络表示的复合函数,可以有效计算网络每层的梯度,对于训练深度神经网络必不可少。

对于深度学习模型,通常使用更高级的优化技术来提高性能,包括动量(momentum)和自适应学习率(adaptive learning rate)等技术,动量可以帮助算法避免陷入局部最小值,自适应学习率可以在训练过程中自动调整学习率,以提高收敛速度和稳定性。

综上所述,梯度下降是优化函数模型参数的基本算法。对于非凸函数,通常使用随机梯度下降法。反向传播用于计算神经网络中的梯度,此外还有其他更高级的技术用于深度学习模型。

4. 模型优化

机器学习的第三个方面包括通过使用网格搜索来优化模型的超参数(hyperparameters)。超参数是模型的设置或配置,这些设置或配置不是在训练过程中学习到的,而必须手动指定。

超参数的例子包括学习率、神经网络中隐藏层的数量以及正则化强度等,通过使用网格搜索,评估多个超参数组合,从而可以确定模型的最佳配置。

网格搜索是一种用于优化机器学习模型超参数的常用技术。然而,这并不是唯一可用的方法,还有其他几种可用于微调模型参数的替代方法,一些最流行的替代方案包括:

  1. 随机网格搜索: 与网格搜索相比,随机搜索涉及从预定义范围内随机采样超参数,从而更有效的探索参数空间。
  2. 贝叶斯优化: 贝叶斯优化利用概率模型,通过迭代评估模型性能,更新超参数的概率分布,找到超参数的最优集合。
  3. 遗传算法: 遗传算法模拟自然选择过程,通过产生一组潜在的解决方案,评估其性能,并选择最适合的个体进行繁殖,从而找到最优的超参数集。
  4. 基于梯度的优化: 基于梯度的优化涉及使用梯度迭代调整超参数,目的是最大化模型性能。
  5. 基于集成的优化: 基于集成的优化涉及将具有不同超参数的多个模型组合在一起,以创建更具鲁棒性和更准确的最终模型。

每种替代方法都有其优缺点,需要根据所处理的特定问题、参数空间大小和可用计算资源选择最佳方法。

5. 高效学习机器学习的几个技巧

现在我们对机器学习算法的不同类别有了大致了解,接下来探索一下为了创建有效的预测模型,需要学习什么。

5.1 算法太难学?

如果我们从一些乍一看可能很复杂的算法开始,就会觉得机器学习是个具有挑战性的领域。然而,通过将该过程分解为三个阶段(建模、拟合和调优),就能够获得更清晰的理解。

例如,学习支持向量机(SVM)对于数据科学家来说可能令人生畏,因为有大量的技术术语,如最优超平面(optimal hyperplane)、无约束最小化(unconstrained minimization)、对偶性(原始和对偶形式)、拉格朗日乘子(Lagrange multipliers)、Karush-Kuhn-Tucker条件、二次规划等等。然而,有必要将SVM只是理解为一个线性模型,和OLS回归类似,方程为y = wX + b

虽然上面提到的各种技术可以被用来优化SVM,但重要的是不要陷入技术问题的泥潭,而是要关注SVM作为线性模型的基本概念。

5.2 了解模型

我们已经讨论了三种类型的机器学习算法——模型、拟合算法和调优算法。在我看来,对于数据科学家来说,重要的是将理解模型置于其他两个步骤之上。

从这个角度来看,将机器学习模型分为三种主要类型,从而有助于理解其功能:

  1. 基于距离的模型: 在这种类型中,KNN不是一个合适的模型,因为新数据的距离是直接计算的,而在LDA或QDA中,是基于分布距离计算。
  2. 基于决策树的模型: 决策树遵循if-else规则,形成一组可用于决策的规则。
  3. 基于数学函数的模型: 可能不太容易理解,然而函数通常都很简单。

一旦对模型如何工作有了坚实的理解,就可以使用预先存在的包来进行拟合和调优:对于拟合,流行的scikit-learn库提供了model.fit方法。而对于调优,像Optuna这样的工具通过study.optimize提供了高效的学习优化技术。通过专注于理解模型本身,数据科学家可以更好的为自己在该领域的成功做好准备。

对于一些独立模型,如果采用这种方法,可以提升对其的理解,这里有一些例子:

  • 多项式回归是对特征进行不同次幂变换后的线性回归。
  • 线性回归、ridge、LASSO和SVR是相同的模型,只是底层代价函数不同。
  • 线性回归、逻辑回归和支持向量机是同一模型,只是底层代价函数不同。你可能会注意到线性回归是回归量而逻辑回归和支持向量机是分类器,请阅读SGDClassifier的文档或查看关于 SGDClassifier的这篇文章 [2]

10个最常见但最令人困惑的机器学习模型名称说明[3]这篇文章说明理解模型并不总是直截了当的。

5.3 模型可视化

在理解模型时,可视化是一个非常有用的工具。当使用机器学习模型时,使用简单的数据集创建可视化可以帮助说明模型是如何创建以及如何工作的。

下面一些文章涵盖的主题包括线性回归的可视化,也可以应用于ridge、lasso、SVM以及神经网络。

另一种方法是在Excel中实现模型,因为它可以提供一种可视化的方式来查看数据和模型的输出。

  • Visualization of linear regression [4]
  • Visualization of neural networks [5]
  • Visualization of Decision Tree Regressors [6]
  • Nearest Neighbors Regressors — A Visual Guide [7]
线性回归的可视化
线性回归的可视化
不同特征尺度的KNN回归器
不同特征尺度的KNN回归器
5.4 使用Excel了解拟合过程

一开始,了解拟合过程可能会让人望而生畏。但是,如果想要学习,那么首先要对模型的工作原理有一个坚实的理解。在这方面,一个特别有用的工具是微软Excel。

Excel是一个广泛使用的电子表格程序,可用于可视化和操作数据。在机器学习领域,可以用来演示拟合过程是如何工作的简单模型(如线性回归)。通过使用Excel,可以看到这个算法是如何一步步实现的。

要记住,虽然Excel可以是一种理解简单数据集的拟合过程的有效方法,但并不是机器学习最有效工具。

用Excel来理解拟合过程对于机器学习初学者来说是一个有用的工具,它提供了一种简单易用的方法来可视化算法并了解它们是如何工作的。

下面是几篇关于线性回归、逻辑回归和神经网络梯度下降的文章。

  • K-Nearest neighbors in Excel [8]
  • Linear Regression With Gradient Descent in Excel [9]
  • Logistic Regression With Gradient Descent in Excel [10]
  • Neural Network Classifier from Scratch in Excel [11]
  • Decision Tree Regressors in Excel [12]
  • Implementing KNN in Excel [13]
  • K-means from Scratch in Excel [14]
  • Neural Network with Backpropagation in Excel [15]
基于Excel的机器学习算法
基于Excel的机器学习算法
5.5 使用简单数据集进行测试

为了全面理解机器学习算法,从头开始实现可能是一种有效方法,然而这种方法可能相当耗时,并且可能需要高水平的技术熟练度。另一种方法是使用预先训练好的包或库来使用简单的数据集创建和可视化模型的输出。

通过这些包,可以轻松试验不同参数并测试各种机器学习算法。这种方法可以帮助我们了解算法的内部工作原理,同时也使我们能够快速评估在特定数据集上的有效性。

通过使用这样的数据集,可以很容易可视化模型的输入和输出。反过来,也可以让我们更深入了解模型是如何进行预测的。此外,通过改变模型的超参数和其他方面,还可以可视化这些变化对模型预测的影响。

这种方法可以帮助初学者开始机器学习,并更好的理解不同算法的工作原理。这是一种获得实践经验和试验不同模型的极好方法,而无需在实现上花费太多时间。

6. 结论

总之,机器学习是一个复杂的领域。然而,了解三种主要类型的机器学习算法(模型、拟合算法和调优算法),并根据它们的目标和复杂性进行分类,可以帮助我们全面了解其工作原理。通过优先理解模型,将它们可视化,并在Excel等工具中实现,可以揭开拟合和调优过程的神秘面纱。

不断学习机器学习的不同方面至关重要,例如分类与回归、处理缺失值和变量权重,以不断加深对该领域的理解。如果想了解更多,请查看这篇文章: 监督机器学习算法概述[16]


你好,我是俞凡,在Motorola做过研发,现在在Mavenir做技术工作,对通信、网络、后端架构、云原生、DevOps、CICD、区块链、AI等技术始终保持着浓厚的兴趣,平时喜欢阅读、思考,相信持续学习、终身成长,欢迎一起交流学习。
微信公众号:DeepNoMind

参考资料

[1]

Machine Learning in Three Steps: How to Efficiently Learn It: https://towardsdatascience.com/machine-learning-in-three-steps-how-to-efficiently-learn-it-aefcf423a9e1

[2]

SGDClassifier: Untaught Lessons You Need to Know: https://medium.com/code-like-a-girl/sgdclassifier-with-scikit-learn-untaught-lessons-you-need-to-know-7bf2f56c04dc

[3]

10 Most Common Yet Confusing Machine Learning Model Names: https://towardsdatascience.com/10-most-common-yet-confusing-machine-learning-model-names-e70595eef514

[4]

Visualization of linear regression: https://towardsdatascience.com/linear-regression-visualized-and-better-understood-c8f7b9c69810

[5]

Visualization of neural networks: https://medium.com/geekculture/a-visual-definition-of-artificial-neural-networks-part-1-24dc5b94958

[6]

Visualization of Decision Tree Regressors: https://towardsdatascience.com/decision-tree-regressor-a-visual-guide-with-scikit-learn-2aa9e01f5d7f

[7]

Nearest Neighbors Regressors — A Visual Guide: https://medium.com/towards-data-science/nearest-neighbors-regressors-a-visual-guide-78595b78072e

[8]

K-Nearest neighbors in Excel: https://towardsdatascience.com/k-nearest-neighbors-in-excel-76edd4102a5b

[9]

Linear Regression With Gradient Descent in Excel: https://towardsdatascience.com/linear-regression-from-scratch-in-excel-3d8192214752

[10]

Logistic Regression With Gradient Descent in Excel: https://towardsdatascience.com/logistic-regression-with-gradient-descent-in-excel-52a46c46f704

[11]

Neural Network Classifier from Scratch in Excel: https://towardsdatascience.com/neural-network-from-scratch-in-excel-4774f6131cdb

[12]

Decision Tree Regressors in Excel: https://towardsdatascience.com/decision-tree-regressor-in-excel-2d29d16df1db

[13]

Implementing KNN in Excel: https://towardsdatascience.com/k-nearest-neighbors-in-excel-76edd4102a5b

[14]

K-means from Scratch in Excel: https://towardsdatascience.com/k-means-from-scratch-in-excel-bb60778d186e

[15]

Neural Network with Backpropagation in Excel: https://pub.towardsai.net/building-a-neural-network-with-backpropagation-in-excel-b6c5d41b1c2

[16]

Overview of Supervised Machine Learning Algorithms: https://towardsdatascience.com/overview-of-supervised-machine-learning-algorithms-a5107d036296

- END -

本文由 mdnice 多平台发布

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/520807.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《设计模式》访问者模式

《设计模式》访问者模式 定义: 访问者模式用于封装一些作用于某种数据结构中的各元素的操作,将数据结构和数据操作分离,它可以在不改变这个数据结构的前提下定义作用于这些元素的新操作。属于行为型模式。 访问模式的角色组成: …

基本数据类型不一定存储在栈中,是不是颠覆了你的认知

大家好,我是三叔,很高兴这期又和大家见面了,有很多小伙伴问我,基本数据类型一定在栈内存中吗?网上答案也是五花八门,部分读者都有被误导过,基本数据类型不一定在栈内存中! 虽然基本…

使用Lychee荔枝图床+cpolar内网穿透快速搭建稳定的私人图床【无需公网IP】

文章目录 1.前言2. Lychee网站搭建2.1. Lychee下载和安装2.2 Lychee网页测试2.3 cpolar的安装和注册 3.本地网页发布3.1 Cpolar云端设置3.2 Cpolar本地设置 4.公网访问测试5.结语 1.前言 图床作为图片集中存放的服务网站,可以看做是云存储的一部分,既可…

【Linux内核解析-linux-5.14.10-内核源码注释】自旋锁spinlock机制

自旋锁 Note: 在使用自旋锁时应该避免长时间持有锁,否则可能会导致其他线程或进程无法访问共享资源。因此,建议将锁的持有时间尽量缩短,以提高系统的并发性能。 Linux中的自旋锁机制是一种用于同步多个线程或进程访问共享资源的技术。当一个…

一分钟图情论文:《公共图书馆法》视域下的馆员知识与能力体系探究

一分钟图情论文:《公共图书馆法》视域下的馆员知识与能力体系探究 在公共服务体系建设过程中,图书馆建设是十分关键地一环,在图书馆建设过程中又以图书馆员队伍的建设首当其冲。在当今复杂的信息环境下,我们该如何培养图书馆员&a…

语言与专业的奇迹:如何利用ChatGPT优化跨国贸易

贸易公司,在进行跨国贸易时,往往需要面对不同国家的甲方或者乙方,在与之沟通的过程中,语言和专业是必须要过的一关,顺畅的交流,往往会带来更好的收益。 今天以“茶”为例,给大家介绍一“知否AI…

Nacos 服务网格2

博主介绍:✌全网粉丝4W,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战、定制、远程,博主也曾写过优秀论文,查重率极低,在这方面…

cam_lidar_calibration标定速腾激光雷达和单目相机外参

目录 一、资源链接二、代码测试2.1安装依赖2.2代码下载和修改2.2.1 optimiser.h文件2.2.2 feature_extractor.h文件 2.3编译代码2.4测试数据集2.4.1迭代计算2.4.2查看校准结果 三、标定自己激光雷达和相机3.1修改代码3.1.1camera_info.yaml配置文件3.1.2params.yaml配置文件3.1…

跳槽,如果没有更好的选择,可以去美团试试···

在美团干了半年,说一下自己的感受,美团是一家福利中等,工资待遇中上,高层管理团队强大,加班强度一般,技术不错,办公环境一般,工作氛围中上,部门差距之间工作体验差距巨大…

阿里巴巴官方上线!号称国内Java八股文天花板(终极版)首次开源

铜三铁四已经结束了,但还是有很多Java程序员没有找到工作或者成功跳槽,跳槽成功的也只是从一个坑中,跳入另一个坑中…… 在LZ看来,真正有意义的就业与跳槽,是要进入到一个有绝对潜力的行业或者薪资能实现爆炸式增长的。…

Science Advances:宋艳课题组发现经颅近红外激光刺激可提升人类工作记忆

图1. 新闻稿封面 工作记忆——在几秒钟内主动“记住”有用信息的能力——在许多高级认知活动中起着至关重要的作用。由于工作记忆能力的个体差异可以预测流体智力和广泛的认知功能,这使得提高工作记忆能力成为干预和增强的有吸引力的目标。 美国食品及药品管理局声…

SpringSecurity 一文彻底掌握

文章目录 前言一、SpringSecurity Web方案🍓Test Controller 测试请求控制器🤣SpringSecurity 基本原理🌍代码底层流程:重点看三个过滤器FilterSecurityInterceptor 方法级的权限过滤器ExceptionTranslationFilter 异常过滤器User…

智能玩具机器人语音识别方案——NRK3301离线语音IC

机器人玩具已经成为儿童玩具和教育用品的主流,它不仅能充分激发和满足了儿童消费群体的好奇心,同时还能强化了消费群体和玩具的互动体验。 机器人玩具主要是通过语音识别技术,让我们可以与玩具对话,可以用语音对玩具发出命令&…

ENVI实现基于像元方法的栅格图像镶嵌拼接(所有图像无需地理信息)

本文介绍基于ENVI软件,利用“Pixel Based Mosaicking”工具实现栅格遥感影像镶嵌拼接的方法。 首先需要说明的是,本文需要镶嵌的遥感影像并不含地理参考信息,因此仅可以使用ENVI中的“Pixel Based Mosaicking”工具(该工具可以对…

SpringMVC简介、请求与响应、REST风格、SSM整合、拦截器

目录 SpringMVC简介 SpringMVC概述 入门案例 入门案例工作流程分析 Controller加载控制 PostMan 请求与响应 设置请求映射路径 五种类型参数传递 JSON数据传输参数 JSON对象数据 JSON对象数组 日期类型参数传递 响应 REST风格 REST风格简介 RESTful入门案例…

前后端分离实现社区销售系统

在当今的互联网时代,社区销售系统越来越普及。这种系统可以方便地管理商品、订单以及会员等信息,使得销售过程更加高效和便利。本文将介绍如何通过前后端分离的方式实现一个社区销售系统。 需求分析 社区销售系统主要包括会员管理、商品管理、订单管理…

C++ ---- 类和对象(中)

目录 类的默认成员函数介绍 构造函数 构造函数概念 构造函数特性 析构函数 析构函数概念 析构函数特性 拷贝构造 拷贝构造概念 拷贝构造特点 赋值重载 赋值重载介绍 赋值重载特性 取地址重载和const取地址重载 const成员 取地址和const取地址重载 类的默认成员函…

【致敬未来的攻城狮计划】— 连续打卡第三十天:总结与回顾

学习目标: 自2023年4月13日开始,我参加了为期一个月的【致敬未来的攻城狮计划】,今天是第三十天,做一个总结和回顾。 我参加的是【致敬未来的攻城狮计划】第二期(攻城狮计划) 在这里首先还是感谢 李…

【云服务器】关于UDP/TCP跨平台网络通信服务器无响应的情况及解决办法

关于跨平台网络通信服务器无反应的情况 一、问题出现二、云服务器Centos7防火墙开放端口2.1 检查防火墙状态2.2 开启防火墙2.3 在running 状态下,向firewall 添加需要开放的端口2.4 重新加载防火墙配置2.5 查看端口是否放开 三、云服务器防火墙配置开放端口3.1 进入…

决策树与随机森林

决策树解决回归问题时进行平均数计算。 决策树 (1)熵(entropy)与特征节点 熵(entropy),度量着信息的不确定性,信息的不确定性越大,熵越大。信息熵和事件发生的概率成反比。 ■信息熵代表随机变量的复杂度…