BookmarkSubscribeRSS Feed
Danielmastah
Fluorite | Level 6

Hello.
How does direct activation function work? What is the mathematical formula for it? I have found in documentation (https://documentation.sas.com/?docsetId=emref&docsetTarget=n1rk56ji9xtxxnn1q40urbumsno3.htm&docsetVe...)
that every other available activation function has its math formula except direct activation function. It is very important for me, because autoneural node decided that direct activation function is the best for my model.

Thanks in advance!

6 REPLIES 6
koyelghosh
Lapis Lazuli | Level 10

Will you please post a few rows of your input and target columns (only if you can)? Are they very much alike?

Danielmastah
Fluorite | Level 6

Thank you very much for quick answer. I attach head of my dataset in variables.pdf


My model is used for "solving" preflop ranges in No Limit Texas Holdem Heads Up game (1v1)

The database is pretty big, it consists of 6.5kk observation (hands). The target variable is Result and it is Interval Variable.

Input data:
Hand - Nominal variable, possible 169 combinations (possible combination of 2 cards that are dealt to player in game);
Action - Nominal variable, possible 12 combinations (12 possible lines of betting pattern in game);
VPIP, WTSD_, W_WSF_PFR_VPIP_Ratio - interval variables, that describe the playing style of opponent in current Hand, some values are repeatable as you can see, because some hands were played versus the same opponent.

Actually I do not think that any input variable is similiar to target. More than 99% of dataset has target variable (Result) in interval [-50,50]


 

 

koyelghosh
Lapis Lazuli | Level 10

@DanielmastahThank you for your response. Yours is a very good question. I also don't know what exactly is a direct activation function. May be somebody from SAS staff or a SAS expert can answer this to clarity. I had a guess for Direct activation function. I thought that your Input and Target variable are very close to be same but it appears you have many input variables and thus my initial guess is shredded to pieces.

However I noticed one thing about the data (for the rows that you provided). VPIP, WTSD_, W_WSF_PFR_VPIP_Ratio: These interval variables change as a block. All four are one kind or the another. There is no variation.I have color coded the rows in two colors based on what is a row "block" of four interval variables look like. Please double check, I have done it in a hurry. I might be wrong.

Color coded Interval variables blockColor coded Interval variables block

Of course the other variables of Hand and Action are differing but may be overall if you analyze the entire dataset there are only specific set of rows that are getting repeated (if you extend it to all 6 input variables and 1 output variable). You can check for it by using the code below to see if the number of rows in the output drastically reduce from 6.5kk observations.

 

PROC SORT DATA=have NODUPRECS;
        BY Hand Action Result VPIP WTSD_ W_WSF PFR_VPIP_Ratio;
RUN;

May be this is what is causing the Direct activation function to appear. However this is all my guess and that too based on limited rows I saw.

Please let us know, if and when you find the answer to the question you posted. It will be very helpful to others.

Danielmastah
Fluorite | Level 6

Thank you for answer.

One of aims of my model is introducing strategy of betting, depending on opponent's playing style. I am absolutely aware that these 4 statistics are repeatable in blocks. These statistics describe playing style of player and as you have noticed: in first 31 observations there occur only 2 players. But I assure you that my database covers thousands of players (blocks) and it is due to nature of data and methodology I am trying to introduce.

 

I promise that I will let you know if I find an answer to question. If I do not, I will use Tanh activation function which just works only slightly worse than Direct activation function. I have to do it because I need to describe my whole modelling precisely because that is part of my master's thesis. Maybe there is a way to contact Tech Support because, in my opinion, documentation misses that very important information about Direct activation function. 

koyelghosh
Lapis Lazuli | Level 10

Yes tanh is the way to go. It is well established. By any chance did you see ReLU or lReLU anywhere.? I did not see in the extensive documentation link that you shared. But it could just be me. I am sure it should be somewhere.

Best wishes for your thesis.

koyelghosh
Lapis Lazuli | Level 10

Just a thought! Will randomizing the dataset (before feeding into NN) make the direct function disappear? May be SAS is already doing it internally so no worries there most likely. However for the sake of inquisitiveness you can try that too (when you and your computer have some time to spare).

sas-innovate-2024.png

Available on demand!

Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.

 

Register now!

How to choose a machine learning algorithm

Use this tutorial as a handy guide to weigh the pros and cons of these commonly used machine learning algorithms.

Find more tutorials on the SAS Users YouTube channel.

Discussion stats
  • 6 replies
  • 1230 views
  • 2 likes
  • 2 in conversation