机器学习入门绪论

简单介绍

这学期选了 introduction to machine learning, 在ml这边相当于 15-513 这样子的入门课,后续课程有很多 10-702 statistic machine learing, 10-703 deep reinforcement learning control, 10-707 introduction to deep learning, 10-708 graphical model, 10-725 convex optimization …
http://www.cs.cmu.edu/~pradeepr/701/

big picture of machine learning

data — ML algorithms —-> knowledge
这个图应该可以很好的解释什么是ML。
比如imageNet里面你有image和对应的label,你通过dl学习到了,有关于input image和output label的knowledge.
在比如强化学习里面,你通过比如:deep q-learning的方法学习了,你自己的approximate q function. 然后这个东西,对你之后agent在environment里面做action选择产生直接影响。

Three Axes

有了上面的图,你可以从三个角度去总括机器学习,分别是数据,算法,任务(具体要解决的问题)

Data

首先是数据,
分完全被观测到的数据;
部分被观测到的数据,这里部分被观测到,我的理解是有些sample的一些variable是未知的,
然后partially observable MDP也有这样的意思,毕竟信息不完整。
后面有会banch的算法来解决这样子的问题,比如EM等等。

Algorithm

算法这里,就主要分两大类,基于模型和不基于模型的,既然涉及到模型,这里讲下模型的定义吧

Model

感觉在机器学习里面的模型主要指的是涉及变量之间的关系,特指他们的概率分布上面的联系,比如,对于随机变量X,Y,
X是input,Y是output,那么这里的模型就是P(X, Y),来描述他们之间的关系,这个是probabilistic model of the data

Model-based

总的来说model-based methods是这样子的流程
data — model learning —-> model —- model inference —-> knowledge

  • model learning: learning from data to a model

    • 简单的来说,model是对data的总结:model-based方法会比较省内存,学完一个model后,predict/inference的时候你不需要遍历你的data了
    • model也是描述数据是如何产生的:这里我的理解是model揭示了变量之间的关系,或者揭示了问题所涉及的变量之间的机理(mechanism)
    • E.g. 给你症状和疾病的数据,然后所学习的model就是所谓的病理了,揭示了症状是如何与疾病相联系的
  • model inference: from model to knowledge

    • 知道物之理后,我们就可以推演了
    • 比如:给你症状,根据病理,推演出这个是什么疾病

然后,细分的话,有可以分为probabilistic model of the data methods, parametric models methods及nonparametric models methods

probabilistic model of the data methods

parametric models methods

nonparametric models methods

Model-free

总来的说就是不去学习一个model,而是直接通过algorithm学习knowledge。比如在强化学习里面q-learning, 我不去学model,我直接通过q-learning学习value function和policy。

Tasks/Knowledge

prediction

预测,根据输入,估计/预测输出,
主要分分类问题(classification)和回归问题(regression)两大类

description

会涉及聚类、密度估计、降维等,另外一种叫法叫非监督学习(unsupervised-learning).

  • 需要处理的数据里面没有标注
    比如:给你一个文档,你通过算法得到了词频的分布
    再比如:给你一堆图片,你根据他们的相似度,做了一定的分类
    再比如:nlp里面的一些ebedding方法,把word根据某些规则映射到一个向量空间(语义空间)里面,单词的意思的相近与否,可以通过这个空间里面点的距离来判断
    字面上看,聚类、密度估计的确是对无标注的数据的一种描述吧,更确切的说,应该是一种表述和呈现方式(presentation)

Machine Learning Subfields

在机器学习里面,根据这三个角度上面不同的组合就会有不同的子领域

supervised learning

数据这里包含了inputs和相应的标注
tasks这里涉及的是prediction

unsupervised learning

数据这里包含了inputs而不包含相应的标注
tasks这里涉及的是description

semi-supervised learning

数据这里包含了inputs,包含了部分的标注
tasks这里涉及的是prediction

如果,我们不仅仅只有observations,我们还可以有action (control),那么我们又会有

reinforcement learning

markov chain —>

multi-agent system