(1)本文直译自《hands on ML》课后题。(有改动的以【】表示)。
(2)如果错误或者难理解的地方,请参考原书。
机器学习是建立一个可以从数据中进行学习的系统。学习是指给定评价标准之后,在某些任务上(的表现)可以越来越好。
机器学习在以下复杂问题上效果显著:
(a)目前没有算法方案来解决这个问题;
(b)代替繁琐的手工调整;
(c)建立一个适应变化的环境的的系统;
(d)帮助人们来学习(例如数据挖掘)。
打标签的训练集(labeled training set)是每个样本都有目标解的训练集(training set)。
回归和分类。
常见的无监督学习包括:聚类、可视化(visualization),降维,关联规则学习。
强化学习(Reinforement Learning)在这类问题中表现最好。这个问题或许可以转化为监督或者半监督学习问题,但是这并不自然。
(a)如果你不知道如何定义‘类’,那么你可以用聚类算法来实现;
(b)如果你已经有了一些打好‘标签’的顾客,你可以用分类算法来实现。
垃圾邮件分类问题是个典型的监督学习问题。
【这个翻译不好容易误导人,还是把原答案粘过来吧;记得西瓜书里增量学习和在线学习是不一样的。】
An online learning system can learn incrementally, as opposed to a batch learn‐
ing system. This makes it capable of adapting rapidly to both changing data and
autonomous systems, and of training on very large quantities of data.
Out-of-core算法可以处理无法放入计算机内存的大量数据。一个out-of-core算法把数据切成小份(mini-batch),然后用在线学习(online learning)技术从这些小份(mini-batch)中学习。
An instance-based learning system learns the training data by heart; then, when
given a new instance, it uses a similarity measure to find the most similar learned
instances and uses them to make predictions.【个人感觉其实就是说类似与KNN的那种惰性算法】
【以多项式回归为例,多项式的系数是模型参数,多项式的最高阶是超参数】
ANSWER:Model-based learning algorithms search for an optimal value for the model parameters such that the model will generalize well to new instances. We usuall train such systems by minimizing a cost function that measures how bad the system is at making predictions on the training data, plus a penalty for model com‐
plexity if the model is regularized. To make predictions, we feed the new instance’s features into the model’s prediction function, using the parameter values found by the learning algorithm.
机器学习的一些主要挑战有:
(a)缺乏数据;
(b)数据质量差;
(c)没有代表性的数据(nonrepresentative data);
(d) uninformative features;
(e)过于简单的模型会欠拟合、过于复杂的模型会过拟合。
模型很可能出现了过拟合(overfitting)。
可能的解决办法有:
(a)获取更多的数据
(b)用一个简单的模型或算法、减少所用的 特征或参数、正则化模型
(c)减少训练数据中的噪音。
测试集是在模型实际应用到生产中之前,估计该模型在新样本上的泛化误差(也就是预测误差,英文名为generalization error)。
验证集是用来比较模型的,它用来调节超参数和选取最优模型。
如果用测试集来调节超参数,则有过拟合测试集的风险,得到的泛化误差可能过于乐观(模型的实际效果可能比你想象的要差)
交叉验证可以不用(单独分出一个)验证集来比较模型,这节省了宝贵的训练数据。