分布式机器学习笔记1

@分布式机器学习笔记

分布式机器学习算法、理论与实践 学习笔记

写在前面

本人是电子信息领域相关专业女研究生一枚,研究方向下一代移动通信网络。本科时期玩心未泯……未深入接触科研。现阶段摸索进入科研状态,有一定知识基础,自学机器学习、分布式机器学习相关方法知识~ 比较看重知识的体系性与连贯度,以及自己的思维流等,将较为重要的概念内容记录于此!

1 人工智能的发展

分布式机器学习的必要性:在大数据支撑下,庞大计算机集群,训练大规模机器学习模型

2 机器学习基础

  1. 机器学习基本概念
    1)经验风险、期望风险、结构风险概念区分
    参考: 机器学习优化问题-经验风险、期望风险、结构风险.
    2)分类 :学习目标、训练数据特征、模型复杂度、模型功能
  2. 机器学习基本流程
    训练数据集
    分类模型(特征抽取、参数设计)
    误差函数(依赖于解决的问题)→损失函数(数学性质更好,与误差函数具有一定的数学关系)
    优化算法
  3. 常用损失函数
    Hinge损失函数
    指数损失函数
    交叉熵损失函数:假设预测模型决定了标签的概率分布
    损失函数对于0-1误差具有统计一致性,即样本趋于无穷多时,按照最小化损失函数找到的最优模型也是在0-1误差意义下的最优模型
  4. 常用机器学习模型
    1)线性模型、Logistic回归(适合与交叉熵函数进行训练)
    非线性空间复杂组合关系如何由线性组合关系得到?
    ① 非线性预变换
    ② 核方法:将原特征空间映射到高维非线性空间,再在高维空间中构建线性模型
    参考: 对核函数(kernel)最通俗易懂的理解.
    2)核方法与支持向量机
    ① 支持向量机:寻找超平面使正例和负例之间的间隔最大
    可解决线性可分问题,或通过引入核函数解决线性不可分问题
    支持向量机概述见: 支持向量机.
    对偶问题的推导见: 拉格朗日乘子与对偶问题.
    ② 核方法的核心:核函数(非线性映射函数)将原始输入空间变换成高维空间
    *以SVM为例,通过Φ映射到高维空间的对偶问题与映射函数本身形式无关,而与其内积Φ·Φ有关→定义核函数为映射到高维空间后的内积
    核函数使用条件:对称函数对应的核矩阵满足半正定的条件
    核函数的解释及选择参考:支持向量机的核函数及其选择.
    3)决策树与Boosting
    ①决策树
    可实现非线性映射,决策树的复杂程度对应拟合程度
    划分选择 剪枝处理
    ②Boosting
    集成学习思想
    4)神经网络
    ①全连接神经网络
    表达能力强大——逼近定理
    深度神经网络:模型更新代价大,通常使用小批量随机梯度下降法
    通常找到局部最优解:模拟退火/多次随机初始化,网络足够神时局部最优性能逼近全局最优
    过拟合:多种方法Dropout等……
    梯度消失:线性直连等……
    ②卷积神经网络
    适用于处理图像数据
    卷积(特征提取)、池化(特征压缩)
    ③循环神经网络
    记忆单元的循环迭代,对时间序列进行有效建模
    LSTM,GSU
  5. 常用的优化方法 凸优化→非凸优化问题
  6. 机器学习理论
    机器学习泛化误差及分解
    优化误差(优化算法迭代T轮后输出的模型与精确最小化经验风险的模型的差别)
    估计误差(最小化经验风险与最小化期望风险)
    近似误差(函数集合中最优期望风险与全局最优期望风险)
    误差上界
  7. 总结
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
大数据的发展已经引领了对能够学习包含数百万至数十亿参数的复杂模型的机器学习系统的新需求,以保证足够的能力来消化海量的数据集,提供强大的预测分析(如高维潜特征、中介表示和决策功能)。为了在这样的尺度上,在成百上千台的分布式机器集群中运行机器学习算法,关键往往是要投入显著的工程性的努力——有人可能会问,这样的工程是否还属于机器学习的研究领域?考虑到如此"大"的机器学习系统可以极大地从根植于机器学习的统计和算法的理解中受益——因此,机器学习的研究人员应该不会回避这样的系统设计——我们讨论了一系列从我们近来对工程尺度的机器学习解决方案的研究中提炼的原则和策略。这些原则和策略从机器学习的应用连续跨越到它的工程和理论研究,以及大型机器学习的系统和架构的发展,目标是了解如何使其有效、广泛地适用,并以收敛和缩放保证支持。它们关注的是机器学习研究传统上注意较少的四个关键问题:一个机器学习程序怎样能分布到一个集群中去?机器学习计算怎样能通过机器间的交流连接起来?这样的交流是如何被执行的?机器间应该交流的内容是什么?通过揭示机器学习程序所独有的,而非常见于传统计算机程序中的基础性的统计和算法上的特点,并通过剖析成功案例,以揭示我们如何利用这些原则来同时设计和开发高性能的分布式机器学习软件以及通用的机器学习框架,我们为机器学习的研究人员和从业者提供了进一步塑造并扩大机器学习与系统之间的领域的机会。
对于在Linux上进行机器学习的工作,你有一些不同的选择和工具可以使用。这里我列举几个常见的: 1. Python和相关库:Python是Linux上最常用的编程语言之一,也是机器学习领域的主要语言。你可以使用Python的各种机器学习库,如NumPy、Pandas、Scikit-learn、TensorFlow和PyTorch等,来构建和训练模型。 2. Jupyter Notebook:Jupyter Notebook是一个交互式的笔记本工具,可以在浏览器中编写和运行代码。它非常适合机器学习的实验和可视化,也方便与他人分享代码和结果。 3. GPU加速:如果你的机器学习任务需要大量计算资源,可以考虑使用GPU进行加速。Linux支持各种GPU计算框架,如CUDA和OpenCL,以及相应的深度学习框架。你可以使用NVIDIA的CUDA工具包来配置和管理GPU。 4. Docker容器:使用Docker容器可以帮助你在不同环境之间轻松地部署和运行机器学习项目。你可以创建一个包含所需依赖项和环境设置的Docker镜像,然后在任何支持Docker的Linux主机上运行它。 5. 分布式计算:如果你需要处理大规模数据集或进行分布式训练,可以使用分布式计算框架,如Apache Spark和TensorFlow分布式。这些框架可以帮助你有效地利用多台机器的计算资源。 这些只是一些常见的工具和技术,当然还有很多其他的选择和方法。在Linux上进行机器学习的好处是,你可以自由地定制和配置环境,以满足你的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值