机器学习概论

作者: 引线小白-本文永久链接:httpss://www.limoncc.com/post/72a5edcac04cd1a3e93a37ee90ac9259/
知识共享许可协议: 本博客采用署名-非商业-禁止演绎4.0国际许可证

一、机器学习若干符号解释

我们在表达概念时,通常用集合论,空间之类的术。这个时候,我们注意元素和集合的区别。而在我们表达运算时,我们通常用矩阵的概念,这个时候你要注意维度、列、行的概念。多加练习,你很快就会掌握这个表达。

1、输入空间

用矩阵表示数据集D:X=[x1Tx2TxnT]=[x1,:Tx2,:Txn,:T]=[x1,1x1,kxn,1xn,k]xi=xi,:表示用 X的第i行转置构造向量 xik×1
用matlab举个例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
%矩阵与机器学习
>> X=[12, 14, 15; 1.5, 5.4 ,6.7;20,3.4,5]
X =
12.0000 14.0000 15.0000
1.5000 5.4000 6.7000
20.0000 3.4000 5.0000
>> x1=X(1,:)'
x1 =
12
14
15
>> x1(2,1)
ans =
14

所以 x1表示包含k个维度的一次观测(示例)。我们用集合论的方式再叙述一遍有n个样本的数据集或者样本空间 X={x1,x2,,xi,,xn}Xn ,其中 xi是样本点(样本),我们把输入的所有可能取值集合 X叫做输入空间,无监督学习下也可以称为样本空间。显然 XXn

输入空间的矩阵表示和集合表示我们需要多加熟悉、灵活运用。这是我们思考多维问题的基础。

2、输出空间

集合Y={y1,y2,..,yi,,yn}Y,其中输出空间 Y、 输入样本Y、输入样本点 yi

矩阵表示: y=[y1,y2,..,yi,,yn]T

在有监督学习中,我们把集合 {(xi,yi)1in}也叫做训练集D(xi,yi)表示第i个样本。

符号P(yx)=N(yxTβ,σ)yxN(xTβ,σ)是同一个意思。注意 的不同意思。[^1]

统计学中,我们写成这样 P(yx,β)P(xβ)

机器学习中,我们写成这样 P(yx,w)P(xw)

3、假设空间:

1、如果真实的世界的关系是 y=h(x), 世界充满噪声。所以 y=h(x)+e

现在我们有一个样本或者数据集 D={(xi,yi)}i=1n。我们想通过这个数据集 D估计出 f(x)来找到 h(x)。其实我们能找到的 f有很多,现在我们把它汇集起来: H={fi}。我们的模型是 y=f(x)+ε

现在我们换一个说法:
1、世界是这样的: p(y=h(x)x)
2、我们观察到的世界是这样的:D={(xi,yi)}i=1n
3、我们假设世界是这样的: p(y=f(x)x,D,M)[^1],其中 M是模型(算法)。
于是
ε=yf=yh+hf=yh+hE[f]+E[f]f
E[ε2]=Var[e]+(hE[f])2+E[(fE[f])2]
=+2+

4、我们还可以写成:
H={fp(y=f(x)x,D)}={f(β)p(y=f(x;β)x,D;β),βRk}。这里的H是模型 f的集合。

2、这里的符号有一个重要的解释:

y是一个随机变量,它的取值是 y=yix表示的是 nk维输入数据。也就是说 x也是一个变量,不过是向量的形式。它的取值是 x=xi

3、换一个程序员比较好理解的说法:

y,x是一个类。而 yi,xi是一个实例。所以一个实例 P(yixi,D),又有 P(yn+1xn+1,D)是一个数或者一个概率。y^,y^i也是类和实例的区别。

输出的最佳估计: y^=f^(x)=argmaxy^P(y=y^x,D)

4、算法空间

ζL,它是算法的集合。

5、参数空间

βRk。这里的元素我们将 Rk的k维有序组与向量矩阵β(k×1)等同,以方便表达。

6、概念总结

有了这些基本概念,我们就可以建立起机器学习的基本框架。一张图搞定:

机器学习框架
机器学习框架

7、指示函数,或者叫示性函数

Ix(A)={1if xA0if xA

8、评论

这段概论,大部分是站在频率学派的角度解释的,以后我们还会用贝叶斯学派的观点。

我们注意到符号与文字的转换要非常熟练,这就像英语,如果做到同声翻译的水平,这将有利于快速理解。所以一套好的数学符号是非常关键,好数学符号令人赏心悦目。但是每个人都有不同的风格,这就有点无语,以至于不同的书,符号不一样。TMD这是英语有了方言啊。有些书上的符号真是丑的不堪入目啊。严重影响阅读学习体验。


二、回归模型

1、线性回归模型:

模型的一些表示方法
yi=xiTβ+ϵi=xi,:Tβ+ϵi
y=Xβ+ϵ
S=ϵTϵ
模型矩阵解释:
y(n×1)=X(n×k)β(k×1)n×k+ϵ(n×1)

2、梯度下降算法:β:=βαS

梯度下降算法的本质:可以使用相图的思想加以理解。例如有关系F(x,y,t)=0。如果我们画出
{x˙=3x+5yy˙=5x7sin(y)动力系统的相图。那么如果是凸函数。相图上的曲线集就会流向平衡点。如图

相图
相图

所谓梯度就是图中的箭头乘以梯度的大小。代表了该点速度最快的方向。而 αk就是给梯度加了一个控制器。
所以应该能够理解梯度下降算法了:βk+1=βkαkS(βk)所以当系统比较复杂的时候,必然就面临问题。例如这种:
{x˙=x+yy˙=xy1这个系统就非常复杂了。初始位置不同,我们将走向完全不同的结局。
相图2
相图2
3、规范方程

规范方程的本质可以如下理解:

线性回归几何解释
线性回归几何解释

解决学习平方误差 S的最小化问题:
minβS=ϵTϵ简单推理易得:β^=(XTX)1XTy

现在我们用线性空间的概念来加以理解:
X张成的空间,或者说超平面 span(X)=span(x:,1,,x:,j,,x:,k) 这里的 x:,j=[x1,jx2,jxn,j]。如图我们很容发现要使得 ϵ的欧式距离最短。那么ϵ必然与 span(x:,1,,x:,jj,,x:,k)垂直。即有如下方程。
XTϵ=XT(yXβ^)=0简单推理易得:β^=(XTX)1XTy。所以 y的最佳估计量 y^yspan(x:,1,,x:,jj,,x:,k)空间上的投影。


注释:

[^1]: 如果 ζ表示算法,可写为P(yx,D,ζ)


版权声明
引线小白创作并维护的柠檬CC博客采用署名-非商业-禁止演绎4.0国际许可证。
本文首发于柠檬CC [ https://www.limoncc.com ] , 版权所有、侵权必究。
本文永久链接httpss://www.limoncc.com/post/72a5edcac04cd1a3e93a37ee90ac9259/
如果您需要引用本文,请参考:
引线小白. (Jan. 8, 2017). 《机器学习概论》[Blog post]. Retrieved from https://www.limoncc.com/post/72a5edcac04cd1a3e93a37ee90ac9259
@online{limoncc-72a5edcac04cd1a3e93a37ee90ac9259,
title={机器学习概论},
author={引线小白},
year={2017},
month={Jan},
date={8},
url={\url{https://www.limoncc.com/post/72a5edcac04cd1a3e93a37ee90ac9259}},
}

Powered By Valine
v1.5.2
'