One of the hottest computing topics today is in the field of Artificial
Intelligence, particularly focused around Machine Learning. Tens of
thousands of people are taking free courses on the subject online. Some of
the most popular courses are Coursera's online Machine Learning
<https://www.coursera.org/course/ml> course, taught by Andrew Ng, Stanford,
or Neural Networks for Machine Learning
<https://www.coursera.org/course/neuralnets>, taught by Geoffrey Hinton, U
of Toronto.

The most amazing thing is that these courses are free, though you may have
to pay a nominal fee if you want a verified certificate of course
completion.

I took Andrew Ng's
​online ​
ML course, and
​found that ​
it was an excellent introduction to basic ML algorithms,. The programming
language that was used in the course and required for all the homework
​​
was
​Octave, the open source version of the ​
Mat
​​
lab
​ language.

​Quote from student:
*"​I've just started learning Octave today because I'm currently studying
Machine Learning <https://www.coursera.org/course/ml> and the teacher
recommended learning Octave (because it's free, because MATLAB is
expensive, and because the student will be much more productive getting the
machine algorithm to work by first using either Octave or MATLAB first,
then once its working, then switch to either Java or C++)"​*

This is exactly what Andrew Ng says about Octave in his video lectures.

I found the Octave language handles arrays similar to J, though with not
nearly as regular a syntax as J. Knowing APL and some J made the homework
much easier for me to code, though some of the Octave constructs were quite
different from J.

I believe that te Octave/Matlab language was used in the course mainly
because many of the early researchers developed the original algorithms in
that language, and the Matlab algorithm source was was much more concise
and easier to work with than other more scalar languages. There are many
websites <http://css.dzone.com/articles/gradient-descent-octave> that show
various ML algorithms using Octave, and there are open-source Matlab ML
code projects for most of the key ML algorithms. Recently, R & Python have
developed fairly extensive Machine Learning libraries in those languages.

If you want to promote J, you need to show how J solves problems in a hot
field like AI, better, faster, or more concisely than other languages. That
is essentially how Octave/Matlab ​got thousands of students learning the
language. I was tempted to try to code some of my ML homework assignments
in J, but the time pressure of the weekly assignments as well as other
obligations, prevented that exercise.

Skip

Skip Cave
Cave Consulting LLC


On Tue, Aug 26, 2014 at 11:28 AM, Raul Miller <[email protected]> wrote:

> J has a number of elements in it which are slanted towards educational
> contexts.
>
> For example, >> and <: despite already supporting 1&+ and -&1.
>
> For example, p. despite already supporting #. (and more complicated
> expressions).
>
> For example, +/ .* despite APL offering the more concise +.x
>
> And so on...
>
> And we have a few really great labs and books. But what we do not have are
> extended treatments of topics. There's a lot going on in biology, for
> example, and we're not even trying there. We could be doing much better in
> physics simulations, graphics rendering, and so on.
>
> Anyways, we should also keep in mind that on the other side of the fence we
> have a lot of teachers struggling with the other side of these same issues.
> See, for example:
>
> http://cacm.acm.org/magazines/2014/8/177020-why-the-us-is-not-ready-for-mandatory-cs-education/fulltext
>
> I often feel that it's like we are not even trying to come up with anything
> to offer them.
>
> But it's so easy to get caught up in other issues, I guess I understand
> that.
>
> But I am not sure that that makes it right.
>
> Thanks,
>
> --
> Raul
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
>
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to