您的位置:首页 > 其它

辨异 —— 机器学习概念辨异、模型理解

2016-10-25 18:06 232 查看
区别检测(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),

参数模型中的参数一般是关于对数据本身分布的假设;

随机森林(包括提升方法)、神经网络等方法中的参数,则是关于算法本身

Are Random Forest and Boosting parametric or non-parametric?

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:RD→RL,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 对应的则是最高次数确定之后,每一项的系数。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: