verne.freenode.net changed the topic of #mlpack to: http://www.mlpack.org/ -- We don't respond instantly... but we will respond. Give it a few minutes. Or hours. -- Channel logs: http://www.mlpack.org/irc/
mentekid has joined #mlpack
mentekid has quit [Ping timeout: 276 seconds]
marcosirc has quit [Ping timeout: 258 seconds]
marcosirc has joined #mlpack
govg has quit [Quit: leaving]
gtank_ has joined #mlpack
gtank has quit [Ping timeout: 252 seconds]
gtank_ is now known as gtank
mentekid has joined #mlpack
mentekid has quit [Ping timeout: 240 seconds]
mentekid has joined #mlpack
mentekid has quit [Ping timeout: 260 seconds]
govg has joined #mlpack
JMarler has joined #mlpack
< JMarler>
Hi all, Not sure whether this is a reasonable request but I wonder if anyone is able to help me out working out where I should place log calculations in a naive bayes ?
< JMarler>
I have implemented my own variation on the Naive Bayes in mlpack as I need a version that is suitable for realtime use and doesn't malloc / create temporaries in the train or classify routines.
< JMarler>
Would anyone be able to take a quick look over my Classify() method and offer some quick advice or point our if I am doing anything wrong ? So far it's working with a few basic test but I am not yest using log probablities in my classic Gaussian distribution algorithm. Suspect doing so would improve accuracy ?
< JMarler>
The link to the code / Classify() method on github is below. Would massively appreciate it if anyone can offer some advice. I'm a little confused as to where to place my arma::log() calls etc.
< JMarler>
If anyone notices any major mistakes in logic feel free to point them out. I haven't looked into any optimisations yet so not too worried if my implementation isn't perfect yet.
< JMarler>
Please let me know if this is not an appropriate discussion for the mlpack chat channeland I will take it elsewhere to stackoverflow or similar. Thanks
< JMarler>
Have a feeling I'm not taking the log of the distribution and prior probs correctly.
< rcurtin>
JMarler: let me take a look, I am happy to help :)
< JMarler>
Awesome thanks a bunch Ryan
< JMarler>
I took a good pour through armadillo after our last conversation in regards to it being suitable for a real-time audio thread and I'm reasonably confident that thanks to it's rather flipping good use of expression templates none of the calls/operators I am using from armadillo are resulting in temporaries of memory allocations.
< rcurtin>
yeah---it is very complex to read, but it does a good job of avoiding temporaries
< JMarler>
Just a little unsure as to whether I've made any glaring errors at this point. Not entirely sure my log calls are in the right place on the distribution and prior prob values
< JMarler>
it seems to be working and is classifying accurately in the small tests I've done so far
< JMarler>
I've not put it into an audio context as of yet.
< JMarler>
I'm trying to work out whether I should have called log() on the variances etc.
< rcurtin>
I think that you can take the 'exponents' vector and avoid calling stexp() on it
< rcurtin>
er, "exp()", not "stexp()", oops
< rcurtin>
I think then you would need to adapt the expression on the following line where the probabilities are divided by stdDev
< JMarler>
because taking the log() of the exponents vector makes the exponential operation irrelevant you mean ?
< JMarler>
Sorry touch lost
< rcurtin>
right
< rcurtin>
I think you can just simplify the calculation somewhat by avoiding that exp() call
< rcurtin>
but I think the calculation itself is correct
< JMarler>
Ahhh ok I'm with you
< rcurtin>
if you like, you can take some of the test cases from src/mlpack/tests/nbc_test.cpp and test your code with them
< JMarler>
Brilliant. Thanks a lot for the help Ryan it's much appreciated.
< rcurtin>
sure, glad to help out :)
< JMarler>
Great thanks for the tip. I'll build a unit test around those
< JMarler>
Cheers Ryan
JMarler has quit [Quit: Page closed]
< marcosirc>
Hi
< marcosirc>
I have some problems with continuous integration in the PR of Spill Tree.
< marcosirc>
AppVeyor seems to have an external error: "MSBUILD : error MSB4017: The build stopped unexpectedly because of an unexpected logger failure."
< rcurtin>
marcosirc: it seems this happens often
< rcurtin>
I can restart the build, and we can see if it happens again
< rcurtin>
or if you have more commits to push, that will restart the build too
< marcosirc>
Ok. Could you restart the build? I don't have a commit to push now.
< marcosirc>
I want to make sure appVeyor build success. I think it has some problem with template aliases.
< marcosirc>
So, I would be grateful if you could restart the build, so I can see the log file and try to understand what is going on :)
< rcurtin>
ok, let me do that
< rcurtin>
ok, let's see if it does better this time...
< marcosirc>
Ok, thanks!
marcosirc has quit [Ping timeout: 244 seconds]
marcosirc has joined #mlpack
< rcurtin>
marcosirc: I am not using fast enough internet to check why the appveyor build failed; was it another unexpected logger failure?
< rcurtin>
if so I will restart it again and we will see if it is better behaved...
< marcosirc>
rcurtin:
< marcosirc>
this time is the problem with alias templates.
< marcosirc>
So, I have the information that I need! The only problem is that I don't have any idea how to fix it! haha. I will continue thinking on the reason of that error.
< marcosirc>
So, it is not necessary to restart appVeyor again.
< rcurtin>
yeah, sometimes the windows build can be difficult to debug...
marcosirc has quit [Ping timeout: 250 seconds]
marcosirc has joined #mlpack
< zoq>
marcosirc: Looks like we have to restart the build again.
< rcurtin>
ok, I hit the re-build PR button :)
< zoq>
I did same :)
< rcurtin>
hm, okay, I guess we get to see if it builds it twice then
< marcosirc>
thanks!
< rcurtin>
I pushed what may be a fix for the unexpected logger failure in a1ec622
< zoq>
I think, the custom appveyor logger is only used to process the messages for the web view, not sure if anyone ever looked at the messages tab.
< rcurtin>
hm, I only ever looked at the console output
< zoq>
I download the log file since it takes a long time to scroll down and to load the complete console output at least in chrome.
< rcurtin>
hm, that is a good idea!
< marcosirc>
yeah! I generally download the log file too.
< rcurtin>
I usually just load the tab, go back to what I was doing, and then 20 minutes later when I remember 'oh right I was looking at build output' I switch back to it :)
< zoq>
marcosirc: hm, it looks like if you build with DEBUG=OFF the build is fine, let's see if I can reproduce the error with DEBUG=ON
< marcosirc>
rcurtin: Haha. It really drives me crazy having to wait until it loads all the log.
< marcosirc>
zoq: do you mean the appVeyor failure on Spill Trees PR?
< zoq>
marcosirc: yes
< rcurtin>
I set the verbosity to 'minimal' in the changes I pushed, so maybe that will help
< rcurtin>
I hope that doesn't make the build _too_ quiet :)
< marcosirc>
zoq: mm, it is weird! I don't know why that's happening. Thanks, any help is welcome! :)
travis-ci has joined #mlpack
< travis-ci>
mlpack/mlpack#1376 (master - a1ec622 : Ryan Curtin): The build passed.