机器学习怎么入门最简单?今年刚刚从哈佛大学统计专业毕业的 Danny Friedman 写了一本「转专业学生专用教材」,无基础也可轻松入门,资源现已全部开放。
说起机器学习入门书,大概有成百上千种选择。这些书籍大多是由具备丰富研究经验的学者撰写的,涵盖各种主题。俗话说「开卷有益」,但对于转专业的初学者来说,这本新书或许更适合入门:近日,一位毕业于哈佛大学的小哥根据自己的机器学习入门经历,撰写了一本《从零开始的机器学习》。书籍地址:https://dafriedman97.github.io/mlbook/content/introduction.html这本书涵盖了机器学习领域最常见的方法,就像是一位机器学习工程师的工具箱,适用于入门级学习者。撰写目的是为读者提供独立构建一些基本的机器学习算法的实践指导,如果用工具箱类比的话,就是教会读者具体使用一把螺丝刀、一盒卷尺。书中的每一章都对应一种机器学习方法。作者 Danny Friedman 介绍说,学习一种方法的最佳方式就是从零开始(无论是从理论上还是代码上),因此本书的宗旨也是提供这些推导过程。每章分为三个部分:首先是从「概念」上进行介绍,并且从数学层面演示推导过程;然后是「构造」部分,如何使用 Python 从零开始演示这些方法;最后的「实现」部分介绍了如何使用 Python 包应用这些方法,比如 scikit-learn、 statsmodels 和 tensorflow。这本书面向的是机器学习领域的新人,或者是希望深入了解算法的学习者。阅读书中的推论可能有助于以前不熟悉算法的读者充分理解方法背后的原理,也能帮助有建模经验的读者了解不同算法如何建模,并观察每种算法的优缺点。在阅读这本书的「概念」部分之前,读者应该熟悉微积分的知识,有的部分可能会用到概率的知识(最大似然和贝叶斯定律)以及基础的线性代数(矩阵运算和点积)。这部分还引用了一些常见的机器学习方法(附录中有介绍),但「概念」部分不需要编程知识。「构造」和「代码」部分会用到一些 Python 的知识。「构造」部分需要了解对应内容部分,并熟悉 Python 的创建函数和类。这些「代码」部分均不需要。1. 普通线性回归(Ordinary Linear Regression) 最小化损失(The Loss-Minimization Perspective)
最大似然(The Likelihood-Maximization Perspective)
2. 线性回归扩展(Linear Regression Extensions) 正则回归(Regularized Regression)
贝叶斯回归(Bayesian Regression)
广义线性模型(Generalized Linear Models)
3. 判别分类(Discriminative Classification) 逻辑回归(Logistic Regression)
感知器算法(The Perceptron Algorithm)
Fisher 线性判别(Fisher’s Linear Discriminant)
4. 生成分类(Generative Classification)线性和二次判别分析、朴素贝叶斯 (Linear and Quadratic Discriminant Analysis、Naive Bayes)
回归树(Regression Trees)
分类树(Classification Trees)
6. 基于树的集成方法(Tree Ensemble Methods) Bagging
随机森林(Random Forests)
Boosting
线性回归是一种相对简单的方法,用途极为广泛,所以也是必学算法之一。第一章介绍了普通线性回归,第二章主要介绍了线性回归的扩展。可以通过多种方式扩展线性回归,以适应各种建模需求。正则回归惩罚了回归系数的大小,以避免过度拟合。这对于使用大量预测变量的模型尤其有效,贝叶斯回归对回归系数进行先验分布,以便将关于这些参数的现有观念与从新数据中获得的信息相协调。最后,广义线性模型(GLM)通过更改假定的误差结构并允许期望值来扩展常规的线性回归。目标变量是预测变量的非线性函数。分类器是一种有监督的学习算法。它试图识别观察值对两个或多个组之一的成员资格。换句话说,分类中的目标变量表示有限集而不是连续数的类。例如,检测垃圾邮件或识别手写数字。第三章和第四章分别介绍了判别分类和生成分类。判别分类根据观察变量的输入变量直接对其进行建模。生成分类将输入变量视为观察类的函数。它首先对观察值属于给定类的先验概率建模。然后计算观察观察值以其类为条件的输入变量的概率。最后使用贝叶斯定律求解属于给定类的后验概率。逻辑回归不是唯一的区分性分类器,书中还介绍了另外两种:感知器算法和 Fisher 线性判别法。第五章演示了如何构建决策树。第一部分涵盖了回归任务,其中目标变量是定量的;第二部分涵盖了分类任务,其中目标变量是分类的。决策树是用于回归和分类的可解释机器学习方法。树根据所选预测变量的值迭代地拆分训练数据的样本。每次拆分的目的是创建两个子样本(即「孩子」)。其目标变量的 purity 高于其「父亲」。对于分类任务,purity 意味着第一个孩子应该观察一个类别,第二个孩子主要观察另一个类别。对于回归任务,purity 意味着第一个孩子的目标变量值应该较高,而第二个孩子的目标变量值应该较低。以下是使用 penguins 数据集的分类决策树的示例:由于其高方差,决策树通常无法达到与其他预测算法可比的精确度。在第五章中介绍了几种最小化单个决策树的方差的方法,例如剪枝或调整大小。第六章将介绍另一种方法:集成方法。集成方法结合了多个简单模型的输出,以创建具有较低方差的最终模型。书中在基于树的学习器的背景下介绍集成方法,但集成方法也可以用于多种学习算法。在这本书中,作者讨论了三种基于树的集成方法:bagging、随机森林和 boosting。第七章介绍了神经网络,一种功能强大且用途广泛的模型,已成为机器学习中的一大热门话题。尽管神经网络的性能通常胜过其他模型,但神经网络也不像想象中那么复杂。相反,通过优化高度参数化和非线性的结构,神经网络具有足够的灵活性对其他模型难以检测到的细微关系进行建模。此外,作者还推荐了三本经典的机器学习理论入门书籍,也都能在网络上获取免费资源:资源地址:http://faculty.marshall.usc.edu/gareth-james/ISL/资源地址:https://web.stanford.edu/~hastie/ElemStatLearn/资源地址:https://www.microsoft.com/en-us/research/publication/pattern-recognition-machine-learning/如何根据任务需求搭配恰当类型的数据库?
在AWS推出的白皮书《进入专用数据库时代》中,介绍了8种数据库类型:关系、键值、文档、内存中、关系图、时间序列、分类账、领域宽列,并逐一分析了每种类型的优势、挑战与主要使用案例。
点击阅读原文或识别二维码,申请免费获取白皮书。
© THE END
转载请联系本公众号获得授权
投稿或寻求报道:content@jiqizhixin.com
关注公众号:拾黑(shiheibook)了解更多
[广告]赞助链接:
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/