Skip to content

Latest commit

 

History

History
147 lines (74 loc) · 8.72 KB

3132.md

File metadata and controls

147 lines (74 loc) · 8.72 KB

成为数据科学家应该了解的十种机器学习算法

www.kdnuggets.com/2018/04/10-machine-learning-algorithms-data-scientist.html

c 评论

作者:Muktabh Mayank,ParallelDots

机器学习算法

机器学习从业者有不同的个性。有些人是“我是 X 领域的专家,X 算法可以处理任何类型的数据”,其中 X=某个算法;而有些人则是“适合的工具用于合适的工作”。许多人还遵循“全才,专才”策略,即他们在一个领域有深厚的专业知识,同时对机器学习的不同领域有略微的了解。尽管如此,作为实践中的数据科学家,我们必须了解一些常见的机器学习算法的基础知识,这将帮助我们应对遇到的新领域问题。这是对常见机器学习算法的快速浏览及其相关资源,这些资源可以帮助你入门。

1. 主成分分析(PCA)/奇异值分解(SVD)

PCA 是一种无监督方法,用于理解由向量组成的数据集的全局属性。这里分析数据点的协方差矩阵,以了解哪些维度(通常是)/数据点(有时)更重要(即,在它们之间具有高方差,但与其他数据点的协方差低)。一种理解矩阵顶级主成分的方法是考虑其具有最高特征值的特征向量。SVD 本质上也是一种计算有序组件的方法,但你无需获取点的协方差矩阵就能得到它。

机器学习算法

该算法通过获取维度减少的数据点来帮助克服维度诅咒。

库:

docs.scipy.org/doc/scipy/reference/generated/scipy.linalg.svd.html

scikit-learn.org/stable/modules/generated/sklearn.decomposition.PCA.html

入门教程:

arxiv.org/pdf/1404.1100.pdf

2a. 最小二乘法和多项式拟合

记得你在大学时的数值分析代码吗?你用来拟合点上的直线和曲线以得到一个方程。你可以在机器学习中使用这些方法来拟合非常小的数据集中的曲线(对于大数据或高维数据集,你可能会严重过拟合,因此不要使用)。OLS 有一个闭式解,因此你不需要使用复杂的优化技术。

显而易见,使用此算法来拟合简单曲线/回归

库:

docs.scipy.org/doc/numpy/reference/generated/numpy.linalg.lstsq.htmldocs.scipy.org/doc/numpy-1.10.0/reference/generated/numpy.polyfit.html

入门教程:

lagunita.stanford.edu/c4x/HumanitiesScience/StatLearning/asset/linear_regression.pdf

2b. 约束线性回归

最小二乘法可能会受到异常值、虚假字段和数据噪声的干扰。因此,我们需要约束条件来减少拟合数据集的线的方差。正确的方法是拟合一个线性回归模型,以确保权重不会出现异常。模型可以具有 L1 范数(LASSO)或 L2 范数(岭回归)或两者都有(弹性回归)。均方损失被优化。

使用这些算法来拟合带约束的回归线,避免过拟合,并掩盖模型中的噪声维度。

库:

scikit-learn.org/stable/modules/linear_model.html

入门教程:

www.youtube.com/watch?v=5asL5Eq2x0A

www.youtube.com/watch?v=jbwSCwoT51M

3. K 均值聚类

每个人最喜欢的无监督聚类算法。给定一组以向量形式存在的数据点,我们可以根据它们之间的距离来创建点的聚类。这是一种期望最大化算法,它通过迭代移动聚类的中心,然后将点与每个聚类中心组合在一起。算法所需的输入是要生成的聚类数和尝试收敛聚类的迭代次数。

机器学习算法

从名称中显而易见,你可以使用这个算法在数据集中创建 K 个簇

库:

scikit-learn.org/stable/modules/generated/sklearn.cluster.KMeans.html

入门教程:

www.youtube.com/watch?v=hDmNF9JG3lo

www.datascience.com/blog/k-means-clustering

4. 逻辑回归

逻辑回归是受限的线性回归,在应用非线性(通常使用 sigmoid 函数或 tanh 函数)后,限制输出接近于+/-类别(在 sigmoid 的情况下为 1 和 0)。交叉熵损失函数使用梯度下降法进行优化。给初学者的提示:逻辑回归用于分类,而不是回归。你也可以把逻辑回归看作是一个单层的神经网络。逻辑回归使用梯度下降法或 L-BFGS 等优化方法进行训练。NLP 领域的人们经常用最大熵分类器的名称来表示它。

这就是 Sigmoid 的样子:

使用 LR 来训练简单但非常强大的分类器。

库:

scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html

入门教程:

www.youtube.com/watch?v=-la3q9d7AKQ

5. SVM(支持向量机)

SVM 是类似于线性/逻辑回归的线性模型,不同之处在于它们具有不同的基于边界的损失函数(支持向量的推导是我见过的最美丽的数学结果之一,与特征值计算一起)。你可以使用优化方法,如 L-BFGS 或甚至 SGD 来优化损失函数。

SVM 的另一个创新是使用核函数对数据进行特征工程。如果你对领域有深入的了解,你可以用更聪明的核函数替代传统的 RBF 核,并从中获利。

SVM 的一个独特之处是它可以学习单类分类器。

SVM 可用于训练分类器(甚至回归器)

库:

scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html

入门教程:

www.youtube.com/watch?v=eHsErlPJWUU

注意: 逻辑回归和 SVM 的 SGD 基于训练可以在 SKLearn 的 scikit-learn.org/stable/modules/generated/sklearn.linear_model.SGDClassifier.html中找到,我常用它,因为它让我可以通过一个通用接口检查 LR 和 SVM。你还可以在大于 RAM 大小的数据集上使用迷你批量进行训练。


我们的前三大课程推荐

1. Google Cybersecurity Certificate - 快速通道进入网络安全领域的职业生涯。

2. 谷歌数据分析专业证书 - 提升你的数据分析技能

3. 谷歌 IT 支持专业证书 - 支持你的组织进行 IT 工作


更多相关话题