R语言最优化(多维)
线性搜索的最速上升法
####
max.search <- function(f, x, y, tol=1e-9, a.max = 2^5){
if(sum(abs(y)) == 0) return(x)
g <- function(a) return(f(x+a*y))
a.l <- 0
g.l <- g(a.l)
a.m <- 1
g.m <- g(a.m) while((g.m < g.l)&(a.m > tol)){
a.m <- a.m/2
g.m <- g(a.m)
}
if((a.m <- tol) & (g.m < g.l)) return (x)
a.r <- 2*a.m
g.r <- g(a.r)
while((g.m < g.r) & (a.r < a.max)){
a.m <- a.r
g.m <- g.r
a.r <- 2*a.max
g.r <- h(a.r)
}
if((a.r >= a.max) & (g.m < g.r)) return(x+a.max*y)
a <- gsection(g, a.l, a.r, a.m)
return(x + a*y)
} ####gsection
gsection <- function(ftn, x.l, x.r, x.m, tol=1e-9){
###黄金分割率
gr1 <- 1 + (1+sqrt(5))/2
f.l <- ftn(x.l)
f.r <- ftn(x.r)
f.m <- ftn(x.m)
while((x.r - x.l) > tol){
if((x.r - x.m) > (x.m - x.l)){
y <- x.m + (x.r - x.m)/grl
f.y <- ftn(y)
if(f.y >= f.m){
x.l <- x.m
f.l <- f.m
x.m <- y
f.m <- f.y
}
else{
x.r <- y
f.r <- f.y
}
}else{
y <- x.m - (x.m - x.l)/grl
f.y <- ftn(y)
if(f.y >= f.m){
x.r <- x.m
f.r <- f.m
x.m <- y
f.m <- f.y
}
else{
x.l <- y
f.l <- f.y
}
}
}
return(x.m)
}
R语言最优化(多维)的更多相关文章
- R语言最优化(一维)
最优化问题是普遍存在的,以前上运筹学课的时候也接触过最优化相关的问题,当时主要是理论课,并且关注的重点是单纯形法.运输问题以及图论等,这里指的最优化是指函数的最优化,即函数的极值,由于寻找一个局部最优 ...
- 机器学习与R语言
此书网上有英文电子版:Machine Learning with R - Second Edition [eBook].pdf(附带源码) 评价本书:入门级的好书,介绍了多种机器学习方法,全部用R相关 ...
- R语言中的遗传算法详细解析
前言 人类总是在生活中摸索规律,把规律总结为经验,再把经验传给后人,让后人发现更多的规规律,每一次知识的传递都是一次进化的过程,最终会形成了人类的智慧.自然界规律,让人类适者生存地活了下来,聪明的科学 ...
- 微软的R语言发行版本MRO及开发工具RTVS
(此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:微软在收购R语言的开发商后,也独立发行或在自己的产品中集成了R语言,这里就介绍下它们包 ...
- R语言实战(三)基本图形与基本统计分析
本文对应<R语言实战>第6章:基本图形:第7章:基本统计分析 =============================================================== ...
- R语言实战(一)介绍、数据集与图形初阶
本文对应<R语言实战>前3章,因为里面大部分内容已经比较熟悉,所以在这里只是起一个索引的作用. 第1章 R语言介绍 获取帮助函数 help(), ? 查看函数帮助 exampl ...
- 从零开始系列-R语言基础学习笔记之二 数据结构(二)
在上一篇中我们一起学习了R语言的数据结构第一部分:向量.数组和矩阵,这次我们开始学习R语言的数据结构第二部分:数据框.因子和列表. 一.数据框 类似于二维数组,但不同的列可以有不同的数据类型(每一列内 ...
- R语言学习笔记(一)
1.不同的行业对数据集(即表格)的行和列称谓不同,统计学家称其为观测(observation)和变量(variable): 2.R语言存储数据的结构: ①向量:类似于C语言里的一位数组,执行组合功能的 ...
- R语言之RCurl实现文件批量下载
前言: RCurl工具包的作者是由Duncan Temple Lang现任加州大学 U.C. Davis分校副教授.他曾致力于借助统计整合进行信息技术的探索.使用者通过RCurl可以轻易访问网页,进行 ...
随机推荐
- Mysql索引使用解析
摘自:http://blog.chinaunix.net/uid-25063573-id-3032578.html Mysql索引使用解析 1.索引作用 在索引列上,除了上面提到的有序查找之外,数据库 ...
- Python day 06
day06 数据类型(四) 今日内容 集合 内存相关 深浅拷贝 补充 补充 列表 reverse,反转. v1 = [1,2,3111,32,13] print(v1) # [1,2,311,32,1 ...
- 从客户端取到浏览器返回的oauth凭证
这个随便记录一下,也是朋友问我的一个问题. 在网上找了下,没找到相关的,用英文也搜索了一下,可能我的关键词没找对,找了一会没找到. 想到以前用过的rclone也是用的这样的方式,去看了下相关部分源码. ...
- React Native图片缓存解决方案
1. react-native-fetch-blob 将图片存在本地的一个东西 2. react-native-img-cache 自动缓存的一个东西 上面装好后 就可以使用啦 import {Cac ...
- 初学者易上手的SSH-hibernate04 一对一 一对多 多对多
这章我们就来学习下hibernate的关系关联,即一对一(one-to-one),一对多(one-to-many),多对多(many-to-many).这章也将是hibernate的最后一章了,用于初 ...
- react-native webView android使用本地html问题
react-native WebView组件使用本地html时候,一般都是这样使用 var source = require('../html/my.html') : <WebView sour ...
- b/s 和c/s的区别
简单解释: B/S最大优势为客户端免维护,适用于用户群庞大,或客户需求经长发生变化的情况. C/S功能强大,可以减轻服务器端压力,如果用户的需求特别复杂,用C/S. 全面: Client/Server ...
- ubuntu下安装 java环境
步骤1:下载jdk 我选择的jdk版本文件: jdk-8u201-linux-x64.tar 官网下载链接 步骤2:创建单独的目录 sudo mkdir /usr/local/java 步骤3:将下载 ...
- WSGI协议主要包括server和application两部分:
WSGI server负责从客户端接收请求,将request转发给application,将application返回的response返回给客户端:WSGI application接收由server ...
- CentOS7.5下安装、配置MySql数据库 --CentOS7.5
1.下载MySql的rpm包 [root@VM_39_157_centos -]# wget http://repo.mysql.com/mysql-community-release-el7-5.n ...