译 | 在R中使用quadprog包求解二次规划

本文由CDA作者库成员HarryZhu翻译,并授权发布。 CDA作者库凝聚原创力量,只做更有价值的分享。

概述

本文将探究一个被称为二次规划的优化问题,这是一种特殊形式的非线性约束优化问题。二次规划在许多领域都有运用,比如投资组合优化、求解支持向量机(SVM)分类问题等。在R中求解二次规划有许多包,这次,我们将讨论一下quadprog包。在我们开始讲解案例之前,我们将先简短地介绍一下二次规划的机理。

什么是二次规划

对于一个二次规划问题,首先要考虑的就是一个二次目标函数:

示例一:

目标函数

化为标准型

想要用quadprog包求解二次规划,我们需要同时转化我们的目标函数和约束条件为矩阵形式。这里是官方文档的说明:

具体实现

quadprog包默认是求解极小值问题的,所以,我们的约束条件默认的形式也就是AX>=bvec。通常我们需要把一些原来是求极大值的问题或者<=约束通过乘以负号来转化。

这是R的完整实现:

源代码GitHub地址:https://github.com/harryprince。

Harry Zhu,擅长用Python和R进行数据建模、定量研究,目前就职于量子金服(Quantum Financial Service)。

欢迎关注个人主页:

https://github.com/harryprince

https://segmentfault.com/u/harryprince

end

原文发布于微信公众号 - CDA数据分析师(cdacdacda)

原文发表时间:2016-02-22

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏专知

计算机视觉入门教程系列—125页带你回顾CV发展脉络

【导读】本文是计算机科学家Christoph Rasche撰写的一份计算机视觉方面的系列教程,从传统的图像处理、特征提取到近几年很热的深度神经网络,以及深度学习...

19220
来自专栏专知

【干货分享】177页鲁棒机器学习教程(附Slides全文下载)

【导读】本文为大家整理了俄勒冈州立大学的杰出教授Thomas G.Dietterich的鲁棒机器学习教程,具体内容如下。

10830
来自专栏WeTest质量开放平台团队的专栏

机器学习在启动耗时测试中的应用及模型调优(一)

启动耗时自动化方案在关键帧识别时,常规的图像对比准确率很低。本文详细介绍了采用scikit-learn图片分类算法在启动耗时应用下的模型调优过程。

19230
来自专栏机器学习算法工程师

详解基于内容的推荐算法

本文介绍的将会是推荐系统最古老的算法:基于内容的推荐算法(Content-Based Recommendations CB)。

46430
来自专栏AI科技大本营的专栏

AI 技术讲座精选:ChainerMN 分布式深度学习的性能

2017深度学习峰会于今年1月在旧金山落下帷幕。会上,PFN 发布了其在多节点环境下使用 Chainer 的分布式深度学习所取得的进展。在今天的这篇文章中,我会...

398120
来自专栏AI科技评论

IJCAI杰出论文 | 在终身学习中使用任务特征做 Zero-Shot 知识迁移

导读:2016国际人工智能联合会议(IJCAI2016)于7月9日至7月15日举行,今年会议聚焦于人类意识的人工智能,本文是IJCAI2016杰出学生论文(Di...

32760
来自专栏AI科技评论

动态 | 商汤科技正式开源 mmdetection 和 mmcv

AI 科技评论消息,10 月 12 日,商汤科技正式开源 mmdetection (https://github.com/open-mmlab/mmdetect...

28320
来自专栏新智元

AutoML又一利器来了,谷歌宣布开源AdaNet(附教程)

今天,谷歌宣布开源AdaNet,这是一个轻量级的基于TensorFlow的框架,可以在最少的专家干预下自动学习高质量的模型。

29750
来自专栏腾讯开源的专栏

【开源公告】腾讯 AI Lab 正式开源业内最大规模多标签图像数据集

2018年10月17日,深圳 - 今日,腾讯AI Lab宣布正式开源“Tencent ML-Images”项目,该项目由多标签图像数据集ML-Images,以...

11120
来自专栏机器之心

学界 | Fashion-MNIST:替代MNIST手写数字集的图像数据集

机器之心转载 公众号:PaperWeekly 作者:肖涵 FashionMNIST 是一个替代 MNIST 手写数字集 [1] 的图像数据集。 它是由 Zala...

46590

扫码关注云+社区

领取腾讯云代金券