ML(2): 术语及算法分类汇总
机器学习术语
归纳总结机器学习相关的基本术语,以一批西瓜的数据为例,例如:(色泽=青绿;根蒂=蜷缩;敲声=浊响),(色泽=乌黑;根蒂=稍蜷;敲声=沉闷),(色泽=浅白;根蒂=硬挺;敲声=清脆)。。。
- 示例(instance)/样本(sample):对于某个事件或对象的描述(上例中的一个西瓜)
- 数据集(data set):一组记录的合集
- 属性(attribute)/特征feature):反映事件或对象在某方面的表现或性质的事项,如:色泽、根蒂、敲声
- 属性值(attribute value):属性上的取值,如:“青绿","乌黑"
- 属性空间(attribute space)/样本空间(sample space)/输入空间: 属性张成的空间
- 特征向量(feature vector):在属性空间里每个点对应一个坐标向量,把一个示例称作特征向量。如:把"色泽”、“根蒂”、“敲声”作为三个坐标轴,则他它们张成一个用于描述西瓜的三维空间,每个西瓜都可在这个空间中找到自己的坐标位置,由于空间中的每个点对应一个坐标向量,因此我们也把一个示例称为一个“特征向量”
- 维数(dimensionality):描述样本参数的个数(也就是空间是几维的)
- 学习(learning)/训练(training):从数据中学得模型的过程,这个过程通过执行某个学习算法来完成。
- 训练数据(training data):训练过程中用到的数据
- 训练样本(training sample):训练用到的每个样本
- 训练集(training set):训练样本组成的集合
- 假设(hypothesis):学得模型对应了关于数据的某种潜在规则,这种潜在规律自身,则称为“真相”或"真实“
- 标记(label):关于示例的结果信息,比如这是一个“好瓜”。
- 样例(example):拥有标记信息的示例,如下说明:
- 分类(classification):预测时离散值,比如”好瓜“、"坏瓜”之类的学习任务称为分类
- 回归(regression):若预测的是连续值,比如西瓜成熟度0.95、0.37之类的学习任务称为“回归”
- 聚类(clustering):把训练集中的对象分为若干组,每组称为一个簇(cluster),这些自动生成的簇可能对应一些潜在的概念划分,如:“浅色瓜”、“深色瓜”,甚至“本地瓜“、”外地瓜“
- 有监督学习(supervised learning):训练数据拥有标记,典范--分类和回归
- 无监督学习(unsupervised learning):训练数据无标记,从数据集中自己自动发现模式和关系,典范--聚类 (先天的判断力,无需后天培养)
- 泛化(generalization)能力:训练出来的模型适用于新样本的能力,具有强泛化能力的模型能很好地适用于整个样本空间。
常见算法分类
根据算法的功能和形式的类似性,我们可以把算法分类,比如说基于树的算法,基于神经网络的算法等等。当然,机器学习的范围非常庞大,有些算法很难明确归类到某一类。而对于有些分类来说,同一分类的算法可以针对不同类型的问题。这里,我们尽量把常用的算法按照最容易理解的方式进行分类。
回归算法: 回归算法是试图采用对误差的衡量来探索变量之间的关系的一类算法。回归算法是统计机器学习的利器。常见的回归算法包括:
- 最小二乘法(Ordinary Least Square),
- 逻辑回归(Logistic Regression),
- 逐步式回归(Stepwise Regression),
- 多元自适应回归样条(Multivariate Adaptive Regression Splines)
- 本地散点平滑估计(Locally Estimated Scatterplot Smoothing)
基于实例的算法:基于实例的算法常常用来对决策问题建立模型,这样的模型常常先选取一批样本数据,然后根据某些近似性把新数据与样本数据进行比较。通过这种方式来寻找最佳的匹配。因此,基于实例的算法常常也被称为“赢家通吃”学习或者“基于记忆的学习”。常见的算法包括
- k-Nearest Neighbor(KNN)
- 学习矢量量化(Learning Vector Quantization, LVQ),
- 以及自组织映射算法(Self-Organizing Map , SOM)
正则化方法:正则化方法是其他算法(通常是回归算法)的延伸,根据算法的复杂度对算法进行调整。正则化方法通常对简单模型予以奖励而对复杂算法予以惩罚。常见的算法包括:
- Ridge Regression,
- Least Absolute Shrinkage and Selection Operator(LASSO),
- 弹性网络(Elastic Net)
决策树算法:决策树算法根据数据的属性采用树状结构建立决策模型, 决策树模型常常用来解决分类和回归问题。常见的算法包括:
- 分类及回归树(Classification And Regression Tree, CART)
- ID3 (Iterative Dichotomiser 3),
- C4.5
- Chi-squared Automatic Interaction Detection(CHAID)
- Decision Stump
- 随机森林(Random Forest)
- 多元自适应回归样条(MARS)
- 梯度推进机(Gradient Boosting Machine, GBM)
贝叶斯方法:贝叶斯方法算法是基于贝叶斯定理的一类算法,主要用来解决分类和回归问题。常见算法包括:
- 朴素贝叶斯算法
- 平均单依赖估计(Averaged One-Dependence Estimators, AODE)
- Bayesian Belief Network(BBN)
基于核的算法: 基于核的算法把输入数据映射到一个高阶的向量空间, 在这些高阶向量空间里, 有些分类或者回归问题能够更容易的解决。 常见的基于核的算法包括:
- 支持向量机(Support Vector Machine, SVM)
- 径向基函数(Radial Basis Function ,RBF),
- 线性判别分析(Linear Discriminate Analysis ,LDA)
聚类算法:聚类算法通常按照中心点或者分层的方式对输入数据进行归并。所以的聚类算法都试图找到数据的内在结构,以便按照最大的共同点将数据进行归类。常见的聚类算法包括:
- k-Means算法
- 期望最大化算法(Expectation Maximization, EM)
关联规则学习: 关联规则学习通过寻找最能够解释数据变量之间关系的规则,来找出大量多元数据集中有用的关联规则。常见算法包括 :
- Apriori算法
- Eclat算法
人工神经网络: 人工神经网络算法模拟生物神经网络,是一类模式匹配算法。通常用于解决分类和回归问题。人工神经网络是机器学习的一个庞大的分支,有几百种不同的算法。重要的人工神经网络算法包括:
- 感知器神经网络(Perceptron Neural Network),
- 反向传递(Back Propagation),
- Hopfield网络
- 自组织映射(Self-Organizing Map, SOM)
- 学习矢量量化(Learning Vector Quantization, LVQ)
深度学习: 深度学习算法是对人工神经网络的发展。 在近期赢得了很多关注, 特别是百度也开始发力深度学习后, 更是在国内引起了很多关注。 在计算能力变得日益廉价的今天,深度学习试图建立大得多也复杂得多的神经网络。很多深度学习的算法是半监督式学习算法,用来处理存在少量未标识数据的大数据集。常见的深度学习算法包括:
- 受限波尔兹曼机(Restricted Boltzmann Machine, RBN)
- Deep Belief Networks(DBN)
- 卷积网络(Convolutional Network),
- 堆栈式自动编码器(Stacked Auto-encoders)
降低维度算法: 像聚类算法一样,降低维度算法试图分析数据的内在结构,不过降低维度算法是以非监督学习的方式试图利用较少的信息来归纳或者解释数据。此算法可以用于高维数据的可视化或者用来简化数据以便监督式学习使用。常见的算法包括:
- 主成份分析(Principle Component Analysis, PCA)
- 偏最小二乘回归(Partial Least Square Regression,PLS)
- Sammon映射
- 多维尺度(Multi-Dimensional Scaling, MDS)
- 投影追踪(Projection Pursuit)
集成算法:集成算法用一些相对较弱的学习模型独立地就同样的样本进行训练,然后把结果整合起来进行整体预测。主要难点在于究竟集成哪些独立的较弱的学习模型以及如何把学习结果整合起来。是一类非常强大的算法,常见的算法包括:
- Boosting
- Bootstrapped Aggregation(Bagging)
- AdaBoost
- 堆叠泛化(Stacked Generalization, Blending)
- 梯度推进机(Gradient Boosting Machine, GBM)
- 随机森林(Random Forest)
ML(2): 术语及算法分类汇总的更多相关文章
- [Machine Learning] 机器学习常见算法分类汇总
声明:本篇博文根据http://www.ctocio.com/hotnews/15919.html整理,原作者张萌,尊重原创. 机器学习无疑是当前数据分析领域的一个热点内容.很多人在平时的工作中都或多 ...
- paper 12:机器学习常见算法分类汇总
机器学习无疑是当前数据分析领域的一个热点内容.很多人在平时的工作中都或多或少会用到机器学习的算法.这里南君先生为您总结一下常见的机器学习算法,以供您在工作和学习中参考. 机器学习的算法很多.很多时候困 ...
- Spark ML下实现的多分类adaboost+naivebayes算法在文本分类上的应用
1. Naive Bayes算法 朴素贝叶斯算法算是生成模型中一个最经典的分类算法之一了,常用的有Bernoulli和Multinomial两种.在文本分类上经常会用到这两种方法.在词袋模型中,对于一 ...
- GitHub上史上最全的Android开源项目分类汇总 (转)
GitHub上史上最全的Android开源项目分类汇总 标签: github android 开源 | 发表时间:2014-11-23 23:00 | 作者:u013149325 分享到: 出处:ht ...
- GitHub上史上最全的Android开源项目分类汇总
今天在看博客的时候,无意中发现了 @Trinea 在GitHub上的一个项目 Android开源项目分类汇总 ,由于类容太多了,我没有一个个完整地看完,但是里面介绍的开源项目都非常有参考价值,包括很炫 ...
- Android 开源项目分类汇总(转)
Android 开源项目分类汇总(转) ## 第一部分 个性化控件(View)主要介绍那些不错个性化的 View,包括 ListView.ActionBar.Menu.ViewPager.Galler ...
- Android 开源项目分类汇总
Android 开源项目分类汇总 Android 开源项目第一篇——个性化控件(View)篇 包括ListView.ActionBar.Menu.ViewPager.Gallery.GridView ...
- Android开源项目分类汇总【畜生级别】[转]
Android开源项目分类汇总 欢迎大家推荐好的Android开源项目,可直接Commit或在 收集&提交页 中告诉我,欢迎Star.Fork :) 微博:Trinea 主页:www.t ...
- Android开源项目分类汇总[转]
Android开源项目分类汇总 如果你也对开源实现库的实现原理感兴趣,欢迎 Star 和 Fork Android优秀开源项目实现原理解析欢迎加入 QQ 交流群:383537512(入群理由需要填写群 ...
随机推荐
- 时间序列预测——深度好文,ARIMA是最难用的(数据预处理过程不适合工业应用),线性回归模型简单适用,预测趋势很不错,xgboost的话,不太适合趋势预测,如果数据平稳也可以使用。
补充:https://bmcbioinformatics.biomedcentral.com/articles/10.1186/1471-2105-15-276 如果用arima的话,还不如使用随机森 ...
- JavaScript学习总结(十四)——JavaScript编写类的扩展方法
在JavaScript中可以使用类的prototype属性来扩展类的属性和方法,在实际开发当中,当JavaScript内置的那些类所提供的动态 ...
- FZU 2124 吃豆人 bfs
题目链接:吃豆人 比赛的时候写的bfs,纠结要不要有vis数组设置已被访问,没有的话死循环,有的话就不一定是最优解了.[此时先到的不一定就是时间最短的.]于是换dfs,WA. 赛后写了个炒鸡聪明的df ...
- [转载]request.getServletPath()方法
假定你的web application 名称为news,你在浏览器中输入请求路径: http://localhost:8080/news/main/list.jsp 则执行下面向行代码后打印出如下结果 ...
- 返回书签 GotoBookmark
property Bookmark: TBookmark read GetBookmark write GotoBookmark; 直接给Bookmark属性赋值,还是 调用数据集GotoBookma ...
- Python 爬虫常用库(九)
- DevExpress v17.2新版亮点—Analytics Dashboard篇(一)
用户界面套包DevExpress v17.2日前终于正式发布,本站将以连载的形式为大家介绍各版本新增内容.本文将介绍了Analytics Dashboard v17.2 的新功能,快来下载试用新版本! ...
- Ubuntu下安装、卸载notepad++
Ubuntu下的安装方法: sudo add-apt-repository ppa:notepadqq-team/notepadqq sudo apt-get update sudo apt-get ...
- centos7系统初始化
echo "# swappiness=0的时候表示最大限度使用物理内存,然后才是 swap空间" >> /etc/sysctl.conf echo -e "v ...
- Ubuntu终端点击确定按钮的方法
Ubuntu终端里出现需要点击 确定 按钮的时候,直接鼠标点击 确定 是不生效的,这个时候需要利用tab键选中这个 确定 按钮,然后回车键就可以了.