Python-玩转数据-凸优化

一、说明

最优化问题目前在机器学习,数据挖掘等领域应用非常广泛,因为机器学习简单来说,主要做的就是优化问题,先初始化一下权重参数,然后利用优化方法来优化这个权重,直到准确率不再是上升,迭代停止,那到底什么是最优化问题呢?

比如你要从上海去北京,你可以选择搭飞机,或者火车,动车,但只给你500块钱,要求你以最快的时间到达,其中到达的时间就是优化的目标,500块钱是限制条件,选择动车,火车,或者什么火车都是x

在金融和经济领域,凸优化有着重要的作用。例如期权定价,效用最优化等问题。

  • 1、在这里,我们首先定义要优化的函数并作图。
  • 2、接下来,我们分别来求解全局最优和局部最优,我们需要使用scipy.optimize库中的brute和fmin函数。
  • 3、修改函数以跟踪详细的信息,修改初始的参数可以让结果更为优化。
  • 4、在局部最优化中,除了指定函数的定义和初始参数外,还可以指定输入参数的容忍度和函数值的容忍度,以及最大的迭代次数和函数调用次数。
  • 5、不同的初始参数通过局部最优化可能得到不同的结果。

二、示例

#coding:UTF-8
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import matplotlib as mpl
import scipy.optimize as spo
 
def fm(*args):
    return (np.sin(args[0])+0.05*args[0]**2+np.sin(args[1])+0.05*args[1]**2)
 
x = np.linspace(-10,10,50)
y = np.linspace(-10,10,50)
x,y = np.meshgrid
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值