当前位置: 首页 > news >正文

金融做市场广告挂哪些网站国内专业网站设计

金融做市场广告挂哪些网站,国内专业网站设计,北京域名,wordpress调用摘要为了测试 Adam、RMSProp 和 Adagrad 算法的性能#xff0c;你可以使用四个凸函数进行实验。以下是一些常用的凸函数示例#xff1a; Rosenbrock 函数#xff1a; Booth 函数#xff1a; Himmelblau 函数#xff1a; Beale 函数#xff1a; 你可以选择其中一个或多… 为了测试 Adam、RMSProp 和 Adagrad 算法的性能你可以使用四个凸函数进行实验。以下是一些常用的凸函数示例 Rosenbrock 函数 Booth 函数 Himmelblau 函数 Beale 函数 你可以选择其中一个或多个函数来测试算法的性能。对于每个函数你可以使用不同的初始点并应用 Adam、RMSProp 和 Adagrad 算法来寻找最优点。最优点可以通过达到较低的函数值或满足预定精度条件来定义。 在实验过程中你可以记录每个算法在不同函数和初始点上找到最优点的迭代次数、计算时间以及最终的函数值。通过比较这些指标你可以评估每个算法的性能和效果。 请注意算法的性能可能会因函数的形状和参数设置而有所不同。因此建议你在不同的凸函数上进行多次实验以获得更全面的性能比较结果。 #include iostream #include cmath #include vector// 定义凸函数类 class ConvexFunction { public:virtual double evaluate(const std::vectordouble x) 0; };// Rosenbrock 函数 class RosenbrockFunction : public ConvexFunction { public:double evaluate(const std::vectordouble x) override {double sum 0.0;for (size_t i 0; i x.size() - 1; i) {double term1 pow(x[i 1] - pow(x[i], 2), 2);double term2 pow(1 - x[i], 2);sum 100 * term1 term2;}return sum;} };// Booth 函数 class BoothFunction : public ConvexFunction { public:double evaluate(const std::vectordouble x) override {double term1 pow(x[0] 2 * x[1] - 7, 2);double term2 pow(2 * x[0] x[1] - 5, 2);return term1 term2;} };// Himmelblau 函数 class HimmelblauFunction : public ConvexFunction { public:double evaluate(const std::vectordouble x) override {double term1 pow(pow(x[0], 2) x[1] - 11, 2);double term2 pow(x[0] pow(x[1], 2) - 7, 2);return term1 term2;} };// Beale 函数 class BealeFunction : public ConvexFunction { public:double evaluate(const std::vectordouble x) override {double term1 pow(1.5 - x[0] x[0] * x[1], 2);double term2 pow(2.25 - x[0] x[0] * pow(x[1], 2), 2);double term3 pow(2.625 - x[0] x[0] * pow(x[1], 3), 2);return term1 term2 term3;} };// Adam 算法 std::vectordouble adam(const ConvexFunction func, const std::vectordouble initial_x, double learning_rate, int max_iterations) {std::vectordouble x initial_x;std::vectordouble m(x.size(), 0.0);std::vectordouble v(x.size(), 0.0);double beta1 0.9;double beta2 0.999;double epsilon 1e-8;for (int i 0; i max_iterations; i) {// 计算梯度std::vectordouble gradient(x.size(), 0.0);for (size_t j 0; j x.size(); j) {std::vectordouble x_plus_delta x;x_plus_delta[j] epsilon;double f_plus_delta func.evaluate(x_plus_delta);gradient[j] (f_plus_delta - func.evaluate(x)) / epsilon;}// 更新参数for (size_t j 0; j x.size(); j) {m[j] beta1 * m[j] (1 - beta1) * gradient[j];v[j] beta2 * v[j] (1 - beta2) * pow(gradient[j], 2);double m_hat m[j] / (1 - pow(beta1, i 1));double v_hat v[j] / (1 - pow(beta2, i 1));x[j] - learning_rate * m_hat / (sqrt(v_hat) epsilon);}}return x; }// RMSProp 算法 std::vectordouble rmsprop(const ConvexFunction func, const std::vectordouble initial_x, double learning_rate, double decay_rate, int max_iterations) {std::vectordouble x initial_x;std::vectordouble cache(x.size(), 0.0);double epsilon 1e-8;for (int i 0; i max_iterations; i) {// 计算梯度std::vectordouble gradient(x.size(), 0.0);for (size_t j 0; j x.size(); j) {std::vectordouble x_plus_delta x;x_plus_delta[j] epsilon;double f_plus_delta func.evaluate(x_plus_delta);gradient[j] (f_plus_delta - func.evaluate(x)) / epsilon;}// 更新参数for (size_t j 0; j x.size(); j) {cache[j] decay_rate * cache[j] (1 - decay_rate) * pow(gradient[j], 2);x[j] - learning_rate * gradient[j] / (sqrt(cache[j]) epsilon);}}return x; }// Adagrad 算法 std::vectordouble adagrad(const ConvexFunction func, const std::vectordouble initial_x, double learning_rate, int max_iterations) {std::vectordouble x initial_x;std::vectordouble cache(x.size(), 0.0);double epsilon 1e-8;for (int i 0; i max_iterations; i) {// 计算梯度std::vectordouble gradient(x.size(), 0.0);for (size_t j 0; j x.size(); j) {std::vectordouble x_plus_delta x;x_plus_delta[j] epsilon;double f_plus_delta func.evaluate(x_plus_delta);gradient[j] (f_plus_delta - func.evaluate(x)) / epsilon;}// 更新参数for (size_t j 0; j x.size(); j) {cache[j] pow(gradient[j], 2);x[j] - learning_rate * gradient[j] / (sqrt(cache[j]) epsilon);}}return x; }int main() {// 创建凸函数对象RosenbrockFunction rosenbrock;BoothFunction booth;HimmelblauFunction himmelblau;BealeFunction beale;// 设置算法参数double learning_rate 0.01;double decay_rate 0.9;int max_iterations 1000;// 初始化初始点std::vectordouble initial_x { 0.0, 0.0 };// 使用 Adam 算法找到最优点std::vectordouble adam_result adam(rosenbrock, initial_x, learning_rate, max_iterations);std::cout Adam Result: ( adam_result[0] , adam_result[1] ) std::endl;// 使用 RMSProp 算法找到最优点std::vectordouble rmsprop_result rmsprop(rosenbrock, initial_x, learning_rate, decay_rate, max_iterations);std::cout RMSProp Result: ( rmsprop_result[0] , rmsprop_result[1] ) std::endl;// 使用 Adagrad 算法找到最优点std::vectordouble adagrad_result adagrad(rosenbrock, initial_x, learning_rate, max_iterations);std::cout Adagrad Result: ( adagrad_result[0] , adagrad_result[1] ) std::endl;return 0; }
http://www.hkea.cn/news/14362289/

相关文章:

  • oss怎么做网站市场研究公司
  • 温岭市市住房和城乡建设规划局网站wordpress用户分页
  • 郴州制作网站设计较好的公司wordpress跳转指定模板
  • 个人网站设计与制作源代码成都app软件开发
  • 营销网站的特征网站开发与网站运营
  • 泉山徐州网站开发seo引流软件
  • 怎么挂代理访问网站网站建设的基本技术步骤
  • 网站推广app软件下载哪个网站做ppt模板赚钱
  • 中小型企业网站优化价格零用贷网站如何做
  • 公益网站建设的意义成华区微信网站建设推
  • 临沂网站建设服务商网站建设 中企动力中山
  • 正能量不良网站推荐2020快速网站开发
  • 网上购物网站建设需求在线购物系统的分析与设计
  • 网站自建设需要买什么时候开始长沙官网优化推广
  • 网站上传不了照片网络营销有哪些方面
  • 南宁建站官网阿里云虚拟主机安装wordpress
  • 呼和浩特企业网站建设网站建设远程培训
  • 深圳 高端 建站公司暴雪中国回应与网易停止合作
  • 视频门户网站建设项目标书杭州城市建设网站
  • 加强网站的建设工作网站建站免费空间
  • 重庆神态网站建设seo优化服务
  • 个人主页网站设计代码做设计想接外单去哪个网站好
  • 网站开发及维护费用wordpress 课程管理
  • 珠海 网站建设网站门户怎么建设
  • 没有营业执照怎么样做百度企业网站企业商务网站建设
  • 网站开发和移动开发森动网网站建设好吗
  • 外贸推广网站公司企业vi怎么设计
  • 一个人做网站 没有人写文章怎么办短视频软件开发
  • 八面通网站建设正邦做网站多少钱
  • 苍南哪里有网站建设公司东莞网站建设营销平台的