吴恩达机器学习笔记week17——大规模机器学习 Large scale machine learning

吴恩达机器学习笔记week17——大规模机器学习 Large scale machine learning

    • 17-1.学习大数据集 Learning with large datasets
    • 17-2.随机梯度下降 Stochatic gradient descent(改进)——一次迭代1个数据,慢慢修正参数
    • 17-3.Mini-Batch.梯度下降 Mini-Batch gradient descent——一次迭代b个数据,慢慢修正参数
    • 17-4.随机梯度下降收敛 Stochastic gradient descent convegence——确定何时能收敛&&选择合适的学习率
    • 17-5.在线学习 Online learning——一种大型机器学习机制(模型化一些问题)应用于有大量数据流的问题
    • 17-6.减少映射与数据并行 Map-reduce and data parallelism

17-1.学习大数据集 Learning with large datasets

吴恩达机器学习笔记week17——大规模机器学习 Large scale machine learning_第1张图片
对于数据量大的数据集,可以有时随机抽取小的数据集?吴恩达机器学习笔记week17——大规模机器学习 Large scale machine learning_第2张图片

17-2.随机梯度下降 Stochatic gradient descent(改进)——一次迭代1个数据,慢慢修正参数

梯度下降:
吴恩达机器学习笔记week17——大规模机器学习 Large scale machine learning_第3张图片
第一步,随机打乱数据
两者对比:批量梯度下降 VS 随机梯度下降 (更快)
吴恩达机器学习笔记week17——大规模机器学习 Large scale machine learning_第4张图片
随机梯度下降是一步一步曲折的达到最优点, 在一个范围内反复震荡,最后逐渐接近全局最小值
批量梯度下降是一步直达最优点,直接收敛到全局最小值

m>>n ???

17-3.Mini-Batch.梯度下降 Mini-Batch gradient descent——一次迭代b个数据,慢慢修正参数

三种梯度下降算法的联系:
吴恩达机器学习笔记week17——大规模机器学习 Large scale machine learning_第5张图片
完整代码:
吴恩达机器学习笔记week17——大规模机器学习 Large scale machine learning_第6张图片
Mini-Batch.梯度下降比批量梯度下降快
Mini-Batch.梯度下降比随机梯度下降快:当你有一个好的向量化方式a good vectorized implementation

多一个参数minibatch_size 一般2~100都可以接受

17-4.随机梯度下降收敛 Stochastic gradient descent convegence——确定何时能收敛&&选择合适的学习率

  • checking for convergence
    吴恩达机器学习笔记week17——大规模机器学习 Large scale machine learning_第7张图片
    随机梯度下降:在前1000个数据上表现得有多好,所以要先打乱数据
    批量数据下降:每次得到J_theta必须遍历整个数据集

  • 重点难点:好好理解
    前1000组样本的cost函数平均值图(迭代一次1000个数据,获得一个数据点):
    吴恩达机器学习笔记week17——大规模机器学习 Large scale machine learning_第8张图片
    1-学习率越小,震荡范围就越小,有时能获得更好的参数值
    2-迭代训练样本数量越大(1000->5000),得到的图像越平滑
    3-图像显示损失并没有下降,考虑提高训练样本数量,即1000->5000;若还不能下降,考虑调整学习率或调整特征
    4-图像显示损失上升,算法发散的信号,需要使用更小的学习率

  • 有关学习率
    使学习率随时间变化而减小,每一步越来越精确,最终收敛到全局最小值(如果不变,可能收敛到局部最优解)一般情况下学习率为常数
    常用方法见下:
    吴恩达机器学习笔记week17——大规模机器学习 Large scale machine learning_第9张图片

17-5.在线学习 Online learning——一种大型机器学习机制(模型化一些问题)应用于有大量数据流的问题

标准的机器学习算法拥有一个固定的训练集,在线学习算法没有
向用户推荐他们感兴趣的新闻或手机
从数据流中学习
大数据杀熟?
解决问题:托运价格
吴恩达机器学习笔记week17——大规模机器学习 Large scale machine learning_第10张图片
逻辑回归
得到一个顾客数据,优化一次(类似随机梯度下降区别在于数据集是否固定)
适用于改变的用户偏好

解决问题2:产品搜索应用
点击率预测学习问题 CTR预测
协同过滤算法可以用来提供更多的特征
吴恩达机器学习笔记week17——大规模机器学习 Large scale machine learning_第11张图片

17-6.减少映射与数据并行 Map-reduce and data parallelism

有多个机器并行计算
吴恩达机器学习笔记week17——大规模机器学习 Large scale machine learning_第12张图片
考虑到网络延迟
吴恩达机器学习笔记week17——大规模机器学习 Large scale machine learning_第13张图片
吴恩达机器学习笔记week17——大规模机器学习 Large scale machine learning_第14张图片
吴恩达机器学习笔记week17——大规模机器学习 Large scale machine learning_第15张图片

你可能感兴趣的:(机器学习)