每个数据科学家,或者机器学习工程师都应该知道这5个机器学习算法,直到滚瓜烂熟的地步。这些算法的基本原理,我们在之前的文章中都详细讨论过,大家有时间可以翻出来温故而知新!
机器学习(ML)是一种使分析模型构建自动化的数据分析方法。它是技术的一个分支,它使计算机系统可以从大量数据中学习,识别图像和文本中的模式并以最少的人工干预就可以做出统计决策。
在最基本的意义上,机器学习使用预编程的算法来接收和分析输入数据,以预测可接受范围内的输出值。随着将新数据馈入这些算法,他们将学习并优化其操作以提高性能,并随着时间的推移发展“智能”。
选择正确的机器学习算法取决于多种因素,如数据的大小,质量和多样性,以及支持从我们预测的业务目标。首先,我整理了下面最常用的5种机器学习算法列表,这将有助于找到最适合特定挑战的用例。
- 线性回归
线性回归 是监督学习的一部分,该学习尝试通过将线性方程式拟合到观测数据来对任意两个变量之间的关系进行建模。一个变量被认为是解释变量,另一个被认为是因变量。线性回归线的方程式为Y = a + bX,其中X为解释变量, Y为因变量。该线的斜率是b,而a是截距。
将线性回归模型拟合到一组数据后,对残差的检查(数据点从拟合线到观测值的偏差)使建模者能够调查其线性关系存在的假设的有效性。
拟合线性回归线的最常见方法是最小二乘法。该方法通过最小化每个数据点到该线的垂直偏差的平方和来计算观测数据的最佳拟合线(如果点正好位于拟合线上,则其垂直偏差为0)。
- k-NN(k最近邻近)
k个最近邻算法(K-NN)是一种基于实例或懒惰学习方法。它被认为是所有机器学习算法中最简单的算法之一。k-NN的合理性在于,属于同一类别的相似样本具有很高的概率。k-NN算法的关键思想是首先为每个测试样本选择k个最近邻居,然后使用学习到的k个最近邻居来预测此测试样本。
问题: 下图中绿色的圆圈数据点属于什么分类?
k-NN通常被称为“懒惰学习”的一部分。惰性学习意味着该算法不做任何概括。这意味着存储所有训练数据并等待直到生成测试数据,而无需创建学习模型。因此,使用k-NN时,所有训练数据都用于测试中。
距离指标
k-NN算法根据最接近测试样本的k个最近邻居中的大多数相似样本对未标记的测试样本进行分类。这是通过使用所谓的“距离度量”来完成的,其中确定了测试样本与每个训练数据样本之间的距离。通常,使用欧几里得距离。
k-NN的某些功能可能会引起研究兴趣:
- 易于实现的多类分类问题
- 选择不同的距离标准(例如,欧几里得距离,曼哈顿距离,cosine余弦值等)
- 由于k-NN是非参数算法,因此无需假设。
- 支持向量机(SVM)
支持向量机(SVM)是由单独的“超平面”正式定义的区分性分类器。换句话说,给定带标签的训练数据(监督学习),该算法将输出一个最佳超平面,该超平面根据分类目标将新示例分类为多个组。
所述SVM旨在优化一个线性判别模型通过训练超平面到最佳量表示两个类之间的垂直距离。
在Python中,有许多常用的库来实现SVM,其中最受欢迎的库是scikit-learn。它是用于实现机器学习算法的广泛使用的库。Scikit learning具有大量内置应用程序(导入库,对象创建,拟合模型和预测),以帮助使用SVM创建预测类。
支持向量机具有强大的理论基础和出色的经验成功。它们已应用于各种任务,例如手写数字识别,图像/对象识别,文本分类,NLP等。
- 随机森林分类器(或决策树)
随机森林是最流行和最有效的机器学习算法之一。这是一种称为Bootstrap Aggregation或“ bagging”的集成机器学习算法。该算法构建的“森林”本质上是多个决策树的集合。
随机森林的显着优点之一是它可以用于分类和回归问题。
随机森林是一种对多个深度决策树求平均的方法,这些决策树是在同一训练集中的不同部分进行训练的,目的是减少方差。这是以偏见的小幅增加和一些可解释性的损失为代价的,但是通常会大大提高最终模型的性能。
'随机森林就像决策树算法工作的共同努力一样-许多树的团队合作将提高单个随机树的性能。尽管不是很相似,但森林给出了K倍交叉验证的残留效果。’
随机森林算法具有许多功能,例如:
- 它可以处理数千个输入变量,而无需删除变量。
- 它是一种估算丢失数据的有效方法,并在丢失大部分数据时保持准确性。
- 它计算可用于聚类,定位异常值或(通过缩放)给出有趣数据视图的成对案例之间的邻近度。
- 其算法将避免常见的过拟合问题。
- 它具有用于平衡类总体不平衡数据集中的错误的方法。
- 它提供了一种检测变量相互作用的实验方法。
- 逻辑回归
Logistic回归或有时称为Logistic模型或Logit模型分析多个自变量与分类因变量之间的关系,并通过将数据拟合到Logistic曲线来估计事件发生的可能性。逻辑回归有两种模式-二元回归和多项式回归。
在测量因变量时,通常使用二元logistic回归,并且自变量可以是连续的也可以是分类的。Logistic回归不需要基于最小二乘法的线性回归模型的许多原理假设。
逻辑回归还可以处理因变量和自变量之间的非线性关系,因为它应用了线性回归的非线性对数变换。
结语:
机器学习中的算法众多,但是你不用等到了解所有算法才开始工作。了解基本的重要算法,可以让你的日常数据挖掘和分析工作迅速走上快车道。
更多有趣的AI知识,热烈欢迎你关注: