<div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)">​Hello all,</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)"><b>TL:DR - Neural Network module is out of date. Also, I'm having an issue with the unit test for the "testseq" function. </b></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)">Just a quick question about the Neural Network module. The module seems just a bit out of date. It only has one available activation function and it's located in <b><a href="http://biopython.org/DIST/docs/api/Bio.NeuralNetwork.BackPropagation.Layer-pysrc.html">the BackPropagation.Layer module</a></b> for some reason.</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)"><img src="cid:ii_15c80f1c42faa965" alt="Inline image 2" width="454" height="101"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)">Machine learning research is progressed pretty far, and no one is really using the logistic function as much anymore. The big thing now, especially for hidden layers is ReLU, or at the very least TanH, both of which are no where to be found in the code. That's not to say that the logistic function shouldn't be included, but it should definitely not be the only option. The binary step function should also definitely be included - if only for output layers.</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)">Really, there should be a module <i>just</i> for activation functions. <a href="https://en.wikipedia.org/wiki/Activation_function#Comparison_of_activation_functions"><b>And it should include all of them.</b></a></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)">It's not that difficult, its really just a matter of plugging an argument into a mathematical formula and returning the result. It might be prudent to have an "Activation" class with each of the activation formulas as a method of the class. Though, the backprop code would have to refactored to account for that.</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)">Anyways, just a thought. I'd love to participate on that project, though it would have to be a community effort. </div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)">I've also written a <b><a href="https://github.com/Adil-Iqbal/biopython/blob/master/Tests/test_testseq.py">unit test for the testseq function</a></b> called test_testseq.py. However, it is failing the Travis CI tests because it is unable to import testseq.py from the Scripts directory. I attempted using both relative and absolute imports (<a href="https://www.python.org/dev/peps/pep-0328/"><b>PEP328</b></a>) but that did not work. I am actively looking for a solution, though I would appreciate any advice you guys could give me. (A pull request might be more efficient way clue me in than actually explaining the concept.)</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)">Also, I've finalized the code for testseq. The seeding worked perfectly, but it was acting too much like a method and not enough like an argument. I had some of my younger cousins use it and they were a bit confused by how the seeding worked. Since the folks who would use the code are most likely students, teachers, and presenters (not necessarily Python experts), I decided to revert to an earlier solution. In this case, it is fair to trade a bit of elegance for easier intuitiveness.<br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)">Thanks again,</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)">Adil</div></div>