醋醋百科网

Good Luck To You!

通信人的机器学习笔记

最近有些懒,看的东西也比较肤浅,真是不好意思起标题。这篇就聊一聊通信系统和机器学习之间的联系吧,一家之言,仅供参考~另外推荐有基础的同学看《The elements of statistical learning》这本书(后文皆以ESL代替),讲的挺好。

(a)

机器学习和通信接收机的步骤类似。

(b)

机器学习的训练过程和通信接收的信道估计都是按照以下步骤进行:

  1. 问题建模
  2. 通过一些假设对系统内在结构进行一些限定
  3. 确定估计系统的准则
  4. 在此准则下,确定搜索最优解的方法

(c)

ESL 2.8节,将估计器分为三类。这三类是互相关联而非互斥的,有些方法可以同时归入多个类。之所以这么分是为了粗略讨论的方便。

  1. roughness penalty & Bayesian methods
  2. kernel methods & local regression (或称为kernel smoothing method,不要与机器学习中的SVM的核方法混淆)
  3. basis functions & dictionary methods

(d)

我这里从另一种思路,依据(b)给出我的分类法。(这里的分类是不严谨的概念,意会即可)

  1. 作用于(b)02的方法。即直接对f(x)进行限制。

    fθ(x)=∑m=1Mθmhm(x)

    此方法是一个大类,具有繁多的变种。LS可以看成hm(x)=xm(m=1..p)下 的特例。常用的基函数还有:spline basis functions、radical basis functions(将下文(c)中的kernel作为basis,使basis本身也与具体的x有关)、单层神经网络等效为自适应的基函数。带有自适应 特点的基函数选取方式哟叫做dictionary method,比较依赖(d)的处理。

    插一句,spline 翻译为样条函数,是一种分段的多项式函数。本意就是细木条,1895年以后又指一种画曲线用的灵活的尺子,用来设计船和飞行器。

  2. 作用于(b)03的方法。即间接对f(x)进行限制。
    • impose penalty. (又作regularization)

      通过在原始的准则(如RSS)上加关于f(x)某种特性的惩罚,使得最终的解不具备这种性质。

    • 采用更一般的或更适合问题的准则。

      例如LS采用的准则是ML的特例。例如采用L1-norm而不是L2-norm对某些问题更有效。

    • kernel method

      通过在原始的准则(如RSS)中引入邻域的概念,使得 更具灵活性,防止出现LS那样的全局僵化。(K-nearest-neighbour是其特例)

  3. 作用于(b)04,其实属于搜索算法。例如梯度下降。

(e)

机器学习的方法不可谓不多,但都是在bias和variance取折衷。ESL开篇就介绍了位于两个极端的方法:Least Squares(LS)和K-nearest neighbours(KNN)。前者为所有的训练值设定了一组全局的、固定的参数,表现为低bias,高variance。后者表面上只有一个参 数:K,其实别有洞天(文末会单独说),表现为高bias,低variance。

(f)

这里要自嘲一下。我是通信出身的,一开始看ESL是这种想法:一个合格的估计(训练)方法,首先得是无偏的吧。而Gauss-Markov定理都告 诉我们了,在所有的线性无偏估计中,LS具有最小的方差。所以LS不是挺好的吗。大不了引入随机量,不就是把LS演变成最小均方误差(MMSE)嘛?若要 还玩什么花,那就在代价函数上做功夫,这不就是regularization吗?而且你看linear regression中的ridge regression,不就是MMSE嘛。logistic regression,不就是最大似然译码嘛。linear discriminate regression,不就是高斯噪声下的MAP译码嘛。这5个“不就是”,让我以为机器学习大抵是信号估计的那一套,换一个场景,添一些具体方法,如是 而已。现在发现,当时还是naive……

    1. 首先,无偏估计不一定就比有偏的好。error可以分解为两项,bias的平方和variance。error最小的模型参数可能是bias和variance的折中,见下图
  1. 是的,对于基本的生成模型,机器学习和通信中常用的方法本质是一致的。但机器学习还有针对另一种情景下的模型,例如混合高斯模型(GMM)。这时就 需要偏向于KNN类型的方法了。对于大小为N的训练集,KNN表面上只有一个参数K,而且不对模型做任何限定,只取距离测试点“距离最近”的K个训练值的 平均作为估计值。真的只有一个参数,便能获得比LS更高的解析力吗?不是的,KNN其实将空间划分为N/K个不交叠的子空间,因此具有N/K个等效参数 (举个K=1时的例子,为了不用每次都查找距离最近的点,可以用泰森三角形法将空间分成N个三角形区域,测试点落在哪个三角形内,直接就能知道其距离哪个 点最近。)。往往N很大,N/K大大超过LS中所使用的参数数量,所以在N很大的情况下KNN的效果很好。

    在L2-norm形式的损失下,Expected Prediction Error表示式为:

    f(x)=E(Y|X=x)

    而KNN用下式对其进行近似:

    f(x)≈Ave(yi|xi∈Nk(x))

    可以证明,当N,k趋于无穷且k/N趋于0,上式将趋于理论最优解。

    但此法存在的问题在于:

    1. x的维度p增大,邻域等效为x将失效,趋于理论最优仍成立,但收敛的速度很慢。
    2. 要求训练集足够大,否则次算法的性能不稳定。相对来说LS法要稳定的多。

(g)

本篇写的比较破碎,就当是闲聊。机器学习迸发出的活力,反过来在推动传统的通信和信号处理向新的方向迈进。

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言