分布式计算统计学习与admm算法

author author     2022-08-08     215

关键词:

在整理旧电脑时,才发现13年下半年电脑里有不少残文。老师说,东西搁下了再拿起来花费的时间和之前可能差不多。我一眼看过去这篇关于分布式计算的文章,貌似还真的没有了当时理解的深度和感觉。当时还想利用ADMM算法,把统计中常见的带惩罚的高维问题在此框架下用R重写一下,但是中途多种事情一耽搁,就早已抛之脑后。看来任何事情,真的还是需要坚持,哪怕拨点时间都是好的。先把一篇残文扔出来祭奠下过去的13年吧。公式多文字长,慎入!

业界一直在谈论大数据,对于统计而言,大数据其实意味着要不是样本量增加n,要不就是维度的增加p,亦或者两者同时增加,并且维度与样本量的增长速度呈线性或者指数型增长。在稀疏性的假设条件下,再加上一些正则性方法,统计学家可以证明各种加penalty的模型所给出的参数估计具有良好的统计性质,收敛速度也有保证,同时还会给出一些比较好的迭代算法,但是,他们并没有考虑真实环境下的所消耗的计算时间。虽然统计学家也希望尽量寻求迭代数目比较少的算法(比如one-step估计),但是面对真实的Gb级别以上的数据,很多时候我们还是无法直接用这些算法,原因是一般的硬件都无法支撑直接对所有数据进行运算的要求。如果想减少抽样误差,不想抽样,又想提高估计的精度,那么还是需要寻求其他思路,结合已有的模型思想来解决这些问题。在目前条件下,并行化、分布式计算是一种比较好的解决思路,利用多核和多机器的优势,这些好算法便可以大规模应用,处理大数据优势便体现出来了。对于统计而言,数据量越大当然信息越可能充分(假设冗余成分不是特别多),因为大样本性质本身就希望样本越多越好嘛。

本文是基于Stephen Boyd 2011年的文章《Distributed Optimization and Statistical Learning via the Alternating Direction Method of Multipliers》进行的翻译和总结。Boyd也给出了利用matlab的CVX包实现的多种优化问题的matlab示例。

1. 优化的一些基本算法思想

ADMM算法并不是一个很新的算法,他只是整合许多不少经典优化思路,然后结合现代统计学习所遇到的问题,提出了一个比较一般的比较好实施的分布式计算框架。因此必须先要了解一些基本算法思想。

1.1 Dual Ascent

对于凸函数的优化问题,对偶上升法核心思想就是引入一个对偶变量,然后利用交替优化的思路,使得两者同时达到optimal。一个凸函数的对偶函数其实就是原凸函数的一个下界,因此可以证明一个较好的性质:在强对偶性假设下,即最小化原凸函数(primal)等价于最大化对偶函数(dual),两者会同时达到optimal。这种转化可以将原来很多的参数约束条件变得少了很多,以利于做优化。具体表述如下:

minf(x)
s.t.Ax=b           ?L(x,y)=f(x)+yT(Ax?b)?g(y)=infL(x,y)

在强对偶性的假设下,primal和dual问题同时达到最优。

x?=argminL(x,y?)

因此,若对偶函数g(y)g(y)可导,便可以利用梯度上升法,交替更新参数,使得同时收敛到最优。迭代如下:

xk+1:yk+1:=argminxL(x,yk)(x-最小化步)=yk+αk?g(y)=yk+αk(Axk+1?b)(对偶变量更新,αk是步长)xk+1:=arg?minxL(x,yk)(x-最小化步)yk+1:=yk+αk?g(y)=yk+αk(Axk+1?b)(对偶变量更新,αk是步长)

gg不可微的时候也可以将其转化下,成为一个所谓的subgradient的方法,虽然看起来不错,简单证明下即可知道xkxk和ykyk同时可达到optimal,但是上述条件要求很苛刻:f(x)f(x)要求严格凸,并且要求αα选择有比较合适。一般应用中都不会满足(比如f(x)f(x)是一个非零的仿射函数),因此dual ascent不会直接应用。

admm——交替方向乘子法

...pliers,交替方向乘子法)是一种优化算法,主要用于解决分布式、大规模和非光滑的凸优化问题。ADMM通过将原始问题分解为多个易于处理的子问题来实现优化。它结合了两种经典优化方法:梯度下降法(gradientdescent)和拉格朗... 查看详情

admm与one-passmulti-viewlearning

现在终于开始看论文了,机器学习基础部分的更新可能以后会慢一点了,当然还是那句话宁愿慢点,也做自己原创的,自己思考的东西。现在开辟一个新的模块----多视图学习相关论文笔记,就是分享大牛的paper,然后写出自己的... 查看详情

1.统计学习方法概论

1.统计学习统计学习的对象:(1)data:计算机及互联网上的各种数字、文字、图像、视频、音频数据以及它们的组合。(2)数据的基本假设是同类数据具有一定的统计规律性。统计学习的目的:用于对数据(特别是未知数据)... 查看详情

《分布式技术原理与算法解析》学习笔记day14

...据密集型应用,另外文章来探讨了ApacheStorm相关的知识。分布式计算模式:Stream什么是流数据?实时性任务主要是针对流数据处理,对处理时延要求很高,通常需要常驻服务进程,等待数据的随时到来随时处理,以保证低时延。... 查看详情

机器学习与统计学的区别与联系

 ​​​​​​​其中,假设条件分布等价于确定模型类型。点估计等价于最小化损失函数。特别的地方是,在统计学视角中我们要计算出参数的分布,方便后面的参数估计与假设检验。LynkageCMap 查看详情

机器学习与统计学的区别与联系

 ​​​​​​​其中,假设条件分布等价于确定模型类型。点估计等价于最小化损失函数。特别的地方是,在统计学视角中我们要计算出参数的分布,方便后面的参数估计与假设检验。LynkageCMap 查看详情

统计学到底怎么搞

...计学习基本方法  统计学习(statisticallearning)是关于计算机基于数据构建概率统计模型并运用模型对数据进行预测和分析的一门学科。统计学习也称为统计机器学习(statistialmachinelearning)。1.统计学习的主要特点是:统计学... 查看详情

统计学习基础(hgl的读书笔记)

统计学习:统计学习是关于计算机基于数据构建概率统计模型并运用模型对数据进行预测与分析的一门学科,统计学习也成为统计机器人学习[1]。统计学习分类:有监督学习与无监督学习[2]。统计学习三要素:模型、策略与算法... 查看详情

adam优化算法

...是困扰深度学习算法开发的重大原因。虽然我们可以采用分布式并行训练加速模型的学习,但需要的计算资源并没有丝毫减少。而唯有需要资源更少、令模型收敛更快的最优化算法,才能从根本上加速机器的学习速度和效果,Ada... 查看详情

李航统计学习方法(第二版)基本概念:统计学习方法三要素

...最小化与结构风险最小化4算法算法是指学习模型的具体计算方法。随机梯度下降 查看详情

《分布式机器学习:算法理论与实践》——re

 分布式机器学习:算法、理论与实践——【1】分布式机器学习:算法、理论与实践2)——【2】 《分布式机器学习:算法、理论与实践》——【RE】       查看详情

[spss]学习笔记--数据分布形状描述

...体(样本)中所有取值分布形态陡缓程度的统计量。通过计算可以得到峰度系数,峰度系数与分布形态的关系是:峰度系数=3,扁平程度适中;峰度系数<3,为扁平分布;峰度系数>3,为尖峰分布;正态分布的峰度系数为3。... 查看详情

大数据需要学习啥样的知识?

...,包括实现和分析协同过滤算法、运行和学习分类算法、分布式Hadoop集群的搭建和基准测试、分布式Hbase集群的搭建和基准测试、实现一个基于、Mapreduce的并行算法、部署Hive并实现一个的数据操作等等,实际提升企业解决实际问... 查看详情

《分布式技术原理与算法解析》学习笔记day13

这篇文章主要讲述分布式计算模式中用的MapReduce,它采用了分治的思想,将大问题,划分为小问题,对小问题并行求解,最后在合并解。分布式计算模式:MapReduce什么是分治法?分治法是将一个复杂、难以直接解决的大问题,分... 查看详情

《分布式机器学习:算法理论与实践》pdf+刘铁岩+资料学习

《分布式机器学习:算法、理论与实践》旨在全面介绍分布式机器学习的现状,深入分析其中的核心技术问题,并且讨论该领域未来的发展方向。下载:https://pan.baidu.com/s/1XeOGCQK5qWCba8VK0KU21w《分布式机器学习:算法、理论与实践... 查看详情

《统计学习方法》学习笔记之第一章

...回归问题第一节统计学习的定义与分类统计学习的概念以计算机和网络为平台以数据为研究对象以预测和分析数据为目的以方法为中心是多领域交叉的学科 定义:统计学习(StatisticalMachineLearning)是关于计算机基于数据后见概... 查看详情

对偶上升法到增广拉格朗日乘子法到admm

...最后协调子问题的解得到原问题的全局解,适用于大规模分布式优化问题。&nbs 查看详情

初识大数据

...1特征工程9.2降维算法10.面向大数据的数据仓库10.1概述10.2分布式数据仓库系统10.3内存数据仓库系统11.大数据分析算法12.大数据计算平台13.流式计算平台14.大图计算平台15.社交网络16.推荐系统16.1概述16.2一些推荐算法摘要本篇博客... 查看详情