A Brief Introduction to Machine Learning for Engineers (2017)
arxiv.org
arxiv.org
The same could be said about skipping the earlier period of javascript frameworks. Had you used your time to learn things that are still useful today, and will remain useful decades in the future, while waiting for the industry to jump here and there, eventually converging to what seems to be a fairly robust steady state (react), then you'd probably be better off today than if you followed along with the hype cycle month after month.
A counter argument is that you might miss out on a lot of the monetary rewards that comes from learning the much desired skill that others don't have the time or will power to tackle in the period where doing so involves a lot of friction.
Have you looked at the monograph at all? This could have been written 5 to 10 years ago, 15 years ago, maybe a few sections would have looked a little different. In fact, I like to recommend Mitchell's Machine Learning book (I think it was written in the 90s) as an introduction to people with a serious interest.
There currently is a lot of hype going on for machine learning algorithms, because we see good progress in things like computer vision / pattern recognition. This kicks of a marketing machinery that really blurs the reality.
In reality, we have an established body of methods and modelling techniques that are sufficient, because the available data is the bottleneck for prediction quality. The actual challenge is to come up with a valuable business proposition, not necessarily to build the predictive model.
In general (you'll probably find specific counterexamples for this, but as I said _in general_) the relative performance of deep learning models to classical machine learning may drop below that of classical models when you start looking at medium-sized data sets. And I can assure you, there are many data sets, with many applications for machine learning. And while the world talks about deep learning, I know of many companies, where random forests, suport vector machines or bayesian models have been running for years (which means, cross-validated by data unavailable during model development) with a prediction performance that a business can depend on.
I agree with you that Reinforcement learning will as a technology become much more important in the next years. However, only if exploration is cheap enough. I expect Deep Reinforcement learning not to be the answer, at least not in its current state, but I can very well imagine that we will see more machine-learning-algorithm in the reinforcement-learning-loop experiments. I personally would hope to see more research in the bayesian reinforcement learning area.
What I observed is that many ML companies now run two pipelines in parallel, one based on Deep Learning and the other on classical ML, then cherry pick solutions that work best for the problem/scale they have.
Sounds a bit like Baron Münchhausen pulling himself and the horse on which he was sitting out of a mire by his own hair.
I'd assume that instead of pulling such stunts, a reasonable generative model might have done the trick.
> What I observed is that many ML companies now run two pipelines in parallel, one based on Deep Learning and the other on classical ML, then cherry pick solutions that work best for the problem/scale they have.
Putting it this way, I agree. And my personal addendum here is: classical ML outperforms DL more often than the hype might make people think.
It sounds crazy, but you've likely seen what NVidia did with high-resolution synthetic faces using their progressive GANs; I'd totally use them as training examples without any hesitation.
The counterpoint is that a _lot_ could have been written 5 to 10 years ago, and only 10% of it would still be relevant. This is the relevant 10%.
[Bishop 2006] http://www.springer.com/de/book/9780387310732
That said, there was a lot of AI work with hand-crafted features and expert systems that has no basically been rendered obsolete by deep learning. But advances generally don't emerge out of a vacuum, and it helps to have some background knowledge of previous work to have a good idea of what has and hasn't worked in the past.
While performance might be important, at least the features were easy to understand by non experts. :)
Expert systems were also incredibly hard to build and debug, and weren't nearly as useful as ML systems are nowadays.
At University I used to wait a while for others to complete their projects and then pick their brains about how they went about solving them.
Now in industry I don’t bother learning new tech until I start seeing those skills show up on job sites or if I have a very particular need that requires a particular technology as part of the solution.
This strategy has treated me well but I believe has only done so because not everyone takes this approach. I’m also grateful for the time and effort others put in to allow me to essentially freeload off of their hard work. Every now and then I do find something I can be truly passionate about to help others do the same.
I then however realised that it would be a shame to let my advantage go to waste. So I use this:
> a lot of the monetary rewards
to partially motivate myself.
There is no book you just read and then you understand and now it's behind you. You are constantly making new connections and deepening your understanding when you learn more. Ten years is small time for things to start to sink in and make a connected whole in the mind.
Perhaps it can be argued that one is not in the position to take advantage of such situations. Switching jobs is not necessarily cheap
I don't have a Phd in machine learning, but I have spent many years using it as a tool to solve problems. While the details here can get you a long way, without understand feature engineering or feature selection, you will have a hard time building accurate models.
For any engineers looking for more on feature engineering after reading this, I maintain an open source library for automated feature engineering called Featuretools (https://github.com/featuretools/featuretools). We also have demos on our website (https://www.featuretools.com/demos) if you want to see it in action.
and the proprietary and newly launched driverless ai (from h2o)
Imagine you have a relational database from a retail store with tables for customers, transactions, products, and stores.
Featuretools can make a feature matrix for any entity in the database using an algorithm called Deep Feature Synthesis. We wrote a blog post about it here: https://www.featurelabs.com/blog/deep-feature-synthesis/. Basically, it tries to stack dataset-agnostic "feature primitives" to construct features similar to what human data scientists would create. This means that a data scientist can go from building models about their customers to models about their stores in one line of code.
One aspect worth highlighting is that Featuretools can be extended with custom primitives to expand the set of features in can produce. As the repo of primitives grows, everyone in the community benefits because primitives aren't tied to a specific dataset or use case. Some of our demos highlight this functionality to increase scores on the Kaggle leaderboards.
Featuretools is good at handling time. When performing feature engineering on completely raw data it is important not to mix up time. When your data is timestamped, you can tell Featuretools to create features at any point in time and it automatically slices the data for you (even across relationships between tables!). You want to avoid situations similar to training a machine learning model on stock market data from 2017, testing that it works on data from 2016, and then deploying it and expecting to make money in 2018. You can read more about how featuretools handle time here: https://docs.featuretools.com/automated_feature_engineering/...)
It would be nice to have a high-quality and widely-used set of community ratings for such documents. E.g. a place where
- new documents can be added
- they are categorized (automatically should be doable) according to subject matter, level, etc
- some sort of community voting system (perhaps augmented by automated scoring by well-established predictors) scores each document for its utility/recommendability, in each of the subject areas that it covers.
Does anything like that exist for arXiv?
Do people put general expository material on arXiv? (E.g. lecture notes, textbooks, etc).
To the engineer it seems no different to designing a solution in the context of accepted scientific theories. You can't engineer the theories, they are accepted based on evidence. But you can build the project around it.
Engineering is about solving problems under constraints. ML is a tool in the tool box to use against problems when the constraints are appropriate, similar to just about any algorithm
While some algorithms may have more explainability than others, the engineer cares if they solve the business problem at hand.
The book introduces the foundational concepts of statistical learning (classification, regression, cross-validation) and algorithms such as support vector machines.
It is also available on PDF at the website [1].
It'd be much easier.
I've read quite a few people on the internet who will swear up and down you don't need the mathematics to apply basic models to business problems. I disagree, and I kind of find it weird to divorce the mathematics from it.
- hooking up sensor input from your oil pumps to a neural network to understand statistics of your population to predict damage.
- title: a "brief" introduction (it's 206 pages!)
- chapter 1: a "gentle" introduction through Linear Regression, where gentle means that the relationships and equations are provided in all their notational beauty, but without the motivation or meaning part.