先说一下,这个算法其实就是一个简单的贪心和三分的实现
其用于计算的模型是类似于

这样的模型,但是这里不同的是,针对于机器学习中的特定性,我们需要的一般是极大值,在这里只有最小值,但是其实是一样的。
今天的是两个变量的更新,下一次更新多个变量。

python实现

# -*- coding: utf-8 -*-
"""
Created on Mon Sep  9 18:44:30 2019@author: C-82
"""
'''
首先是三维空间内的曲线,想象是一个凸上去的形状
'''
'''
func函数是计算正确率的函数
也就是你要进行调参的机器学习模型
这个需要你自己进行实现
'''
def func(x,y):return
'''
下面是四个常量
分别对应了两个参数的上下界
'''
XL = 0
XR = 10000
YL = 0
YR = 10000
'''
x,y
用于保存最终的计算结果,也就是模型的参数,默认初始值是(0,0)
'''
def optimize(x = XL,y = YL):'''最终的正确率初始化为0'''ans = 0'''开始进行两个变量的三分交叉计算'''while True:'''定x对y进行三分'''l = XLr = XRwhile r - l > 0.0000001:lmid = l + (r - l) / 3rmid = l + (r - l) / 3 * 2if(func(x,lmid) < func(x,rmid)):l = lmidelse:r = rmidy = r'''定y对x进行三分'''l = YLr = YRwhile r - l > 0.0000001:lmid = l + (r - l) / 3rmid = l + (r - l) / 3 * 2if func(lmid,y) < func(rmid,y):l = lmidelse:r = rmidx = r'''算法结束的条件'''if abs(ans - func(x,y)) < 0.0000001:breakans = max(ans,func(x,y))'''ret保存返回结果'''ret = {}ret['x'] = xret['y'] = yret['correctnessRate'] = ansreturn ret

举个例子:拟合计算z = 4 - x * x - y * y的极值点

def func(x,y):return 4 - x * x - y * y
'''
下面是四个常量
分别对应了两个参数的上下界
'''
XL = -10000
XR = 10000
YL = -10000
YR = 10000
'''
x,y
用于保存最终的计算结果,也就是模型的参数,默认初始值是(0,0)
'''
def optimize(x = XL,y = YL):'''最终的正确率初始化为0'''ans = 0'''开始进行两个变量的三分交叉计算'''while True:'''定x对y进行三分'''l = XLr = XRwhile r - l > 0.0000001:lmid = l + (r - l) / 3rmid = l + (r - l) / 3 * 2if(func(x,lmid) < func(x,rmid)):l = lmidelse:r = rmidy = r'''定y对x进行三分'''l = YLr = YRwhile r - l > 0.0000001:lmid = l + (r - l) / 3rmid = l + (r - l) / 3 * 2if func(lmid,y) < func(rmid,y):l = lmidelse:r = rmidx = r'''算法结束的条件'''if abs(ans - func(x,y)) < 0.0000001:breakans = max(ans,func(x,y))'''ret保存返回结果'''ret = {}ret['x'] = xret['y'] = yret['correctnessRate'] = ansreturn retprint(optimize(10,10))

运行结果:
{‘x’: 3.752887422336493e-08, ‘y’: -3.857856258637885e-08, ‘correctnessRate’: 3.9999999999999973}
欢迎关注公众号BBIT
让我们共同学习共同进步!

机器学习 使用三分法找最优解参数相关推荐

  1. 机器学习模型评估与超参数调优详解

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:李祖贤  深圳大学,Datawhale高校群成员 机器学习分为两类 ...

  2. 使用optuna为机器学习模型挑选最优参数进行模型构建实战

    使用optuna为机器学习模型挑选最优参数进行模型构建实战 目录 使用optuna为机器学习模型挑选最优参数进行模型构建实战 Optuna是什么

  3. ML之回归预测:利用八(9-1)种机器学习算法对无人驾驶汽车参数(2017年的data,18+2)进行回归预测值VS真实值

    ML之回归预测:利用八(9-1)种机器学习算法对无人驾驶汽车参数(2017年的data,18+2)进行回归预测值VS真实值 目录 模型评估 输出结果 模型评估 相关文章:ML之回归预测:利用八(9-1 ...

  4. 第七十四篇:机器学习优化方法及超参数设置综述

    第七十四篇:机器学习优化方法及超参数设置综述 置顶 2019-08-25 23:03:44 廖佳才 阅读数 207更多 分类专栏: 深度学习 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-S ...

  5. Python使用模拟退火(Simulated Annealing)算法构建优化器获取机器学习模型最优超参数组合(hyperparameter)实战+代码

    Python使用模拟退火(Simulated Annealing)算法构建优化器获取机器学习模型最优超参数组合(hyperparameter)实战+代码 目录

  6. 机器学习 | MATLAB实现支持向量机回归参数设定

    机器学习 | MATLAB实现支持向量机回归参数设定 目录 机器学习 | MATLAB实现支持向量机回归参数设定 基本介绍 参数描述 学习总结 参考资料 基本介绍 RegressionSVM 是一种支 ...

  7. auot lisp 选择集处理_第64集 python机器学习:用预处理进行参数选择

    在机器学习过程中,大多数机器学习应用不仅需要应该用单个算法,而且还需要将许多不同的处理步骤和机器学习模型链接在一起. 接下来我们将引入本章学习的内容--Pipeline类:该类可以简化构造变换和模型链 ...

  8. 机器学习 聚类篇——DBSCAN的参数选择及其应用于离群值检测

    机器学习 聚类篇--DBSCAN的算法原理.参数选择及其应用于离群值检测 摘要 1. DBSCAN算法原理 1.1 基本概念定义 1.2 算法流程 2. 参数选择 2.1 领域半径:Eps的选取方法( ...

  9. 【机器学习基础】支持向量机超参数的可视化解释

    作者 | Soner Yıldırım 编译 | VK 来源 | Towards Datas Science 支持向量机(SVM)是一种应用广泛的有监督机器学习算法.它主要用于分类任务,但也适用于回归 ...

最新文章

  1. Mac OS X上的Java Memcached
  2. linux u盘刻录软件,Deepin Linux下刻录Windows安装U盘:WoeUSB的介绍和应用
  3. SQL2012(32位)下载及安装(32位、64位都一样,不影响)
  4. android模块编译错误,android studio编译出错:Android resource linking failed
  5. java 一个线程运行_Java并发(基础知识)—— 创建、运行以及停止一个线程
  6. MATLAB深度学习工具箱汇总
  7. 大津阈值分割(OSTU)
  8. 安装Ubuntu Core系统
  9. 暴躁蒟蒻在线水题er日记
  10. 【C语言】重要函数qsort函数的用法
  11. 多元线性回归算法预测房价——Excel、jupyter+sklearn
  12. 计算机cpu的功能和作用是什么意思,cpu的功能有哪些
  13. :after和:before用法
  14. 关于全息影像、墙体投影的一点想法。
  15. Linux群控源码,基于嵌入式Linux无线群控系统的研究与实现
  16. Android12 Gallery2源码分析(一)
  17. 版本号该怎么设置?版本格式:主版本号、次版本号、修订号
  18. AE、PR视频制作遇到的问题
  19. 51job.com查询招聘的方法
  20. 要成为一名合格的团队管理者你需要看这十本团队管理书籍

热门文章

  1. 阿龙的学习笔记---Effective C++---第一章:习惯C++
  2. 闲鱼冻结多个欺诈用户:还是治标不治本
  3. java中创建对象的一般格式是什么_Java零基础快速入门|对象的创建和使用(下)...
  4. 慢性疲劳免疫失调综合症(CFIDS)
  5. 十一、实现QQ登陆(第三方的登陆)(用户部分)
  6. Google Earth Engine(GEE)——逐月降水数据下载和直方图表展示
  7. 席南华院士:数学的意义
  8. 杭州计算机学校2017分数,2017各大学最低投档分数线
  9. SMC 压缩空气含水量及析出水量计算软件
  10. 步进电机 步距角 编码器_我如何迈出了学习编码的第一步