Born in the auto industry (compliments of Toyota), lean manufacturing principles have been enthusiastically embraced by the software engineering community. Overall the lean principles seek to minimize wasted effort during software development and maximize customer delight with your product. If it works for building cars and building traditional software, it’s worth taking a look at for your next ML project!
Here are the principles:
Back in the day on Windows there was this thing called DLL Hell. In short all applications on your PC used to share the same versions of installed libraries — so every time you installed a new application you ran the risk of updating underlying libraries and breaking previously installed apps.
For fans of Docker that are used to containerizing their applications this is well understood: runtime environments need to be virtualized so that applications can be portable, and dependencies on specific versions of libraries can be isolated to the container itself. …
The field of machine learning is so broad and vast it’s easy to get lost in it. I spent my first few months in machine learning splashing around in the shallow end of the pool, not even realizing I was in the shallow section. The way I ended up there was working through sample projects from articles and blog postings, and continually rotating onto the next project illustrating a different flavor of ML.
There’s nothing wrong with simple, sample projects — the typical “Hello World!” project is a time-honored tradition for learning something new in computer science. …
Picture yourself setting sail on the ocean, heading out to the deeps and losing sight of land. Selecting an ML model can feel a bit like this — a strange mix of exhilaration and fear. As the multitude of machine learning algorithms unfolds before you (and grows by the year) it’s normal to second-guess selections and perhaps flounder in endless hyperparameter tuning.
Having an accurate map to guide model selection can build your confidence that you’re headed in the right direction and you’ll reach your destination.
Let’s begin by stating a simple definition of what AI is exactly:
Computers behaving intelligently and autonomously, versus computers doing what they are told
For decades, software engineers have been constructing expert systems: tightly constrained, rules-based software solutions that perform a single task very well.
There’s nothing wrong with that! In many cases it’s the right answer. Think about updating the firmware on your TV. You can look for it on demand via the Setup menus, or let the TV look for it once in a while, but it’s a problem best solved with traditional technologies. It doesn’t require intelligence.
Seasoned software architect & developer who thrives in complex business domains. Specializes in projects involving machine learning technologies.