- Large Scale Machine Learning with Python
- Bastiaan Sjardin Luca Massaron Alberto Boschetti
- 374字
- 2021-07-14 10:39:49
Chapter 3. Fast SVM Implementations
Having experimented with online-style learning in the previous chapter, you may have been surprised by its simplicity yet effectiveness and scalability in comparison to batch learning. In spite of learning just one example at a time, SGD can approximate the results well as if all the data resides in the core memory and you were using a batch algorithm. All you need is that your stream be indeed stochastic (there are no trends in data) and that the learner is tuned well to the problem (the learning rate is often the key parameter to be fixed).
Anyway, examining such achievements closely, the results are still just comparable to batch linear models but not to learners that are more sophisticated and characterized by higher variance than bias, such as SVMs, neural networks, or bagging and boosting ensembles of decision trees.
For certain problems, such as tall and wide but sparse data, just linear combinations may be enough according to the observation that a simple algorithm with more data often wins over more complex ones trained on less data. Yet, even using linear models and by resorting to explicitly mapping existing features into higher-dimensionality ones (using different order of interactions, polynomial expansions, and kernel approximations), we can accelerate and improve the learning of complex nonlinear relationships between the response and features.
In this chapter, we will therefore first introduce linear SVMs as a machine learning algorithm alternative to linear models, powered by a different approach to the problem of learning from data. Then, we will demonstrate how we can create richer features from the existing ones in order to solve our machine learning tasks in a better way when facing large scale data, especially tall data (that is, datasets having many cases to learn from).
In summary, in this chapter, we will cover the following topics:
- Introducing SVMs and providing you with the basic concepts and math formulas to figure out how they work
- Proposing SGD with hinge loss as a viable solution for large scale tasks that uses the same optimization approach as the batch SVM
- Suggesting nonlinear approximations to accompany SGD
- Offering an overview of other large scale online solutions besides SGD algorithm made available by Scikit-learn
- Aftershot Pro:Non-destructive photo editing and management
- Learning SQL Server Reporting Services 2012
- Istio入門與實戰
- Linux KVM虛擬化架構實戰指南
- Android NDK Game Development Cookbook
- 極簡Spring Cloud實戰
- 數字邏輯(第3版)
- Artificial Intelligence Business:How you can profit from AI
- Svelte 3 Up and Running
- Large Scale Machine Learning with Python
- 微服務分布式架構基礎與實戰:基于Spring Boot + Spring Cloud
- 微軟互聯網信息服務(IIS)最佳實踐 (微軟技術開發者叢書)
- 單片機開發與典型工程項目實例詳解
- Internet of Things Projects with ESP32
- Intel Edison智能硬件開發指南:基于Yocto Project