Comments (13)
每次进化肯定选的是tournament里fitness最好的呀
from gpquant.
但是似乎tournament抽取的公式池是每次依据种群大小重新随机的
from gpquant.
抽取是随机的,但比完fitness排序了,没排序可是重大bug
from gpquant.
确实是排序,整理逻辑是随机生成population_size个公式,然后抽取tourament_size个,计算最大的适应度的公式作为父代,然后进行进化变异,但是当generations不等于1时,每次的上述过程似乎是相互独立,如果是相互独立,那么整个运行不就接近存粹的随机算法了吗
from gpquant.
那不是的,比如population有1000个,我每次选20个举行tournament,留下最好的一个或两个(取决于mutation方式),每次tournament都是独立的,但每次都选出来的是tournament里最好的,所以跟绝对的随机还是有区别的。之所以这样做是为了保证每次在选出fitness相对高的tree时还能有一定的随机性,而不是每次都用最最好的一部分。
from gpquant.
举一个极端的例子,这种选法不可能选出最差的19个,但随机选可能选到,所以二者是不等价的
from gpquant.
了解,感谢解惑。另外,代码似乎极易过拟合,而且挖掘出来的样本内模式似乎都特别像
from gpquant.
过拟合在遗传里很正常,后续可以筛选下,我很久没看遗传相关的了,不过这里面有很多trick,可以参考参考别的实现或者论文
from gpquant.
目前的想法是进行多次训练,然后总结公式最短并且适应度高的新算子,进行分层搜索,在获取并总结算子上大佬有什么建议吗
from gpquant.
不是大佬hh,其实我觉得validation就行了,样本外好的基本都能好一段时间
from gpquant.
hhh,在你的框架上每次输出一个公式,如果重新训练很容易得到类似的,我又想尽可能得到不同其样本外好的公式,所以需要对他进行引导搜索
from gpquant.
其实我当时在用的时候没有发现公式很类似的情况,可能现在市场变了
from gpquant.
原来是这样,再次感谢大佬回复hhh
from gpquant.
Related Issues (10)
- 示例代码报错“TypeError: unsupported operand type(s) for -: 'int' and 'list'” HOT 3
- 多个序列fit HOT 5
- import SymbolicRegressor failed HOT 2
- Seems gpquant not support multi-process . HOT 3
- Orthogonal factors HOT 5
- How to use backtester? HOT 5
- no more Generation HOT 6
- the problem of sharpe_ratio HOT 2
- 较大数据规模下All-NaN slice问题 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gpquant.