Machine Learning for Dummies

We are the Borg.
User avatar
xouper
Posts: 7728
Joined: Fri Jun 11, 2004 4:52 am
Location: HockeyTown USA
Has thanked: 149 times
Been thanked: 55 times

Machine Learning for Dummies

Postby xouper » Thu Jul 06, 2017 5:47 am

Billionaire Mark Cuban says never stop learning:
Here are the 2 things he is studying now

Catherine Clifford, Tuesday, 27 Jun 2017 | 1:53 PM ET

http://www.cnbc.com/2017/06/27/the-2-things-mark-cuban-is-learning-now.html

Excerpt:

Currently, Cuban is taking a Python computer programming class on his phone, he says.

The tech billionaire lives on his phones — he carries two. He largely avoids taking meetings in person or on the phone and conducts as much of his business as he can through email.

"If I'm sleeping six, seven hours and working out one hour, there's another 16 hours that I have access to my phone," he says.

In addition to brushing up on his computer programming skills, Cuban says he is reading the book, Machine Learning for Dummies.


:o :o :o

OK, consider that's advice from a non-programmer for other non-programmers.

Python is my favorite language these days. I'm using it in my research (in digital audio signal processing). However, as a professional software developer, I can't recommend learning to program on a phone. You have to actually write code to learn, and phones are not exactly the best software development platform. I suppose it might be OK for the casual learner who does not intend to become a professional code monkey.

In any case, I applaud Cuban for advocating lifelong learning. But still, reading any of the "for Dummies" books? :o :o

Image

On the other hand, perhaps Cuban's endorsement of the book will give other people (who might otherwise not have a clue) the courage to go read about machine learning, and in that context, I suppose anything is better than nothing.

More excerpt:

"Whatever you are studying right now if you are not getting up to speed on deep learning, neural networks, etc., you lose," says Cuban. "We are going through the process where software will automate software, automation will automate automation."


Software development is already highly automated, in the sense that today's tools do far more of the grunt work than when I started 30 years ago. In fact there are tools today that can write trivial kinds of apps without requiring much programming experience.

However, if you want something more than trivial, writing software becomes a hard problem and (speaking from my first hand professional experience) I am highly skeptical that computers will put software developers out of a job in the foreseeable future. Maybe eventually, but that will be long after I'm dead.

Example: Consider the software that flies an Airbus 320 like the kind that landed in the Hudson river a few years ago. What was not widely reported at the time was that in the last few seconds before hitting the water, the software took control of the plane away from the pilot, causing it to crash into the water at a speed exceeding its design limits for water landings, which is presumably why the belly ripped open and flooded the airplane faster than necessary. Had the pilot been allowed to keep control of the airplane and fly it as he wanted, there's a good chance that would not have happened. That is the kind of thing that makes writing software a hard problem. I'm just sayin'.

However, kudos to Mark Cuban for lifelong learning. I endorse that wholeheartedly.

User avatar
xouper
Posts: 7728
Joined: Fri Jun 11, 2004 4:52 am
Location: HockeyTown USA
Has thanked: 149 times
Been thanked: 55 times

Re: Machine Learning for Dummies

Postby xouper » Mon Jul 10, 2017 1:08 am

He could have done it other way around, taken a course on machine learning on his phone, and learned about programming from a dummies book:

Image


So maybe I'm overthinking what he is doing and he was merely trying to show by example how readily accessible lifelong learning can be.

User avatar
Abdul Alhazred
Posts: 66413
Joined: Mon Jun 07, 2004 1:33 pm
Title: Yes, that one.
Location: Chicago
Has thanked: 2044 times
Been thanked: 870 times

Re: Machine Learning for Dummies

Postby Abdul Alhazred » Mon Jul 10, 2017 9:31 am

A poor (or in this case middle class) man's profession may be a rich man's hobby.
Image "If I turn in a sicko, will I get a reward?"

"Yes! A BIG REWARD!" ====> Click here to turn in a sicko
Any man writes a mission statement spends a night in the box.
-- our mission statement plappendale

User avatar
ed
Posts: 30998
Joined: Tue Jun 08, 2004 11:52 pm
Title: Rhino of the Florida swamps
Has thanked: 361 times
Been thanked: 599 times

Re: Machine Learning for Dummies

Postby ed » Mon Jul 10, 2017 10:57 am

Cuban invests in many things. What he brings to the table are his connections and ability to promote.

Draw your own conclusions, sheeple.
- new minimalist ethos -

User avatar
Rob Lister
Posts: 19051
Joined: Sun Jul 18, 2004 7:15 pm
Title: Incipient toppler
Location: Hiding under ed's bed
Has thanked: 491 times
Been thanked: 489 times

Re: Machine Learning for Dummies

Postby Rob Lister » Mon Jul 10, 2017 11:02 am

ed wrote:Cuban invests in many things. What he brings to the table are his connections and ability to promote.

Draw your own conclusions, sheeple.


He bought a controlling interest in the For Dummies franchise?

User avatar
ed
Posts: 30998
Joined: Tue Jun 08, 2004 11:52 pm
Title: Rhino of the Florida swamps
Has thanked: 361 times
Been thanked: 599 times

Re: Machine Learning for Dummies

Postby ed » Mon Jul 10, 2017 11:03 am

Dunno. Which is more likely though: Cuban spends his time on learning Python or on hookers and blow.

Rest my case.
- new minimalist ethos -

User avatar
ed
Posts: 30998
Joined: Tue Jun 08, 2004 11:52 pm
Title: Rhino of the Florida swamps
Has thanked: 361 times
Been thanked: 599 times

Re: Machine Learning for Dummies

Postby ed » Mon Jul 10, 2017 11:11 am

xouper wrote:
Software development is already highly automated, in the sense that today's tools do far more of the grunt work than when I started 30 years ago. In fact there are tools today that can write trivial kinds of apps without requiring much programming experience.



I wrote all of my company's code about 30 years ago and I wonder about your comment above. I have really been away from programming for ages and I wonder how the "grunt work" is specified? Can you elaborate?
- new minimalist ethos -

User avatar
xouper
Posts: 7728
Joined: Fri Jun 11, 2004 4:52 am
Location: HockeyTown USA
Has thanked: 149 times
Been thanked: 55 times

Re: Machine Learning for Dummies

Postby xouper » Mon Jul 10, 2017 11:31 am

ed wrote:
xouper wrote:Software development is already highly automated, in the sense that today's tools do far more of the grunt work than when I started 30 years ago. In fact there are tools today that can write trivial kinds of apps without requiring much programming experience.


I wrote all of my company's code about 30 years ago and I wonder about your comment above. I have really been away from programming for ages and I wonder how the "grunt work" is specified? Can you elaborate?


Revision management, regression testing, automatic syntax and type checking, debugging aides, code coverage metrics, and a bunch of other stuff that doesn't immediately come to mind. Is that what you were asking?

User avatar
ed
Posts: 30998
Joined: Tue Jun 08, 2004 11:52 pm
Title: Rhino of the Florida swamps
Has thanked: 361 times
Been thanked: 599 times

Re: Machine Learning for Dummies

Postby ed » Mon Jul 10, 2017 11:49 am

Well, say I want to write a program (this was actually a project that I wanted to do with a museum, never got off the ground) that compares a fingerprint of an image of a makers mark on a piece of armor to a database. Specifics are interesting but not important to this discussion. I would rescale an image and, lets say, average the gray over areas that represent 100th or 1000th of the area (I proposed to determine this empirically by degrading images and seeing if they would be identified with the original). I would then compare that array to those of images in the database. One could develop a correlation (actually that would work) and then report the matches. There are other cute things one could do but that is the nubbin.

My approach would be alot of nested loops and a correlation subroutine. Maybe, with the I/O, 200 lines? Less?

How would it be done by a real programmer (I am self taught, picked up Basic in Grad school and moved on to eBasic which worked admirably for me)
- new minimalist ethos -

User avatar
xouper
Posts: 7728
Joined: Fri Jun 11, 2004 4:52 am
Location: HockeyTown USA
Has thanked: 149 times
Been thanked: 55 times

Re: Machine Learning for Dummies

Postby xouper » Mon Jul 10, 2017 12:05 pm

Are you asking me how I would design the algorithm?

I don't have any experience with image recognition or content analysis, so I would have to do some research and experimenting. A lot has already been done with face recognition, for example, so you could borrow algorithms from that, I assume.

Or you could incorporate an existing API such as this one:

https://cloud.google.com/vision/

I'm not sure if that answers your question?

User avatar
ed
Posts: 30998
Joined: Tue Jun 08, 2004 11:52 pm
Title: Rhino of the Florida swamps
Has thanked: 361 times
Been thanked: 599 times

Re: Machine Learning for Dummies

Postby ed » Mon Jul 10, 2017 12:08 pm

Well, you said that the "grunt work" is automated. How would such automation work in this case?
- new minimalist ethos -

User avatar
xouper
Posts: 7728
Joined: Fri Jun 11, 2004 4:52 am
Location: HockeyTown USA
Has thanked: 149 times
Been thanked: 55 times

Re: Machine Learning for Dummies

Postby xouper » Mon Jul 10, 2017 12:39 pm

ed wrote:Well, you said that the "grunt work" is automated. How would such automation work in this case?


I know of no automation that would help you design the algorithms and write the code for you. That is in fact the hardest part of the development process and I'm guessing it will be a long time before that aspect is automated. The other hard part, sometimes, is finding bugs.

Part of the grunt work is keeping track of the methods and attributes of your code objects. Today's smart editors make that object information available automatically as you type in your code (for example, by automatically offering a drop down list with all the available options when appropriate). Think of it as a sort of auto-complete for your objects. In the old days, you had to keep track of those details in your head or look it up in the documentation. Stop me if you already know all this.

User avatar
ed
Posts: 30998
Joined: Tue Jun 08, 2004 11:52 pm
Title: Rhino of the Florida swamps
Has thanked: 361 times
Been thanked: 599 times

Re: Machine Learning for Dummies

Postby ed » Mon Jul 10, 2017 1:27 pm

I am knowledgeable about "the old ways". I regularly bore the whippersnappers. I am formidable with my recondite and useless knowledge.

I think I understand. Sometimes I see things like transcribing transactions from checking to quickbooks and I say "shit, I could write a program" then I catch myself. Because that, as you know, is a rabbithole.
- new minimalist ethos -

User avatar
xouper
Posts: 7728
Joined: Fri Jun 11, 2004 4:52 am
Location: HockeyTown USA
Has thanked: 149 times
Been thanked: 55 times

Re: Machine Learning for Dummies

Postby xouper » Mon Jul 10, 2017 2:01 pm

ed wrote:I am knowledgeable about "the old ways". I regularly bore the whippersnappers. I am formidable with my recondite and useless knowledge.

I think I understand. Sometimes I see things like transcribing transactions from checking to quickbooks and I say "shit, I could write a program" then I catch myself. Because that, as you know, is a rabbithole.


Indeed. Why re-invent the wheel when you can buy one much cheaper.

That reminds me . . . a friend of mine who is not a programmer (but fancies himself significantly smarter than everyone around him) announced the other day that he wants to write a program to help him manage his finances.

I suggested he might be better off spending 50 bucks and buying Quicken or something equivalent.

But he persisted with defending his fantasy (of underestimating the work involved and overestimating his skill as a programmer), so I gave it to him straight. I said he would spend at least a hundred hours (I was deliberately underestimating) to write something that would be nowhere near what Quicken can do, but worse, he would have no assurance that his program would be sufficiently reliable to trust his finances with. It simply makes no economic sense. On top of that, he readily admits (no, boasts, actually) that he is a "big picture" person and does not bother with pesky details. I told him that writing a program is not just about the big picture but also about getting all the little details exactly right and that's not something he's very good at.

His response: "We'll see."

Yes we will, assuming he ever does it, which based on his track record might be sometime before the Sun goes nova.

Nonetheless, I told him I would be willing to help him if he runs into trouble or has questions. I volunteered to do this because I think it will be a good learning experience for him. And perhaps a great humbling experience as well. :twisted:


Return to “Science, Mathematics & Technology”

Who is online

Users browsing this forum: CCBot [Bot] and 0 guests