• 区别检测(detection)与识别(recognition),
    • 目标检测,目标识别;
    • 人脸检测(一张图像中是否有人脸),人脸识别(确定这个人脸是谁)
  • DP:不是指动态规划(dynamic programming),而是狄利克雷过程(Dirichlet Process)
  • TF,可以是 TensorFlow,也可以是 Term Frequency,注意 context
  • PMF: Probabilistic Matrix Factorization,概率矩阵分解,(PMF:Probability Mass Function),概率质量函数;
  • 参数模型(Parametrical models),非参数模型(non-parametric models),

0. 机器学习与统计、与数据挖掘

机器学习与统计因为其概念的提出来源不同,一个来源于人工智能,一个则是数学;

  • 机器学习中的 Networks,Graphs 等,在统计的范畴里称为 Models
    • Networks,Graphs:weights
      • Learning
      • Generation
      • supervised learning
      • unsupervised learning
    • Models:parameters
      • 对模型,fitting
      • 对参数,估计(estimation);
      • Test set(Generation)
      • Regression/Classification(supervised learning)
      • density estimation,clustering(unsupervised learning)

机器学习更偏重,自动化(数学);数据挖掘则偏重,半自动;

1. Multi-class、Multi-label

  • Multi-class Classification:多分类问题,即在多于两个类别中选择一个;
  • Multi-label Classification:判断一个样本是否同时属于多个不同类别;

2. 分类函数(classification function)与模型(model)

  • 分类函数:fθ(x),f(x)
  • 模型:P(Y|x,θ)

二者什么关系呢?

fθ(x):=argmaxkP(Y=k|x,θ)

3. empirical loss:经验损失

  • 损失函数一定是需要对其执行最小化操作的。

存在以下版本的经验损失函数的定义形式:

  • 0-1 损失,

    0,1(θ,D)=i=0|D|Ifθ(x(i))y(i)

    接下来就要看 fθ(x) 的具体定义形式了,比如,fθ(x)=argmaxkP(Y=k|x,θ)

  • NLL(Negative Log-Likelihood Loss),其实有 MLE(Maximum Likelihood)最大(对数,乘法转化为加法)似然取负号转化而来,(最大似然 ⇒ 最小对数损失)

    L(θ,D)=i=0|D|logP(Y=y(i)|x(i),θ)

    所以其 NLL 形式为:

    NLL(θ,D)=i=0|D|logP(Y=y(i)|x(i),θ)

    此为真正的损失函数(当然这里也可以再次执行以下均值化的操作);

4. 手动求导还是自动求导?

在实现 minibatch SGD(stochastic gradient descent)的过程中,对于大多数的编程语言,C/C++Python/Matlab,来说,都需要手动求解损失函数关于参数的导数(对 logistic regression 来讲,就是 /W/b,这对某些复杂模型常常变得十分棘手,尤在考虑到数值稳定性时。

对于 Theano 这种符号式编程语言来说,就变得十分容易:

g_W = T.gradient(cost=cost, wrt=clf.W)
g_b = T.gradient(cost=cost, wrt=clf.b)
  • 手动求导:C/C++/Python/Matlab
  • 自动求导:theano

5. MLP vs LR(logistic regression)

  • 一个 MLP(multi-layer perceptron)可被看做一个 LR 分类器,首先使用一个非线性函数(non-linear,因为激励函数不是线性的) Φ 将输入样本(input)映射到一个可以使其线性可分的空间中。

  • 这样的一个中间层视为隐层(hidden layer)。

  • 一个单隐层的 MLP 就足以成为一个通用的逼急器(universal approximator)。

  • MLP 也被成为 ANN(Artificial Neural Network)。

  • 正式地,单隐层的 MLP 可看做一个函数,f:RDRL,D 是输入样本的维数,L 则是输出向量的维数,以矩阵的记法:

    f(x)=G(b(2)+W(2)s(W(1)x+b(1)))

    符号介绍:

    • b(1),b(2):bias vectors
    • W(1),W(2):weight matrices
    • G,s:activation function

    定义:h(x)=Φ(x)=s(b(1)+W(1)x),其构成了中间的隐层(的输入)

    一般将 s=tanh

    输出向量(output vector) o(x)=G(b(2)+W(2)h(x)),我们可将 G 设置为 softmax 的形式;

    对于 MLP 模型,参数集为 θ={W(2),b(2),W(1),b(1)}

6. 无监督学习 vs 监督学习

想要结合实际,让工具变得更加智能化,深度学习必将的走向:

  • 大数据和无监督算法;
  • 围绕着庞大的未标记数据;

7. parameter vs hyper-parameter

  • hyper-paramter 的学习(获得)对应着 model selection(model comparison)的过程。

    • 不同的超参对应着不同的模型;
  • parameter 的学习(获得)对应着在 hyper-parameter 确定的前提下,模型训练的过程。

    • 模型无关其内具体参数的数值;

比如多项式拟合,hyper-parameter 对应的是,多项式的最高次数,而 parameter 对应的则是最高次数确定之后,每一项的系数。