• 机器学习之大数据集


    前言

               以下内容是个人学习之后的感悟,转载请注明出处~

    简介

      大数据时代已经来临,它将在众多领域掀起变革的巨浪。机器学习对于大数据集的处理也变得越来越重要。大数据

    集务必会带来恐怖的计算量,不仅耗费大量资源,而且给数据处理的实时性带来巨大的挑战。

      想要解决这个难题,就需要采取以下措施:选择更加适合大数据集的算法、更加好的硬件,采用并行计算等。

      本文内容较多,建立以下目录,方便浏览:

    • 批量梯度下降法
    • 随机梯度下降法
    • 微型批量梯度下降法
    • 判断收敛
    • 选择学习速率α
    • 在线学习
    • map readuce

    批量梯度下降法

      以线性回归为例,如果m很大,每次循环都得进行m次求和,计算量非常大,不建议。

                                                 

    随机梯度下降法

      以线性回归为例,随机梯度下降法采用单次代价函数cost,每次迭代θ,不需要执行那么多次加法,计算量小很多。

      注意:样本需要随机打乱。

                                                      

                                                   

    微型批量梯度下降法

      以线性回归为例,设样本数量m=1000,小批量数b=10,即每次迭代只需10次叠加,计算量也很少。

                                                   

    判断收敛

      之前数据量很少的时候,我们都是直接判断代价函数J(θ),只要其不再减少则收敛。然后在数据量很大的情况下,如

    果实时监控代价函数,必然带来巨大的计算量。其实,我们可以每隔1000次计算一下代价函数cost,将其画成曲线,取其

    低谷处为收敛,若出现曲线趋势递增,则表明发散。(图中的细小起伏波纹是噪音导致)

                          

    选择学习速率α

      我们选择随机梯度下降法来处理大数据,虽然可以达到减小计算量的效果,但是并不能准确地达到极值点,有些人为

    了尽量逼近极值点,设置α=常数1/(迭代次数+常数2)。

      虽然无法达到极值点,但是也相差不多,所以一般α取常数即可。

    在线学习

      很多情况下,数据是源源不断地传输过来,而且我们要时常更新一些信息,这时就需要使用在线学习。

      在线学习是没输入一个样本都会计算下误差,调整一下参数,是基于样本的。假设有m个样本
    在线学习的过程是先输入样本,然后调整参数,接着再输入,再调整参数,这样持续到最后一个样本。这样也就导致了在
    线学习没有并行性,一般在使用在线学习时会随机打乱训练样本的顺序,这样可以 有效避免陷入局部最小值。在线学习的一个优点是能够追踪
    训练数据小的改变。在线学习一般用于实时产生数据的web网站等(流数据)。
      在线学习有两个优点:
    • 在线学习容易执行
    • 对大规模和困难模式分类问题能提供有效解

    map readuce

      以批量梯度下降法为例,将m=400的数据集分为4部分,分别由4台电脑处理。如下图所示:

                                            

      此外,你也可以用多核电脑进行并行计算。

    以上是全部内容,如果有什么地方不对,请在下面留言,谢谢~

  • 相关阅读:
    VSCode远程编写Shell并实时调试配置过程
    eclispe 无法启动调试 cannot connect to VM
    工作流之设置表访问权限
    利用工作流返回达到无限次重复办理业务的过程
    eworkflow工作流系统在iis中发布
    ie8用ajax访问不能每次都刷新的问题
    视频演示(动态指定执行人+指定申请人的上级)
    视频演示eworkflow集成定制aspx页面的过程
    利用开发框架中的标签库集成报表工具
    流程设计器之标签工具
  • 原文地址:https://www.cnblogs.com/steed/p/7460127.html
Copyright © 2020-2023  润新知