by cyberomin on 7/1/18, 2:25 AM with 83 comments
by tfehring on 7/1/18, 4:44 AM
I agree with the general sentiment of the article, but this seems like a poor example, since a more sophisticated approach can add a lot of value to a recommendation system. How do you know whether a customer is likely to want more than one item in any of those categories? If they already purchased sunglasses, wouldn't they be more likely to purchase, say, a sunglasses case and/or sunscreen? If they purchased a book, do you recommend the same book again? And if not, how do you choose which book(s) to include?
Of course, you could technically still handle this in SQL with a bunch of CASE statements, but obviously that doesn't scale well across a wide range of products. The whole point of ML/AI in that use case is to scale that type of nontrivial decision making.
by joe_the_user on 7/1/18, 3:39 AM
Here's a different way to think about the situation with current AI/deep-learning; if the current upsurge of methodologies was getting close to general AI, it would be getting closer and closer to a hammer that really did let you treat everything as a nail. IE, it would be general purpose.
But I think I can say we're not seeing that even though deep learning seems to be continually expanding the domains that it can operate on. How is that? This Open AI is very eye-opening; "We’re releasing an analysis showing that since 2012, the amount of compute used in the largest AI training runs has been increasing exponentially with a 3.5 month-doubling time (by comparison, Moore’s Law had an 18-month doubling period)." Essentially, as a rather brute-force-y method, we have shown we can expand deep learning's impact to a larger and large domain but not at all in the fashion of human learning tricks (where the new isn't that much harder than the old trick).
Maybe, in this process, a better algorithm that adjusts to new situations without increased costs will surface. But until then it seems new and old methods will need to coexist.
by posix_compliant on 7/1/18, 5:36 AM
* How does every additional coupon-dollar affect the total amount a customer buys?
* What is the relationship between customer age and retention for my store?
* Does giving a customer more purchase options help or hurt their chances of making a purchase?
My experience is that each of these questions can be solved, in part, using 3 lines of Python code:
from sklearn.linear_model import LinearRegression
lr = LinearRegression()
lr.fit(X,y)
Then look at the beta coefficients of the model, and you have a rough idea of how different features are correlated. Doing something like this in SQL sounds difficult. If you have data to interpret, it makes sense to use similar methods. I can't think of an example where you have data but refuse to look at it until your company is "bigger".by tilt_error on 7/1/18, 9:49 AM
The author describes using SQL to pull facts from history; who was the number one customer the last week, who abandoned online orders and so on.
The premise should instead be how to fit a model onto your business data so that you better can guess who will be the number one customer next week, what (s)he will order and so on.
The problem that ML addresses is how to arrive at that model, under the assumption that you can use historic data to pick either model or parameterise a model.
SQL has it merits, as does the relational database model, but this has nothing to do with creating models (even though we are modelling the data itself). The author gives some examples that are, frankly, trivial.
But he has a good argument around namedropping "hot" technology when your business need does not incorporate distributed trust (blockchain), modelling behaviour (or some such) using ML and so on.
by gwbas1c on 7/1/18, 3:33 AM
When I worked with machine learning many years ago, we learned that it was no better than the heuristics already in place. The thing is, it's much easier to diagnose a well written and understood heuristic than a machine learning model.
by reificator on 7/1/18, 3:28 AM
It's the second article I've seen here that uses it over the last few days, but I'm not sure if it's the same site or not.
by gonyea on 7/1/18, 5:55 AM
There are so many problems you can solve with a neural network. Should Waymo ETL sensor data and do a WHERE NOT IN for bicyclists?
This is blog post is pretty dismissive. Statistics software has been in use since the beginning; see SAS. Financial institutions, actuaries, etc, have been using these methods with SQL data as the input and it’s the only reason they’re still in business.
If this blog post simply suggested hiring a BI Analyst in your startup, I wouldn’t disagree.
by benkarst on 7/1/18, 4:22 AM
SQL is a language that helps retrieve the data you're looking. ML/AI helps you predict the future (using past data).
Maybe this is directed towards product people? But it has SQL in the title so it can't be. I'm confused as to who the audience is here.
by oh-kumudo on 7/1/18, 4:02 AM
What OP suggests, the so called SQL, is basically a heuristic based system. When done probably and carefully, it could of course work very well, and is indeed often used as baseline model to bootstrap a ML system. However, eventually the rule-based system will hit the wall, and ML be the savior of the day to push the metric further for a margin of 20-30%.
So yes, when you are small and has little data, ML is irrelevant. But same thing could be said to too many things in software industry, you probably won't need Docker/Big Data/Fancy JS as well, if you are building a small scale online store.
Choose wisely your tech stack based on your problem, but the title is needlessly sensationalized.
by Nasrudith on 7/1/18, 6:36 AM
Ironic that machine learning is 'simple' but that seems to be the case at times especially with the 'throw block chain or machine learning at it' approach when a proper algorithm could do it far more efficiently. The funny thing is that both approaches have their place. If turning it off and on again fixes a rare issue faster than following every instruction to machine code you are better off restarting it occasionally - unless it is a critical application where doing so will cost millions of dollars or lives.
by panic on 7/1/18, 3:56 AM
by mrtksn on 7/1/18, 3:41 AM
Not that I necessarily disagree with the OP but I find it deeply uninspirational.
What's the difference between using ML/AI for problems traditionally solved by some other tool and using any other tool to solve the same problem unconventionally? Both can be "hacking". I guess my issue with this is the word "need", don't do what you need to do but what you want to do if you are looking for inspiration. After all, mankind never needed to leave the garden of Eden but left it anyway.
by pnathan on 7/1/18, 3:58 AM
I would also call out the NoSQL hype train here.
NoSQL has its place, and largely its place is when SQL can not tolerate the intensity of traffic or the size of the dataset. You can look at the Dynamo paper for an example of the engineering rationale.
Postgres can take enormous amounts of data at quite decent rates - without spending too much time on tuning even.
by thomasfedb on 7/1/18, 3:58 AM
by altitudinous on 7/1/18, 6:00 AM
by sacado2 on 7/4/18, 12:32 PM
I mean, the author is talking about how SQL is a good-old 40 year old tech. In the mean time, one of the simplest ML algorithm, linear regression, is about 200 years old, even older (AFAIK) than Ada's program for Babbage's machine. It's very easy to understand and implement, and even excel has it as a standard function.
Sure, linear/logistic regression or naive bayes won't help you tag pictures with text à la facebook "this is a picture of a young man dancing with a red shirt", but the vast majority of use cases of ML are way easier, anyway. So yes, most of the time, you can easily find "talents" that will solve your ML problems. And if you really want to, you can implement it in SQL.
by jaequery on 7/1/18, 3:42 AM
by emersonrsantos on 7/1/18, 4:07 AM
by shrumm on 7/1/18, 4:03 AM
by swanson on 7/1/18, 3:14 AM
by visarga on 7/1/18, 6:08 AM
by flatfilefan on 7/1/18, 3:46 AM
by slifin on 7/1/18, 12:20 PM