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为什么被淘汰了?

  • 相关阅读:
    hdu 2222 Keywords Search
    Meet and Greet
    hdu 4673
    hdu 4768
    hdu 4747 Mex
    uva 1513 Movie collection
    uva 12299 RMQ with Shifts
    uva 11732 strcmp() Anyone?
    uva 1401
    hdu 1251 统计难题
  • 原文地址:https://www.cnblogs.com/Luweir/p/14147208.html
Copyright © 2011-2022 走看看