能够说,机器学习从业者都是个性悬殊的。固然其中一些人会说“我是X方面的专家,X能够在任何类型的数据上进行锻炼”,其中,X =某种算法;而其他一些人则是“能够在合适的工作中发挥其才气”。他们中的很多人认可“涉猎一切行业,而是其中一个范畴的专家”战略,即他们在一个范畴内具有一个深沉的专业学问,并且对机器学习的不同范畴有所了解。 也就是说,没有人能承认这样的事实:作为数据科学家的理论者,我们必须了解一些通用机器学习的基础学问算法,这将辅佐我们处置所遇到的新范畴问题。本文对通用机器学习算法进行了扼要的论述,并罗列了它们的相关资源,从而辅佐你能够快速控制其中的奇妙。 ▌1.主成分剖析(PCA)/ SVD PCA是一种无监视的措施,用于对由向量组成的数据集的全局属性进行了解。本文剖析了数据点的协方差矩阵,以了解哪些维度(大部分状况)/数据点(少数状况)更为重要,即它们之间具有很多的变更,但与其他变量之间的协变性较低)。思索一个矩阵顶级主成分(PC)的一种方式是思索它的具有最高特征值的特征向量。奇特值合成(SVD)实质上也是计算有序组件的一种措施,但你在没有取得点的协方差矩阵的状况下也能够得到它。
该算法经过获取维度减少的数据点的方式来辅佐人们抑止维度难题。
▌2a.最小二乘法和多项式拟合 还记得你在大学时所学的数值剖析(Numerical Analysis)代码吗?其中,你运用直线和曲线衔接点从而得到一个等式方程。在机器学习中,你能够将它们用于拟合具有低维度的小型数据集的曲线。(而关于具有多个维度的大型数据或数据集来说,实验的结果可能总是过度拟合,所以不用省事)。OLS有一个封锁方式的处置计划,所以你不需求运用复杂的优化技术。
如上图所示,很明显,运用这种算法对简单的曲线/回归进行拟合是十分方便的。
▌2b.约束线性回归 最小二乘法可能会与异常值(outliers)、假字段(spurious fields)和数据中的噪声相混杂。因而,我们需求约束以减少数据集上所进行拟合的线的方差。正确的措施是运用一个线性回归模型,以确保权重不会出错。模型能够有L1范数(LASSO)或L2(岭回归,Ridge Regression)或兼具两者(弹性回归)。均方损失得到优化。
将这些算法用于拟合带有约束的回归线,避免过度拟兼并对模型中噪声维度进行掩码。
▌3. K均值聚类 这是大家最喜欢的无监视聚类算法。给定一组向量方式的数据点,我们能够依据它们之间的距离制造点集群。这是一个希冀最大化算法,它迭代地移动集群中心,然后架构每集群中心点聚焦在一同。该算法所采用的输入是将要生成的集群的数量,以及它将尝试汇集集群的迭代次数。
望文生义,你能够运用此算法在数据集中创建K个集群。
▌4.Logistic回归 Logistic回归是有限线性回归,在应用权重后带有非线性(大多数运用sigmoid函数,或者你也能够运用tanh函数)应用,因而把输出限制到接近+/-类(在sigmoid的状况下是1和0)。应用梯度降落法对交叉熵损失函数(Cross-Entropy Loss functions)进行优化。 初学者需求留意的是:Logistic回归用于分类,而不是回归。你也能够把logistic回归看成是一层神经网络。Logistic回归运用诸如梯度降落或LBFGS等最优化措施进行锻炼。从事自然言语处置的的人员通常会称它为最大熵分类器(Maximum Entropy Classifier)。 Sigmoid函数是这个样子的:
运用LR对简单但具有鲁棒性的分类器进行锻炼。
▌5.支持向量机 (Support Vector Machines,SVM ) 支持向量机是线性模型,就像线性/ Logistic回归一样,不同之处在于它们有不同的基于边沿的损失函数(支持向量机的推导是我见过的最漂亮的数学结果和特征值计算之一)。你能够运用诸如L-BFGS以至SGD这样的最优化措施来优化损失函数。
支持向量机中的另一个创新是将内核用于数据,以表示工程师的特征。假如你有很好的范畴洞察力,你能够用更聪明的措施来替代优秀但是老旧的RBF内核并从中获利。 支持向量机能做一件特别的事情:学习一类分类器。 能够运用支持向量机来锻炼分类器(以至是回归量)。
▌6.前馈神经网络(Feedforward Neural Networks, FFNN) 这些基本上都是多层的logistic回归分类器。许多权重的层被非线性函数(sigmoid、tanh、relu+softmax和炫酷的selu)分隔了。它们另一个盛行的名字是多层感知器(Multi-Layered Perceptron)。能够将FFNN作为自动编码器用于分类和非监视的特征学习。
多层感知器(Multi-Layered perceptron)
FFNN作为自动编码器 能够运用FFNN作为自动编码器来锻炼分类器或提取特征。
▌7.卷积神经网络(Convents) 目前,世界上近乎一切基于视觉的机器学习结果都是运用卷积神经网络完成的。它们可用于图像分类、目的检测及图像分割。Yann Lecun于80年代末90年代初提出卷积神经网络,其特征是卷积层,它起着提取分层特征的作用。你能够在文本(以至图形)中运用它们。
应用卷积神经网络对图像和文本进行分类,并进行目的检测和图像分割。
▌8.循环神经网络(RNNs) RNNs模型序列经过在时间t递归地对汇集器状态施加相同的权重集,并且在时间t输入(给定一个序列,在时间0..t..T处有输入,并且在每个时间t具有躲藏状态,来自RNN的t-1步骤的输出)。往常很少运用纯RNN(pure RNN),但是像LSTM和GRU这类旗鼓相当的算法在大多数序列建模任务中仍是最先进的。
RNN(假如这里是密集衔接的单元与非线性,那么往常f普通是LSTM或GRU)。LSTM单元用于替代纯RNN中的简单致密层。
运用RNN进行人物序列建模任务,特别是文天职类、机器翻译及言语建模。
▌9.条件随机场(CRFs) CRFs或许是概率图形模型(PGMs)中运用频率最高的模型。它们可用于相似于RNN的序列建模,也可与RNN分离运用。在神经机器翻译系统呈现之前,CRF是最先进的技术,在许多具有小数据集的序列标注任务中,它们依旧会比那些需求大量数据才干推行的RNN表示得更好。它们也可被用于其他结构化的预测任务,如图像分割等。CRF对序列中的每个元素(例如句子)进行建模,这样近邻会影响序列中某个组件的标签,而不是一切的标签相互独立。 运用CRFs标记序列(如文本、图像、时间序列及DNA等)。
▌10.决策树 例如我有一张有关各种水果数据的Excel工作表,我必须表明哪些是苹果。我们需求做的是提出一个问题“哪些水果是红的,哪些水果是圆的?”然后依据答案,将“是”与“否”的水果分辨开。然后,我们得到的红色和圆形的水果并不一定都是苹果,一切苹果也不一定都是红色和圆形的。因而,我会面向红色和圆形的水果提出一个问题,“哪些水果上有红色或黄色的标记” ?向不是红色和圆形的水果提出一个问题,“哪些水果是绿色和圆形的”。基于这些问题,我能够十分精确的分辨出哪些是苹果。这一系列的问题展示了什么是决策树。但是,这是基于我个人直觉的决策树。直觉并不能处置高维度和复杂的问题。我们必须经过查看标记的数据来自动得出问题的级联,这就是基于机器学习的决策树所做的工作。早期的CART树曾被用于简单的数据,但随着数据集的不时扩展,倾向-方差的权衡需求用更好地算法来处置。目前常用的两种决策树算法是随机森林(Random Forests)(在属性的随机子集上树立不同的分类器,并将它们分离起来输出)和提升树(Boosting trees)(在其他树的基础上对树的级联进行锻炼,纠正它们下面的错误) 决策树能够用于分类数据点(以至回归)。
▌TD算法 你不用思索上述哪种算法能够像DeepMind那样击败围棋世界冠军,由于它们都不能做到这一点。我们之前谈及的10种算法都是方式辨认,而非战略学习者。为了学习能够处置多步骤问题的战略,好比赢得一盘棋或玩Atari游戏机,我们需求让一个空白的智能体在这世界上依据其自身面临的奖惩进行学习。这种类型的机器学习被称为强化学习。近期,在这个范畴内所取得的很多(并非全部)成果都是经过将convnet或LSTM的感知才干与一组名为时间差分学习算法(Temporal Difference Learning)的算法组合而得来的。这其中包含Q-Learning、SARSA及其他算法。这些算法是对贝尔曼方程的巧妙应用,从而得到一个能够应用智能体从环境中得到的奖励来锻炼的损失函数。 这些算法主要用于自动运转游戏中,并在其他言语生成和目的检测项目中予以应用。
我们引见了能够助你成为数据科学家的10中机器学习算法。 你能够在这里阅读机器学习库:https://blog.paralleldots.com/data-science/lesser-known-machine-learning-libraries-part-ii/ 来源 |雷克世界(ID:raicworld) 原文https://towardsdatascience.com/ten-machine-learning-algorithms-you-should-know-to-become-a-data-scientist-8dc93d8ca52e |