Bitcoin Forum
May 13, 2024, 12:13:15 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 2 [3]  All
  Print  
Author Topic: Ideal buy/sell strategy for maximizing profit  (Read 3023 times)
Raystonn
Sr. Member
****
Offline Offline

Activity: 364
Merit: 250


View Profile
June 23, 2014, 07:30:49 PM
 #41

You mean you have few enough model parameters to make overfitting the given data unlikely. Yes?

That's not possible for a neural net.  The weights assigned to each node of a neural net can hold an enormous amount of data.  A trained neural net by definition fits to the input data.  You don't see it if you examine the node data because that data is spread throughout the entire network.
1715602395
Hero Member
*
Offline Offline

Posts: 1715602395

View Profile Personal Message (Offline)

Ignore
1715602395
Reply with quote  #2

1715602395
Report to moderator
1715602395
Hero Member
*
Offline Offline

Posts: 1715602395

View Profile Personal Message (Offline)

Ignore
1715602395
Reply with quote  #2

1715602395
Report to moderator
Each block is stacked on top of the previous one. Adding another block to the top makes all lower blocks more difficult to remove: there is more "weight" above each block. A transaction in a block 6 blocks deep (6 confirmations) will be very difficult to remove.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1715602395
Hero Member
*
Offline Offline

Posts: 1715602395

View Profile Personal Message (Offline)

Ignore
1715602395
Reply with quote  #2

1715602395
Report to moderator
1715602395
Hero Member
*
Offline Offline

Posts: 1715602395

View Profile Personal Message (Offline)

Ignore
1715602395
Reply with quote  #2

1715602395
Report to moderator
1715602395
Hero Member
*
Offline Offline

Posts: 1715602395

View Profile Personal Message (Offline)

Ignore
1715602395
Reply with quote  #2

1715602395
Report to moderator
K128kevin2 (OP)
Sr. Member
****
Offline Offline

Activity: 322
Merit: 250


View Profile
June 23, 2014, 09:21:56 PM
 #42

You mean you have few enough model parameters to make overfitting the given data unlikely. Yes?
Yes, that's what I mean - although I would say that it is unlikely enough that I feel confident saying that it's impossible. I mean, I've trained neural networks on this data that do overfit, and this isn't one of them.

This still allows for subtle effects how well your network generalizes to new input, especially for something as error sensitive as trading. There's a reason why in ML the data is usually partitioned into a training set and a test set (or three, including a validation set), and the two are kept separate.

Yes I definitely see the advantages to partitioning data into training/test data. The difference, however, in doing that with this data versus doing that with more common applications of neural networks (such as character recognition or audio recognition) is that we can create an infinite amount of training data for those things. We can draw thousands of hand written characters for training and thousands more for testing. However, there is a finite amount of bitcoin data available. Not training on all of the available data will result in less accurate predictions. Even watching the neural network that is up on the main page of my site now, you can see that it has been getting more and more accurate as more data becomes available for it to train on. As long as I know it's not overfitting, I feel that it is best to train it on all available data.
oda.krell
Legendary
*
Offline Offline

Activity: 1470
Merit: 1007



View Profile
June 23, 2014, 09:23:45 PM
 #43

You mean you have few enough model parameters to make overfitting the given data unlikely. Yes?

That's not possible for a neural net.  The weights assigned to each node of a neural net can hold an enormous amount of data.  A trained neural net by definition fits to the input data.  You don't see it if you examine the node data because that data is spread throughout the entire network.


I didn't really want to say it's likely, but you can in principle set the no. of parameters low enough, given the points of data, s.t. the risk overfitting is arbitrarily small*. Keep in mind that this was my responsne to K128kevin2's claim that "overfitting is impossible with this model", which I found (and still find) hard to believe.


* If you challenge me on this, I'm afraid I'll have to go through my trusty old Bishop to find the answer Cheesy

Not sure which Bitcoin wallet you should use? Get Electrum!
Electrum is an open-source lightweight client: fast, user friendly, and 100% secure.
Download the source or executables for Windows/OSX/Linux/Android from, and only from, the official Electrum homepage.
Raystonn
Sr. Member
****
Offline Offline

Activity: 364
Merit: 250


View Profile
June 23, 2014, 09:28:12 PM
 #44

I'd be interested in hearing how he is presenting the BTC data to the neural network.  I once saw someone present dates along with price data to a neural network he designed.  It ended up fitting itself to the dates, buying and selling on specific dates, without really looking at the prices at all.  Suffice it to say that doesn't work in forward-testing with out-of-sample data.
K128kevin2 (OP)
Sr. Member
****
Offline Offline

Activity: 322
Merit: 250


View Profile
June 23, 2014, 10:40:27 PM
 #45

The data is presented to the neural network in different ways for different neural networks that I'm testing. However, this isn't really what's important to determining a model's likelihood of overfitting. What is most important is the number of input nodes, output nodes, layers of hidden nodes, and nodes in each hidden layer.

Quote from: Raystonn
That's not possible for a neural net.  The weights assigned to each node of a neural net can hold an enormous amount of data.  A trained neural net by definition fits to the input data.  You don't see it if you examine the node data because that data is spread throughout the entire network.

It actually is possible. Maybe I'm misunderstanding what you are trying to say but it sounds like you may have a bit of a conceptual misunderstanding of neural networks. The weights aren't assigned to nodes, but rather to edges between nodes. Furthermore, each weight holds one piece of data - a weight is represented by a double. It's just one number. Also a trained neural network will fit to its input data to a certain degree (assuming it was well structured and trained), but this doesn't mean that it is overfitting.

So basically, when I say that the neural network is not complex enough to overfit this data, I mean that the structure is not complex enough that it could learn the data closely enough to overfit. My data has millions transactions, which end up being compressed into something like 300,000 prices spaced evenly. The patterns in this data are very complex - complex enough that in order to overfit, my neural network requires something ridiculous like 130+ input nodes and 700+ hidden nodes. Smaller neural networks simply would not be able to represent a function that is that complicated.
elebit
Sr. Member
****
Offline Offline

Activity: 441
Merit: 250


View Profile
June 24, 2014, 10:51:17 AM
 #46

The data is presented to the neural network in different ways for different neural networks that I'm testing. However, this isn't really what's important to determining a model's likelihood of overfitting. What is most important is the number of input nodes, output nodes, layers of hidden nodes, and nodes in each hidden layer.
This sounds strange to me. Most important must be what data to train it on, don't you agree? While the most important goal of the neural net is that it actually does what it is supposed to do, in this case predict the future? The actual technical design, the amount of nodes, feedback propagation etc., can only work to fit data faster and better.

So basically, when I say that the neural network is not complex enough to overfit this data, I mean that the structure is not complex enough that it could learn the data closely enough to overfit.
Surely even a very simple network can overfit the training data set, as opposed to the working data set? (There may be a language issue here so perhaps I misunderstand.)

I'd be interested in hearing how he is presenting the BTC data to the neural network.  I once saw someone present dates along with price data to a neural network he designed.  It ended up fitting itself to the dates, buying and selling on specific dates, without really looking at the prices at all. 
This is a very good example of what I was trying to say above. (And a more complex network could very well have made this fit even better. Yay.)

A big warning sign for me is that the author is proud that historical data "fits". I am just as interested modelling bitcoin price data as anyone around here, but I defer judgement until I've seen it work its magic on future data.
K128kevin2 (OP)
Sr. Member
****
Offline Offline

Activity: 322
Merit: 250


View Profile
June 24, 2014, 01:29:53 PM
 #47

The data is presented to the neural network in different ways for different neural networks that I'm testing. However, this isn't really what's important to determining a model's likelihood of overfitting. What is most important is the number of input nodes, output nodes, layers of hidden nodes, and nodes in each hidden layer.
This sounds strange to me. Most important must be what data to train it on, don't you agree? While the most important goal of the neural net is that it actually does what it is supposed to do, in this case predict the future? The actual technical design, the amount of nodes, feedback propagation etc., can only work to fit data faster and better.
Yes, of course the specific data you train the neural network on is important to determining whether or not it's going to overfit. However, when predicting bitcoin prices there is really only one available set of training data, so that is kind of irrelevant in these circumstances. We're always going to be training on historic bitcoin price data, so the factors that affect whether or not it overfits this data are generally going to be the structure. More complex structures allow it to represent more complex functions.

So basically, when I say that the neural network is not complex enough to overfit this data, I mean that the structure is not complex enough that it could learn the data closely enough to overfit.
Surely even a very simple network can overfit the training data set, as opposed to the working data set? (There may be a language issue here so perhaps I misunderstand.)
I think you understood correctly. A simple neural network cannot overfit a very large and complicated set of training data. People here seem to think that neural networks of any size and structure can represent any function, but this is not true. For example, you could have a neural network with 800 inputs and 800 outputs, but no matter how much you trained it on whatever data you give it, it will never be able to map a simple XOR function.

I'd be interested in hearing how he is presenting the BTC data to the neural network.  I once saw someone present dates along with price data to a neural network he designed.  It ended up fitting itself to the dates, buying and selling on specific dates, without really looking at the prices at all. 
This is a very good example of what I was trying to say above. (And a more complex network could very well have made this fit even better. Yay.)

A big warning sign for me is that the author is proud that historical data "fits". I am just as interested modelling bitcoin price data as anyone around here, but I defer judgement until I've seen it work its magic on future data.
If this model were overfitting, it would perform a lot better than it's performing on historic data, and its average error would be much lower. I've seen these neural networks overfit, and when they do, I restructure them and change parameters so that they don't. I've tested these historic data, data from other exchanges, and future data. The model is not overfitting. And no, it doesn't look at dates. It is very obvious that doing this would lead to overfitting lol... I don't know why anyone would ever input dates into a neural network for predicting prices. This model only looks at past prices right now (though hopefully it will look at sentiment data too soon) and the past prices are represented in various different ways in different neural networks.
Pages: « 1 2 [3]  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!