标签归档:Neural Network

从线性空间到再生核希尔伯特空间

线性空间(Linear Space)

线性空间也就是向量空间(Vector Space),它指的是一系列向量的集合,并且只定义了两个运算:加法和数乘。加法指的是两个向量之间的运算;而数乘指的是实数和向量的相乘(相当于缩放,scale)也就是向量长度的变化。接下来我们以一个10维的向量空间来解释加法和数乘运算:

$$
\vec{v} = (v_1,v_2,…,v_{10}) \\
\vec{w} = (w_1,w_2,…,w_{10}) \\
\vec{v} + \vec{w} =(v_1+w_1,v_2+w_2,…,v_{10}+w_{10}) \\
c \cdot \vec{v} = (c \cdot v_1,c \cdot v_2,…,c \cdot v_{10})
$$

看完这个对什么是线性空间应该一目了然了。

希尔伯特空间(Hilbert Space):

基本的线性空间只包括加法和数乘操作,在此基础上我们引入内积操作,这样就把空间升级为内积空间。根据内积我们可以定义一个范数:\(\left[……]

继续阅读

核技巧(The Kernel Trick)

引言

很多人介绍核技巧时总会扯上SVM,大概是很多人第一次碰到核技巧就是在SVM里吧。其实,核技巧是一个非常纯粹的数学方法,不应该一上来就扯上SVM。因为这个技巧不仅应用在SVM中,还有其他领域也有应用。它解决了数据映射到高维空间之后点积的计算量过于复杂的问题。很多人啰啰嗦嗦说了一大堆,把原本很简单的东西搞的很复杂,其实这玩意很好理解。

问题描述

给定两个向量\(x_i\)和\(x_j\),我们的目标是要计算他们的内积\(I = <x_i, x_j>\)。现在假设我们通过某种非线性变换:

$$
\Phi : x \rightarrow \phi(x)
$$

把他们映射到某一个高维空间中去,那么映射后的向量就变成:\(\phi(x_i)\)和\(\phi(x_j)\),映射后的内积就变成:\(I’ = <\phi(x_j),\phi(x_j)>\)。现在改如何计算映射后的内积呢?传统方法是先计算映射后的向量\(\phi(x_i)\)和\(\phi(x_[……]

继续阅读

极大似然估计(Maximum Likelihood Estimation)

在统计学中,最大似然估计,也称为最大概似估计,是用来估计一个概率模型的参数的一种方法。也就是说,在模型已知的情况下,我们通过采样样本数据,反推出最有可能导致该数据服从该模型分布的参数值,简单来说就是:模型已定,参数未知,通过采样求解模型参数。

问题描述

给定一组数据\(X=X_1,X_2,…,X_n\) ,他们的概率分布为\(D\)(参数为\(\theta\)),以及其概率密度函数\(f_D\),求解模型\(D\)的参数\(\theta\)。

求解

  • 采样
    我们从\(X\)中采样出一组数据\(x=x_1,x_2,…,x_n\),如果\(n\)足够大的话,这组数据肯定是服从分布\(D\)的。我们假设这组数据的采样是互相独立的,那么他们同时被采集到的概率(联合概率密度:joint density function)就是:

    $$
    f(x_1,x_2,…,x_n|\theta) = f(x_1|\theta) \t[……]

    继续阅读

Factorization Machines

Factorization Machines
要真正理解这个东西,我们得先从线性回归和多项式回归说起。

  • 线性回归
    一个基本的线性回归模型可以表示为:
    $$
    \hat{y(x)} = w_{0} + \sum_{i=1}^{n}w_{i}x_{i}
    $$
  • 多项式回归
    那么多项式回归就是在此基础上增加交叉项(也就是多项式):
    $$
    \hat{y(x)} = w_{0} + \sum_{i=1}^{n}w_{i}x_{i} + \sum_{i=1}^{n}\sum_{j=i+1}^{n}w_{ij}x_{i}x_{j}
    $$
    后面增加的就是多项式交叉项,Factorization Machines的主要目的就是优化多项式交叉项。那么这个多项式交叉项有什么问题呢?为什么需要被优化呢?
  • 第一个明显的问题就是参数太多了,\(n\)个特征,两两交叉,参数个数就是\(n(n-1)/2\).

  • 各个参数\(w_{ij}\)之间是互相独立,并没有什么联系。
  • 在高度稀疏的训练样本中无法准确地学习得到这些参数。为什么?因为最终[……]

    继续阅读

理解PCA

引言
之前写过一篇关于PCA的文章,写完之后就以为自己已经完全理解这个东西了。直到最近data mining课上又讲到这个内容,和同学交流时才发现有些细节根本没有理解到位。上一篇文章主要介绍如何一步一步计算出一个PCA算法,而今天则侧重于从数学的角度讲讲为什么。

基本概念
再深入介绍之前,先理解几个基本的数学概念:
方差(Variance):
一个变量的方差可以看做是每个元素与变量均值的差的平方和的均值,即:$${\displaystyle \Sigma =\mathrm {cov} (X_{i},X_{i}) = \mathrm {E} {\begin{bmatrix}(X_{i}-\mu _{i})^{2}\end{bmatrix}} = \mathrm {E} {\begin{bmatrix}(X_{i}-\mu _{i})(X_{i}-\mu _{i})\end{bmatrix}}}
$$
其中,\(E\)表示的是均值函数,\(\mu_{j}\)表示的是样本的均值。方差用来度量单个变量样本数据的离散(偏离均值)的程度。

协方差(Covariance):
变量\(X_{i}\[……]

继续阅读