坐标上升算法(Coordinate Ascent)及C++编程实现

转载 2016年05月30日 15:15:18

坐标上升算法(Coordinate Ascent)及C++编程实现



编程实现:
  1. #include <iostream>  
  2. using namespace std;  
  3. #define f(x1,x2,x3) (-x1*x1-2*x2*x2-3*x3*x3+2*x1*x2+2*x1*x3-4*x2*x3+6)  
  4. int main()  
  5. {  
  6.     double x1=1;  
  7.     double x2=1;  
  8.     double x3=1;  
  9.     double f0=f(x1,x2,x3);  
  10.     double err=1.0e-10;  
  11.     while (true)  
  12.     {  
  13.         x1=x2+x3;  
  14.         x2=0.5*x1-x3;  
  15.         x3=1.0/3*x1-2.0/3*x2;  
  16.         double ft=f(x1,x2,x3);  
  17.         if (abs(ft-f0)<err)  
  18.         {  
  19.             break;  
  20.         }  
  21.         f0=ft;  
  22.     }  
  23.     cout<<"@author:郑海波 email:zhb931706659@126.com"<<endl;  
  24.     cout<<"\nmax{f(x1,x2,x3)}="<<f(x1,x2,x3)<<endl;  
  25.     cout<<"取得最大值时的坐标:\n(x1,x2,x3)=("<<x1<<","<<x2<<","<<x3<<")"<<endl;  
  26.     return 0;  
  27. }  

相关文章推荐

优化算法——坐标上升法

一、坐标上升法算法原理坐标上升法(Coordinate Ascent)每次通过更新函数中的一维,通过多次的迭代以达到优化函数的目的。假设需要求解的优化问题的具体形式如下:maxαW(α1,α2,⋯,α...

SVM求解之坐标上升算法(Coordinate Ascent)

坐标上升算法(Coordinate Ascent) 坐标上升算法(Coordinate Ascent)及C++编程实现                             ...

坐标下降法(坐标上升法)matlab程序

起因因为求解SVM的最牛算法SMO算法,使用的时坐标下降法的思路,所以学习一下这个算法。方法某函数包含多个自变量,需要求这个函数的最大或最小值时,可以应用此坐标下降法(最小值)或坐标上升法(最大值)。...

坐标上升算法(Coordinate Ascent)及C++编程实现

坐标上升算法(Coordinate Ascent)及C++编程实现 编程实现: #include using namespace std; #define f(x1,...

支持向量机-坐标下降(上升)法

9 规则化和不可分情况处理(Regularization and the non-separable case) 我们之前讨论的情况都是建立在样例线性可分的假设上,当样例线性不可分时,我们可以尝...

坐标上升算法总结(文档c++代码)

  • 2012年12月20日 13:57
  • 1.08MB
  • 下载

梯度上升算法迭代过程和数学原理

梯度上升算法在统计学习中使用广泛,比如Logistic 使用梯度上升优化每一个属性的对应的权值参数  即 Z = W0X0 + W1X1 + W2X2+ ...... +WnXn 中的w参数 ...

Python3《机器学习实战》学习笔记(六):Logistic回归基础篇之梯度上升算法

本文从Logistic回归的原理开始讲起,补充了书上省略的数学推导。本文可能会略显枯燥,理论居多,Sklearn实战内容会放在下一篇文章。自己慢慢推导完公式,还是蛮开心的一件事。...

logistics回归--梯度上升算法以及改进--用于二分类

1.sigmoid函数应用 logistics回归是用来分类的,并且属于监督学习,分类也是仅限于二分类,就是结果非0即1 (这种函数通常称作跃阶函数) 这个时候就出现问题了 01之间的分界点怎么处理?...

机器学习-Logistic回归之使用随机梯度上升算法预测病马死亡率

运行环境:ubuntu16.10+MATLAB2016a数据集:该数据集来自2010年1月11日的UCI机器学习数据库,该数据最早由加拿大安大略省圭尔夫大学计算机系Mary McLeish和Matt ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:坐标上升算法(Coordinate Ascent)及C++编程实现
举报原因:
原因补充:

(最多只允许输入30个字)