机器学习工程师需熟知的十大算法 - 摘录
2017-07-29 10:33:22 Udacity mp.weixin.qq.com
原文链接
一些最常见的机器学习例子,比如Netflix的算法可以根据你以前看过的电影来进行电影推荐,而Amazon的算法则可以根据你以前买过的书来推荐书籍。
机器学习算法可以分为三大类:
1.监督学习可用于一个特定的数据集(训练集)具有某一属性(标签),但是其他数据没有标签或者需要预测标签的情况。
2.无监督学习可用于给定的没有标签的数据集(数据不是预分配好的),目的就是要找出数据间的潜在关系。
3.强化学习位于这两者之间,每次预测都有一定形式的反馈,但是没有精确的标签或者错误信息。
监督学习
1.决策树(Decision Trees)
从业务决策的角度来看,决策树是人们必须了解的最少的是/否问题,这样才能评估大多数时候做出正确决策的概率。
2.朴素贝叶斯分类(Naive Bayesian classification)
应用:判断垃圾邮件;对新闻的类别进行分类,比如科技、政治、运动;判断文本表达的感情是积极的还是消极的;人脸识别。
3.最小二乘法(Ordinary Least Squares Regression)
可以将线性回归看做通过一组点来拟合一条直线。实现这个有很多种方法,“最小二乘法”就像这样:你可以画一条直线,然后对于每一个数据点,计算每个点到直线的垂直距离,然后把它们加起来,那么最后得到的拟合直线就是距离和尽可能小的直线。
4.逻辑回归(Logistic Regression)
应用:信用评分;计算营销活动的成功率;预测某个产品的收入;特定的某一天是否会发生地震。
5.支持向量机(Support Vector Machine,SVM)
给定N维坐标下两种类型的点,SVM生成(N-1)维的超平面来将这些点分成两组。假设你在平面上有两种类型的可以线性分离的点,SVM将找到一条直线,将这些点分成两种类型,并且这条直线尽可能远离所有这些点。
6.集成方法(Ensemble methods)
它通过构建一组分类器,然后通过它们的预测结果进行加权投票来对新的数据点进行分类。
无监督学习
7.聚类算法(Clustering Algorithms)
聚类是将一系列对象分组的任务,目标是使相同组(集群)中的对象之间比其他组的对象更相似。
8.主成分分析(Principal Component Analysis,PCA)
PCA的一些应用包括压缩、简化数据便于学习、可视化等。
9.奇异值分解(Singular Value Decomposition,SVD)
10.独立成分分析(Independent Component Analysis,ICA)
ICA对观测到的多变量数据定义了一个生成模型,这通常是作为样本的一个大的数据库。在模型中,假设数据变量由一些未知的潜在变量线性混合,混合方式也是未知的。潜在变量被假定为非高斯分布并且相互独立,它们被称为观测数据的独立分量。
机器学习算法可以分为三大类:
1.监督学习可用于一个特定的数据集(训练集)具有某一属性(标签),但是其他数据没有标签或者需要预测标签的情况。
2.无监督学习可用于给定的没有标签的数据集(数据不是预分配好的),目的就是要找出数据间的潜在关系。
3.强化学习位于这两者之间,每次预测都有一定形式的反馈,但是没有精确的标签或者错误信息。
监督学习
1.决策树(Decision Trees)
从业务决策的角度来看,决策树是人们必须了解的最少的是/否问题,这样才能评估大多数时候做出正确决策的概率。
2.朴素贝叶斯分类(Naive Bayesian classification)
应用:判断垃圾邮件;对新闻的类别进行分类,比如科技、政治、运动;判断文本表达的感情是积极的还是消极的;人脸识别。
3.最小二乘法(Ordinary Least Squares Regression)
可以将线性回归看做通过一组点来拟合一条直线。实现这个有很多种方法,“最小二乘法”就像这样:你可以画一条直线,然后对于每一个数据点,计算每个点到直线的垂直距离,然后把它们加起来,那么最后得到的拟合直线就是距离和尽可能小的直线。
4.逻辑回归(Logistic Regression)
应用:信用评分;计算营销活动的成功率;预测某个产品的收入;特定的某一天是否会发生地震。
5.支持向量机(Support Vector Machine,SVM)
给定N维坐标下两种类型的点,SVM生成(N-1)维的超平面来将这些点分成两组。假设你在平面上有两种类型的可以线性分离的点,SVM将找到一条直线,将这些点分成两种类型,并且这条直线尽可能远离所有这些点。
6.集成方法(Ensemble methods)
它通过构建一组分类器,然后通过它们的预测结果进行加权投票来对新的数据点进行分类。
无监督学习
7.聚类算法(Clustering Algorithms)
聚类是将一系列对象分组的任务,目标是使相同组(集群)中的对象之间比其他组的对象更相似。
8.主成分分析(Principal Component Analysis,PCA)
PCA的一些应用包括压缩、简化数据便于学习、可视化等。
9.奇异值分解(Singular Value Decomposition,SVD)
10.独立成分分析(Independent Component Analysis,ICA)
ICA对观测到的多变量数据定义了一个生成模型,这通常是作为样本的一个大的数据库。在模型中,假设数据变量由一些未知的潜在变量线性混合,混合方式也是未知的。潜在变量被假定为非高斯分布并且相互独立,它们被称为观测数据的独立分量。