机器学习一撇

Kopei article

机器学习是建立在大量数据的基础上, 在有意义的大数据上面提取有用的信息, 然后做出预测。

典型应用场景

  • 推荐算法
  • 欺诈检测
  • 市场细分研究
  • 社交网络分析
  • 医学研究

机器学习的三个分支

  • 监督学习
    监督学习主要用于基于一组训练集做出预测结果, 如训练集和结果用数组表示[x1, x2,...y], 算法将从训练集中学习如何预测将来的某个结果。如果y是数字那么这个预测叫做回归, 如果是明确的一些值, 那么这个预测叫做分类.

  • 非监督学习
    非监督学习主要用于发现数据中未知的模式, 典型的例子是分类集群。

  • 加强学习
    也叫连续学习, 在这种模式下, 我们不会得到最终结果。而是基于当前状态得出一个最优解, 也就是所谓的agent选择一个最优action, 然后将得到一个award.

数据仓库

数据仓库是存放数据的各种源集合叫法。它有什么用呢? 一个例子是把OLTP如mysql的数据做备份然后导入数据仓库做OLAP. 这时数据仓库中的数据多了一个时间维度, 用于区分版本。所以从不同的数据源导入数据仓可能需要做ETL, 也就是抽取-转化-导入。 这里的导入一般会把数据按不同维度导入到data cube.

数据仓一般会把数据组织成多个维度的数据立方, 基于所谓的star schema(一张fact表, 用于索引多张不同维度的其它表),表中的数据是不同维度数据的聚合。

在数据仓做OLAP操作时, 一般涉及如下步骤:

  • rollup: 对某个维度的数据做聚合。
  • drilldown: 在某个维度把数据打散, 使其颗粒度更细。如把按月展示, 打成按天展示.
  • slice: 在一个维度切一层数据看, 比如查看所有二月的数据。
  • Dice: 从一个cube中选择一个子集。

数据仓可以被进一步切分为data marts, 用于不同角度的drilldown分析。

机器学习的哲学

正常想法,想要把一组输入数据经过处理得到结果, 一般可以研究输入的属性,然后写一个函数计算出结果。 但是有时候它们之间的关系往往难以确定。 这个时候机器学习就派上用处了,它可以基于历史所有的数据做出预测。 机器学习大致可以分两种学习策略:

懒惰学习lazy learning

懒惰学习基于实例, 学习者记住所有之前看过的例子, 当一个新的数据来到, 它尝试从历史见过的数据中找到相似数据,然后使用历史数据的结果作为参考去预测当前输入数据的结果。这种学习的前提是上述两者在属性上近似,所以他们的输出也近似。 Nearest neighbor最近邻居法就是经典的懒惰学习例子。

主动学习eager learning

主动学习是基于模型的学习,学习者假设输入属性和输出相关, 并且基于某个模型(比如线性回归, 逻辑回归, 神经网络等等)。 所以学习者学习基于历史数据得出的模型(主要是模型参数), 当一个新的数据来临, 它就会使用这个模型去预测结果。
主动学习学习通用模型, 懒惰学习从看过的例子中学习。他们还有一点不同, 主动学习的模型必须满足所有历史数据, 但是懒惰学习可以只关注最近某些时间的点。懒惰模型也更难以构建一个综合的模型,需要大量的内存存储所有见过的数据。

  • Post title:机器学习一撇
  • Post author:Kopei
  • Create time:2018-10-14 00:00:00
  • Post link:https://kopei.github.io/2018/10/13/AI-2018-10-04-机器学习一撇/
  • Copyright Notice:All articles in this blog are licensed under BY-NC-SA unless stating additionally.
 Comments