zoukankan      html  css  js  c++  java
  • 吴恩达《机器学习》第十七章:大规模机器学习

    十七、大规模机器学习

    17.1 大型数据集的学习

    大型数据集的学习带来的是计算问题;
    本章学习如何处理上亿级别的大型数据集;
    在这里插入图片描述

    17.2 随机梯度下降法

    本节问题

    • 随机梯度对比于普通梯度下降法,改进在哪?

    批量梯度下降:
    在这里插入图片描述
           ~~~~~~       默认的是(批量)梯度下降法,Batch Gradient Descent:即每次都要考虑一批(所有)的训练样本这才完成迭代的一步,所以,它的计算复杂度太高;

    随机梯度下降:
    在这里插入图片描述
    代价函数为当前样本上的表现;
    对每个样本都遍历,遍历时调整θ使图像在该样本处拟合得好一点,cost代价低一点;
    每次只关注一个训练样本 ;遍历过程中,虽然很曲折,但也是朝着全局最优前进(偶尔会有例外,因为是随机的 ),它可能在最小值周围徘徊;

    也可能不止一次遍历所有样本,但次数不会超过10次;

    17.3 随机梯度下降收敛

    本节问题

    • 随机梯度下降过程中如何调整参数:学习率α等等,确保正确收敛;
      在这里插入图片描述
      先更新θ前,我们必然会得到当前样本点的cost值;
      用若干样本的cost平均值来判断是否收敛;

    在这里插入图片描述
    在这里插入图片描述
    随着算法进行,迭代次数(遍历的样本数增加),iterationNumber增加,α越来越小;
    小的α能让算法更接近最小值;

    17.4 小批量梯度下降

    Mini-batch,小型的梯度下降;
    假设一次处理的小批量为10个样本:
    在这里插入图片描述
    夹在批量梯度下降和随机梯度下降中间,下降路线曲折度没有随机梯度的曲折,计算速度也比批量梯度的快(有时候比随机梯度下降还要好);
    在这里插入图片描述
    缺点就是:要根据小批量样本数的个数B,来确定组数;

    17.5 在线学习

    从用户身上的数据流上学习;
    在这里插入图片描述
    如果你有源源不断地数据(大量用户涌入网站),那么你就不需要多次使用一个数据了,也没必要标号了,用完就丢;
    对不同的用户群体分配不同的方案,杀熟;
    在这里插入图片描述
    比如我有100台手机,当用户搜索1080P时,我要选择性的根据用户群体的不同,列出10台最适合该用户的手机,以最大化可能性促使他购买;;以10步梯度下降法来更新参数;

    17.6 映射化简和数据并行

    本节问题

    • 了解MapReduce的原理;
    • 为什么MapReduce过时了;
      在这里插入图片描述
      比如400个样本的批量梯度下降法,分割成4组,每组100样本,由四台机器并行完成,然后汇总到中心服务器,速度提升四倍(由于网络通信等外部因素,不会刚好提升四倍);

    把MapReduce看成一台机器的多核并行,而不是多台机器并行,这样就不用担心网络延迟了,通信传输也需要时间;

    mapreduce为什么被淘汰了?

  • 相关阅读:
    第十七节(is-a 、is-like-a 、has-a,包和 import )
    第十六节(Object类(toString() 、finalize、equals方法)
    第十五节(多态,接口和抽象类的区别,类之间的关系)
    第十四节(接口(行为))
    第十三节(super关键字、final关键字、抽象类))
    .gitignore立即生效
    find & xargs 参数传递
    zsh: command not found: j
    将文件转化为源代码
    C读文件相关的调用
  • 原文地址:https://www.cnblogs.com/Luweir/p/14147208.html
Copyright © 2011-2022 走看看