Estimate Diablo 3 auction value
GoogleCodeExporter opened this issue · 7 comments
GoogleCodeExporter commented
Since the forum seems dead so do I use this instead.
Is it possible to input Diablo 3 auction data into simbrain to later try and
estimate an auction value for an item?
Say like the data is something like this:
Type,Quality,ILvl,Str,Dex,Int,Vit,...,Gold
Crossbow,Rare,61,100,50,0,0,...,10000
CrossBow,Rare,63,0,75,198,0,...,8000
Dagger,Legendary,52,100,0,100,0,...,20000
....
and so on.
And then I find an item and want to get an estimated gold value, so I input
somewhere the type, quality, ilvl and stats,
Is this possible in simbrain? And if so, how?
Original issue reported on code.google.com by khelat...@gmail.com
on 14 Sep 2012 at 3:27
GoogleCodeExporter commented
Hi there. This looks like a standard backprop application, and could be set
up as you describe. I can help you do it. But a few notes. First, I'm
pretty busy for the next few weeks so I hope you don't mind waiting. Second,
one of the first things I'm going to do when my schedule clears a bit is upload
Simbrain 3 beta, which is incompatble with the current releases. We should do
this using the beta version. Third, Simbrain does not currently have a very
fast version of backprop implemented, so you might be able to find something
faster on the web.
Original comment by jeffyosh...@gmail.com
on 15 Sep 2012 at 5:05
- Added labels: Type-Task
- Removed labels: Type-Defect
GoogleCodeExporter commented
Original comment by jeffyosh...@gmail.com
on 16 Sep 2012 at 7:19
- Changed state: Accepted
GoogleCodeExporter commented
Below are some notes on how to do this. Let me know if this helps or if you
have follow up questions.
Note that some of what I describe here is also covered in the documentation
"Examples" page, which you can get to by clicking the "Examples" link on the
first page of the docs.
- Add a neural network using the New Network button
- Go to Insert > New Network > Backprop
- For Topology use (as an example) 5,10,1 to make a feed-forward network with 5
input nodes, 10 hidden nodes, and 1 output node. The inputs correspond to
ILvl,Str,Dex,Int,and Vit. More can be added as needed. To use Type and
quality you'd have to convert them in to numeric values, e.g. an integer index
for different types. The output will correspond to an estimated auction value.
- Right click on the backprop tab and go to "edit combined data"
- Enter the relevant data into the Edit Data dialog. The left side of this
dialog takes input data. The right side takes output data. The idea is that
we will train a network to associate the various attributes of an object (input
data) with auction values (training data). We will train the network on known
cases, and then after doing that, use the network to estimate auction values
for new cases.
- In your example, each row will correspond to one item. The columns
correspond to the various attributes (ILvl,Str,Dex,Int, etc). The column on
the right is the auction value.
- Ok, so now you've entered all this data (you can save your data using the
"save data" button on either side of the dialog). Now it is a good idea to
normalize the data, so the network is only dealing with values between 0 and 1.
To do this, right click on each side of the dialog, and select Normalize >
Normalize Table.
- Now you can train the network. To do this close the edit data dialog, right
click on the backprop tab, and select "Train backprop net...". A training
dialog will open.
- Press run in the training dialog This runs the backprop algorithm, which
adjusts the weights to try to achieve the desired input-output mapping. As
the trainer runs, the error should go down. Once the error gets to an
acceptable level (often something below .1), press the stop button. If you
have trouble getting a low value you can press the randomize button and try
again. You can also click on properties button and raise the Learning rate to
1, or even a larger value. Or in some cases the error can never go below a
certain theshold for a given input-output mapping.
- If you are able to get a suitably low error, save the network, and you can
use it to estimate values, by plugging in input values, and reading off the
value of the output node. You will have to convert the input and output values
to and from normalized values.
Original comment by jeffyosh...@gmail.com
on 4 Oct 2012 at 8:27
GoogleCodeExporter commented
[deleted comment]
GoogleCodeExporter commented
Quoting from the comp.ai.neural.net FAQ, "In most situations, there is no way
to determine the best number of hidden units without training several networks
and estimating the generalization error of each." As a first guess I
sometimes just double the number of input units.
For more discussion see
http://www.faqs.org/faqs/ai-faq/neural-nets/part3/section-10.html#b
Thanks for beta testing. Let me know about bugs or usability issues you run in
to.
Original comment by jeffyosh...@gmail.com
on 5 Oct 2012 at 4:48
GoogleCodeExporter commented
Should have closed this long ago....
Original comment by jeffyosh...@gmail.com
on 28 Jun 2014 at 11:09
- Changed state: Done
GoogleCodeExporter commented
Thank you, and I think that I only have one more question after reading all
that.
Should the hidden nodes always be the double of input nodes? If I increase
input nodes to 7, should I also increase hidden nodes to 14?
Original comment by khelat...@gmail.com
on 5 Oct 2012 at 5:41