码迷,mamicode.com
首页 > 系统相关 > 详细

Machine Learning分类

时间:2018-07-13 21:07:59      阅读:233      评论:0      收藏:0      [点我收藏+]

标签:analysis   数据集   定位   res   告诉   很多   预测   rand   build   

从宏观方面,机器学习可以从不同角度来分类

  • 是否在人类的干预/监督下训练。(supervised,unsupervised,semisupervised 以及 Reinforcement Learning)
  • 是否可以增量学习 (在线学习,批量学习)
  • 是否是用新数据和已知数据比较,还是在训练数据中发现一些规律build出一个预测模型(instance-based ,model-based learning).

以上分类并非互相排斥。下面我们详细介绍每种机器学习类别。

Supervised/Unsupervised学习

如同父母监督孩子学习一样,不同的父母有不同的监督手段,有的是形影不离,有的则是放养。这里分为四类 supervised , unsupervised , semisupervised和Reinforcement Learning.

Supervised 学习

在supervised学习中,你提供给算法的数据集(Trainng data)中已经包含了预期的结果(Labels)。

一个典型的supervised学习任务是分类(classfication)。比如垃圾邮件过滤,训练集中包含了邮件本身以及他们的标签(分类,是否为垃圾邮件),训练出来的模型会对新邮件进行分类,采取过滤策略。
技术分享图片

另一典型的任务是预测一个目标数值,比如通过提供相关的feature/attribute集合(比如公里数,品牌,出厂日期)来预测轿车的价格。 这些feature被称作predictors(预测因子)。这种任务被称作regression。为了训练系统,我们需要提供大量数据包含这些预测因子和标签(车价格) 。

某些regression的算法也可以用来做classfication,反之亦然。比如我们可以使用逻辑回归算法来给出一个代表属于某种类别的可能性的值(20%的概率是垃圾邮件)

下面是一些常用的监督学习算法:

  1. k-Nearest Neighbors
  2. Linear Regression
  3. Logistic Regression
  4. Support Vector Machines(SVMs)
  5. Decision Trees and Random Forests
  6. Neural networks

Unsupervised 学习

很容易猜到,无监督学习并不需要给数据打标签(labels),可以实现不需要父母监督下自主学习。下面是常用的无监督学习算法。

  • Clustering
    • k-Means
    • Hierarchical Cluster Analysis(HCA) 
    • Expectation Maximization
  • Visualization and dimensionality reduction 
    • Principal Component Analysis(PCA)
    • Kernel PCA
    • Locally-Linear Embedding(LLE)
    • t-distributed Stochastic Neighbor Embedding(t-SNE)
  • Association rule learning
    • Apriori
    • Eclat

比如,你有大量关于博客访问者的数据,你可以使用聚类算法去探测相似行为的访问者。你并不需要告诉算法如何分组,算法会自动找到一些关联。比如,它会发现40%的访问者是男性,他们喜欢漫画书并且大致是晚上阅读你的博客,而20%的是年轻的科幻小说爱好者,他们经常在周末访问博客,等等。 如果你使用Hierachical Clustering算法,它会继续把每个组再次分为更详细的组。这有助于你的博客定位不同的用户群体。

技术分享图片

对于Visualization 算法,虽然输入的看似复杂没有标签的数据,但它能根据数据绘制出相应的2D或者3D图形。这些算法会尝试保留更多的类型结构,避免独立的聚类互相重叠,我们则可以了解数据是如何组织,也许可以发现潜在的未知规律。

技术分享图片

Dimensionality reduction被用来简化数据(在不丢失很多信息的情况下)。一种用途是通过将多个相关联的feature合并为一个。比如,轿车的里程数和其年龄联系比较紧密,所以,Dimensionality reduction算法将合并二者为一个feature来反应车辆的损耗。 这被称作feature extraction(特征抽取).Feature extraction是一个很有用的技术,它使后续的机器学习算法运行更快(因为数据占用更少磁盘和内存),某些情况下,更准确。

还有一种无监督学习是anomaly detection,比如监测不正常的信用卡交易防止欺诈,捕获制造中的缺陷,自动从数据集中移除outliers(异常值,极端值,离群值)。通过正常数据训练模型,然后应用于新数据,它可以告诉我们新的数据是否正常。
技术分享图片

我们要说的最后一种无监督学习是 association rule learning ,其目标是挖掘大量数据从中发现隐藏在属性之间的关系。比如,把关联规则应用在大型超市的销售日志数据中,也许可以发掘某种购买习惯: 购买烤肉酱和炸土豆片的人也趋向购买牛排。因此,商户可以将这些商品放在距离彼此近的地方。

 

待续。。。。。

 

Machine Learning分类

标签:analysis   数据集   定位   res   告诉   很多   预测   rand   build   

原文地址:https://www.cnblogs.com/nativestack/p/ricky_ml01.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!