Taking Neural Networks to the next level - page 21

 
NELODI:

you seem to have a rather low opinion about "humans", correcting everyone and expecting everyone to keep making mistakes. Why is that? 

About the "correcting" part: I worked with neural networks for a long time and claim to have learned something on the way. This doesn't mean that I wasn't subjected to many of the same misconceptions myself that I'm correcting here. And if I still get it all wrong, then at least I can say it's not due to lack of experience with neural networks. Also please don't forget that the level of knowledge about AI is a lot different between forum participants. Some legitimately feel offended by any "teaching" sentence, while others are complete AI beginners and are happy about the exact same sentences.

With "Bayne" it's also a special story cause I had already followed his first steps with neural networks (german forum and many PMs). Hi Bayne ;-)

Most of the "corrections" are supported by logical arguments, if not, I usually mention if something is only my personal opinion.

When I sometimes show a rather low opinion about "humans", this includes myself! I'm no misanthropist. There are simply some tasks where humans excel and others where computers are dramatically better.

Visual chart analysis and intuitive trading is a good example where humans can be absolutely great! But humans eat, sleep, they get emotional, they're not at the screens in the right moment, they can't look at dozens of charts simultanously...

This is not against humans or discretionary trading. This is about - IF we  decide to chose non-discretionary / automated / mathematical trading, then what is the best technique? This is about the time when the human being is not looking at the chart.

Also, I'm no "AI in diguise". Trading (personal opinion!) is extremely hard, both for humans and mathematically supported approaches. Neural networks are no different. But given that you ask the same questions, at least they're better than traditional indicators, which is supported by logical arguments. This accounts only for the information they reveal, not for the interpretation. The human being wasn't part of this equation. Put indicators and a human being together and they might perform a lot better than an automated AI based approach.

 
Chris70:

Put indicators and a human being together and they might perform a lot better than an automated AI based approach.

I think, we can agree on that. And this brings me to another question. If humans perform better when they use technical indicators, why are you so strongly against feeding your ANN with data from simple technical indicators? Obviously, you'd need real price data as well, because humans don't just look at indicators, but don't you think that extending your inputs with data from some frequently use indicators like for example Moving Averages, RSI and Stochastic could improve your ANNs results? I mean ... if such indicators work for humans, why shouldn't they at least improve the output of an ANN?

 
NELODI:

No, it's not a prediction. It is just an opinion. 

And what does this opinion imply? Really only a subjective observation of the present state with no consequences at all for the further developement of the scenario?

Because if you say it has a consequence or the least bit of influence for the next timestep, then you make a prediction.

If it doesn't, then what is the opinion used for?

Or if I'm exaggerating my argument: why do you need to know something that's completely irrelevant?

My guess: because you don't really believe that it's irrelevant.

Only if you're not using your opinion for your trading decisions, you don't inherently predict. Any other way attaches a future implication to you opinion.


[btw.: I'm sorry if I gave you the impression of "knowing it all better". My opinion isn't worth more than anybody elses, and also I get no satisfaction from proving anybody wrong here. If I sometimes have a different view, this doesn't mean I'm right or someone's not a nice guy; this is only a friendly discussion among fellow traders in the same boat; from what I read here, there's nobody in this thread I wouldn't want to have a beer with]

 
Chris70:

And what does this opinion imply? Really only a subjective observation of the present state with no consequences at all for the further developement of the scenario?

It is like saying "in my opinion, the price will probably go higher from here". Based on that opinion and some other factors, you might start buying, or you might pass. But still, it is just an opinion, which is going to change if you observe that your initial opinion was wrong - unless you are very stubborn and would rather blow up your account than change your opinion. Maybe we are just talking semantics here, but we both actually mean the same thing, so ...

 
NELODI:
Why would you want to get rid of the spread? The spread is real and directly affects your trade results, because you are Buying (and closing Sell positions) at the Ask price, but Selling (and closing Buy positions) at the Bid price? And when the Liquidity is low, the Spread can be 100 pips and wider, even with ECN Brokers (where you pay commission).

because the spread is virtual, and it can change between brokers.  i'm not saying to get totally rid of it, but wee need to work on the real price, not the artificial price created by the broker


you can always add the spread later on in the process chain.

 
NELODI:

I think, we can agree on that. And this brings me to another question. If humans perform better when they use technical indicators, why are you so strongly against feeding your ANN with data from simple technical indicators? Obviously, you'd need real price data as well, because humans don't just look at indicators, but also have to see what the price is doing. Don't you think that extending your inputs with data from some frequently use indicators like for example Moving Averages, RSI and Stochastic could improve your ANNs results? I mean ... if such indicators work for humans, why shouldn't they at least improve the output of an ANN?

Okay... a mathematical "prove" won't be easy, but let me try.

Let's consider a neural network as a big complex blackbox formula that we name f(x)=^y, where x and ^y (different from the usual case) are constants instead of variables: we're not looking for the unknown variable, but for the formula f() that matches these constants.

For any fixed/constant input x and label ^y there is a theoretical perfect formula that exactly matches x with ^y. Perfect formula means that the output ("y") is exactly the expected output (=label ^y), so y=^y.

However, we now repeat this experiment several times, with other inputs x and labels y. If we take the same formula as last time, we won't get a match (y!=^y). So what we do: we make a compromise. For different x with their corresponding ^y we look for the formula of the least error that gives us the best match on average.

So far, nothing new, nothing unusual, I just described what any normal neural network does.

Now let's introduce an "indicator" as any formula applied to the same inputs x. Let's name this indicator function g(x).

If we now add this formula to our original inputs x, our simple model is: f(x,g(x))=y, with the error=y-^y.

Let's go one step further and introduce a third formula as a "macro" formula: h(x)=f(x,g(x)). For proving the point, it's not important how complicated this formula h(x) looks; what counts is to accept that such a formula exists. But this also means that h(x)=^y, which is no different than our first step. We basically still have the same model.

So the only thing that has changed is the pathway of the calculation that get's us to the "perfect" formula, not this formula itself, not the constants x and ^y, not the outputs, not the location of the error minimum.


This is different if we actually introduce new features, let's say a variable "z" that is uncorrelated to x, i.e. there is no existing formula to derive z from x.

For the network model f(x,z)=y, now with a new constant, there actually must be a different perfect match, h(x)!=h(x,z).

 
NELODI:

It is like saying "in my opinion, the price will probably go higher from here". Based on that opinion and some other factors, you might start buying, or you might pass. But still, it is just an opinion, which is going to change if you observe that your initial opinion was wrong - unless you are very stubborn and would rather blow up your account than change your opinion. Maybe we are just talking semantics here, but we both actually mean the same thing, so ...

Yes, this I agree that this is about semantics. But "will probably go higher" is a prediction. If something is an opinion or a prediction doesn't say anything about the reliability of its message. An opinion may prove perfectly correct and a prediction may be completely wrong, or vice versa, just as both need to be discarded if wrong.

Any expectation that extends the least bit into the future, even if immediately rejected by the millisecond upon arrival of contradicting new information, is a prediction, no less than if I come to the same opinion by aid of a neural network.

But I guess we both understood each other's perception and probably can end this here.

 
Chris70:
For proving the point, it's not important however complicated this formula h(x) looks; what counts is to accept that such a formula exists. But this also means that h(x)=^y, which is no different than our first step. We basically still have the same model.

So the only thing that has changed is the pathway of the calculation that get's us to the "perfect" formula, not this formula itself, not the constants x and ^y, not the outputs, not the location of the error minimum.

Are you saying that ANY math formula "f(x,y,z)", no matter how complex, can be written as a combination of additions and/or multiplications using only "x", "y", "z" with a set of fixed values and one specific "activation" function? Any formula? How about decision branching and formulas like SIN/COS/TAN/ARC/EXP? Can you replicate ANY combination of these by using a single ANN?

 
NELODI:

Are you saying that ANY math formula "f(x,y,z)", no matter how complex, can be written as a combination of additions and/or multiplications using only "x", "y", "z" with a set of fixed values and one specific "activation" function? Any formula? How about decision branching and formulas like SIN/COS/TAN/ARC/EXP? Can you replicate ANY combination of these by using a single ANN?

Yes.

Only condition: the activation function needs to be a non-linear one.


EDIT: I'd say: challenge accepted.

Suggestion: you brainstorm a fancy function and name a random activation function of your choice and I will reply with a short program as an .ex5 file to watch the convergence live (with random input values x and comparing the outputs to the expected real values).

I have most of the code I'd need for that ready, so this should take only a few minutes.

 

Well.. I do not call a fish a bird. 

In my case it does like i wrote, observe the current state and either returns true / false depending whether or not it recognizes what is has been trained on. There is no probability involved as i am not using softmax activator. It does not predict. Basically it is a boolean classifier. 

BTW, posting .ex5 is not conform forum rules. Perhaps send to @NELODI trough private message.