Rage Against the Algorithms
theatlantic.com
theatlantic.com
This also explains why I personally do not find machine learning satisfying. It's obviously very useful, and I'm not making a judgement about the field, but I just find solving a problem with machine learning to often feel empty. You get a solution, sure, but you get no additional insight on the problem itself. And I'm often far more interested in this insight than in any given problem itself.
I certainly find the underlying principles fascinating, but that fascination usually does not translate to whatever field machine learning is used for. Writing a system for identifying cat pictures will teach you quite a bit about "identifying", but not very much about cats.
Ultimately, all this just means that you have to pay attention to what your machine learning algorithm is doing right now, even if you understand the algorithm itself really well.
A related problem is that many (most?) machine learning algorithms cannot tell you WHY they make the decisions or classifications that they do. Suppose you are a bank, using a neural net to decide on credit applications, and the net turns down an applicant. You are required by law to tell them why they were denied credit.
How do you do that for a neural net?
I can think of one way: try tweaking their application until it passes, and then derive an explanation from that. For instance, if you find that they would pass if they made $20k/year more income, you tell them they were rejected because their income was too low. I have no idea if that would be sufficient to satisfy the legal requirements, though.
a) Yes, SUPER green
b) Yes, Green
c) mmmmmmmmmmmmmmmmyeah, ok, but watch this guy
d) please review manually
e) no, too many other loans
f) no, but maybe yes, with more collateral
g) no, convicted felon
h) no, unemployed
i) no, your wife has a billion loans
j) no, insufficient money down
k) ...
(there's like 300 or so different reasons in practice)
So the inputs to the neural net would be all the information you know about the applicant, appropriately encoded. Then you sprinkle hidden layers to personal taste, and the output layer would be a->i binary neurons.
edit: Just to clarify, for banks it doesn't make sense (in my mind) to train a classifier based on a bank manager's past decisions. I would train a regression based on the historical default rates, so the algorithm would predict the probability of the client defaulting on the loan.
In practice all the parameters will fire to some extent, right. You need some function to resolve it. Generally people start out by giving the "no's" preference, then you switch to something more complex, then some product manager suddenly declares the law: give "yes" preference.
So the output of that network will be a) 15.15% b) 74.3% c) 55% d) ... and so on. The highest values are considered and some function chooses from that.
It's how it works in the human brain as well, but the solution that wins is the one that gets control of the brainstem. Generally being the first to respond is pretty much guaranteed to get you control, but something else may override you later. The human mind, in reality, is not a single whole, but is ~300 separate minds that could, if it were necessary, operate alone. Each of those is constantly coming up with responses to inputs, and they're all linked through the brainstem, which is also the link to the rest of the body (except the eyes, which are only input to ~6 of them, and the ears, which also are connected directly to ~6 of them. That seems to be to enable brain-eyes bandwidth to be ~100000 times more than all the bandwidth it has to the body, and brain-ear bandwidth ~100 more).
AI is hard and people who know both a lot about statistics, AI and programming AND a lot about, say insurance claims, well good look finding them. People with good knowledge about insurance claims and good knowledge of excel, they're, well, not a dime a dozen, but certainly much easier to find.
I have certainly (sometimes) been able to build insights using (some) machine learning approaches, but it depends a lot on having the time, the resources, and the right organizational culture in place. Unfortunately, a lot of people approach machine learning algorithms expecting a magic bullet; attracted by the hyperbole, so the self-deception starts even before a line of code is written.
Doubly-unfortunately, these people are usually the ones offering the highest salaries for "data scientists" and "big data engineers". Like most work of consequence, the mundane outweighs the exciting by a ratio of at least 10:1. Obtaining and cleaning the data, understanding what is missing, the sampling biases that are present, testing and training the algorithms, all of these things are deeply important and seemingly mundane; yet it is these very activities that help to build deep insight and experience.
Perhaps we should pay our data scientists a bit (a lot) less, and we would get fewer flashy presentations and more substance.
Regarding the cat identification task: If the goal is to identify cats from pictures, then what would you expect to learn about cats? The high-level features of a cat that we combine in a hierarchical fashion to arrive at 'cat'? After all, if we are just looking at pictures of cats, I think this is the best a human would be able to ascertain given numerous examples. If so, then algorithms like Convolutional Neural Nets do in fact provide such information - one just needs to look at the convolutional kernels to see these features emerge over the hidden layers.
A simpler example is the task of identifying handwritten digits - and this is the example that is almost always referenced when discussing CNNs. A well-trained CNN on pictures of handwritten digits will extract things like diagonal and straight edges as high-level features and then combine those in appropriate spatial orderings to identify the digits 0-9...which is likely similar to how we discriminate between such digits.
There are musical analogs as well of using NNs that extract out from a time-frequency representation, for example, individual instrument timbres (or at least decent approximations) in a mixture of instruments sounding simultaneously.
To take your cat example. Now hook up and improve this algorithm in cameras out in the wild and it will become much easier to track where cats are found. Want a rough count of the unique stray cats in an area? Is there a camera that covers it? :)
That is to say, sometimes we simply need the data that these algorithms can provide in order to feed other decisions. This is really no different than any other situation where you have to infer a wider truth from limited data. We are just expanding our ability to do so, now. Not necessarily by finding the fundamental equation to something, but by applying simpler equations to more and more data. Right?
And often there is no perfect solution, and the solution changes over time. In these cases machine learning is very handy.
if you're not learning about cats then you need to try a different strategy that deals more directly with them.
Bullshit.
The way the statement is worded, I feel that many would read it as "A recent survey found that 76 percent of consumers regularly check online reviews before buying" even if that's not how it's written. A better statement would make the breakdown of regular vs. occasional checkers clear.
That said, single word comments don't add much to the conversation. As stated, and if the survey is to be believed, the line is factually correct even if it is misleading. I'm not sure if "bullshit" refers to how you interpreted the statement or the results of the survey. Without clarifying your objection, though, it will likely be ignored by most.
[1] http://searchengineland.com/study-72-of-consumers-trust-onli...
Edit: added link to the survey