• optimization


    最近几天看了一些优化理论方面的知识。但感觉把握还是不够深刻,看都看懂了,但是不清楚说的是什么,用在哪类问题上。

    参考了cmu机器学习课程的recitation of optimization

    optimization在机器学习中是用来干嘛的?

    • 找到最优化的系数?
    • 其他应用?

    1、convex set 和convex function的定义。

    什么是convex set?

    什么是convex function?

    两者的联系是什么?convex function的below-set是一个convex set

    2、unconstrained convex optimization

    unconstrained: 无约束就是什么约束都没有,dx可以是任意方向的

    基本算法:

    1) gradient descent

    分成batch 和stochastic 两种

    一般来说,learning_rate是利用一维搜索找到的(line search). line search中一个重要问题是step的大小确定(beta)。有什么方法可确定这个beta大小?

    batch就是每次用所有的点来调整系数。stochastic就是每次只用随机的一部分点。

    gradient descent优点是计算量小,存储变量少,初始变量要求不高。但是靠近极值点时收敛速度不够快。一般是作为优化问题的前期迭代。

    类比:可以不用迭代,直接用数学方法求出theta系数。参考http://blog.sina.com.cn/s/blog_698213630101576y.html

     

    (XT*X)^-1 *XT就是所谓的伪逆矩阵。如果X是可逆矩阵,则(XT*X)^-1 *XT=X^-1.

    但是直接计算的话,计算量太大。这也是为什么用迭代法的原因吧。

    2)newton's method

    不太理解牛顿法的过程。但是牛顿法是基于taylor展开的。

    在taylor expansion不给力的地方,牛顿法的收敛速度和gradient descent一样慢
    在极值点附近(满足上图的边界条件),呈现二次收敛的速度
     
    牛顿法的问题是计算量特别大。
    牛顿法的适用情况:
  • 相关阅读:
    算法系列(三)
    .net页面生命周期
    初级程序员的学习方法见解
    .net面向对象学习笔记(二)
    算法系列(二)
    “automation服务器不能创建对象”的问题的解决方案大全
    UNKNOWN.RPT 无法将请求提交后台处理
    水晶报表ActiveX控件打印
    .net中调用js乱码解决办法
    GridView自动序号
  • 原文地址:https://www.cnblogs.com/chenhuanfa/p/3050913.html
Copyright © 2020-2023  润新知