• 12-少年,玩模型吗?手把手教你statsmodels建模(3)


    生活中我们总是欢迎变化的,不变是温水,是地狱,最忌活成办公室的家具。然而变化终究是外界的,内心的信念不变,才使人身处顺境不眼晕,身处逆境如微风拂面。人的内心如孩童,总是期盼惊喜。可现实的”重锤“让成人如被电击的小白鼠小心翼翼,生怕行差踏错一步堕入万丈深渊。其实都是想象中的深渊,也是想象中的安全感,都是幻觉啊,少年。毁坏容易建设难,另一方面,不破则不立。我喜欢回忆去年此时,再看今年此时,展望明年此时。发现并没有活成一具雕塑。也有人行为艺术般每年相同日期、地点、人物拍照留念,其实记录的都是外形变化,哪能摄取心中气象万千呢?从前慢,回忆美,是因为经历丰富充实罢了。Anyway,学会温和地反击吧。朋友圈的大牛肖凯老师昨天发了一条金句:My only goal is to gradient boost over myself of yesterday. And to repeat this everyday with an unconquerable spirit.共勉:)

    下面是今天的gradient boost,natural?(o>▽<)

    4最优化:Optimization

    1. 函数求根(即函数零点)

     

    2. 函数求最小值

    由上图可见,当初始值为 10 时,函数找到的是局部最小值点,可见 minimize 的默认算法对起始点的依赖性。那么怎么才能不管初始值在哪个位置,都能找到全局最小值点呢?

    可以使用 basinhopping 函数找到全局最优点。相关背后算法,可以查看帮助文档:

    我们设初始值为 10 看是否能找到全局最小值点。

    当起始点在比较远的位置,依然成功找到了全局最小值点!

    下面看看如何求多元函数最小值?

    以二元函数为例,使用 minimize函数求对应的最小值。

    3. 曲线拟合

     

    曲线拟合和最优化有什么关系?

    曲线拟合的问题是,给定一组数据,它可能是沿着一条线散布的,这时要找到一条最优的曲线来拟合这些数据,这里的最优是指这些点和线之间的距离是最小的,这就是为什么要用最优化问题来解决曲线拟合问题。

    上面的点整体上呈现一个线性关系,要找到一条斜线来代表这些点,这就是经典的一元线性回归。要优化的函数是点和线之间的距离,使其最小。点是确定的,而线是可变的,线是由参数值:斜率和截距决定的,这里就是要通过优化距离找到最优的斜率和截距。

    Method1 using scipy.optimize.minimize

     

    上式是误差平方和,即需要最小化的目标函数。

    上面两个输出即是预测的直线斜率和截距,我们是根据点来反推直线的斜率和截距,那么真实的斜率和截距是多少呢?-1 和 2,很接近了,差的一点是因为有噪音的引入。

    Method2 using statsmodels.api

     

    这周回忆了好多数学概念,真是怀旧的一周(●'◡'●)ノ♥ 下周学习statsmodels建模的最后一节:线性模型,敬请期待!

  • 相关阅读:
    Ubuntu 16 安装redis客户端
    crontab 参数详解
    PHP模拟登录发送闪存
    Nginx配置端口访问的网站
    Linux 增加对外开放的端口
    Linux 实用指令之查看端口开启情况
    无敌的极路由
    不同的域名可以指向同一个项目
    MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk. Commands that may modify the data set are disabled. Please check Redis logs for details about the error
    Redis 创建多个端口
  • 原文地址:https://www.cnblogs.com/turingbrain/p/7143237.html
Copyright © 2020-2023  润新知