机器学习导论(2)

5.机器学习基本概念
   以下图表示的数据集为例介绍机器学习基本概念
机器学习导论(2)
   (1)每一行数据叫样本数据;
   (2)除最后一列标签列外,每一列数据叫属性或者特征;
   (3)最后一列是标签列,即样本所属列别;
   (4)属性(特征)空间,由所有属性张成的空间(这里是四个属性);
   (5)特征向量:构成特征空间的每一行的特征数据;
   (6)训练数据:由输入X(特征)和输出Y(标签)构成;
   (7)训练(过程):从数据中学得模型得过程叫做“学习”或者“训练”,训练过程中使用得数据叫做训练数据;
   (8)测试样本:被预测的样本数据,由测试数据和样本标签组成;
   (9)测试数据:仅由输入的X组成,根据模型得到预测Label信息;
   (10)预测:学习完模型后,由测试数据带入模型进行预测,得到预测值;
   (11)预测值和真实值之间的评判标准:
      错误率:错误样本占总体样本比例;
      误差:模型的实际输出和真实值的差距;
      训练误差:学习器在训练样本上的误差;
      泛化误差:学习器在新的样本上的误差。
6.机器学习分类
   (1)监督学习
    监督(supervised)是指训练数据集中的每个样本均有一个已知的输出项(类标签label)。输出变量为连续变量的预测问题称为回归(regression)问题(例如房价预测),常见的回归算法有简单线性回归、多元线性回归、Lasso回归、Ridge回归、ElasticNet;输出变量为有限个离散变量的预测问题称为分类(classification)问题(例如垃圾邮件划分),常见的分类算法有决策树、KNN、SVM、Perception&&NeuralNetwork、Bayes LogisticRegression。下图为监督学习过程:
机器学习导论(2)
   (2)非监督学习
    人们给机器一大堆没有分类标记的数据,让机器可以对数据分类、检测异常等。下面给出两个例子:
    例一、聚类:
机器学习导论(2)
    例二、降维(PCA):
机器学习导论(2)
   (3)半监督学习
    半监督学习就是提供了一条利用“廉价”的未标记样本的途径,将未标记数据和已标记数据混合起来,进行聚类,同一类的标记为相同的标记,这样就将未标记数据打上了标记。场景:电商网站根据评价给用户推荐感兴趣商品,有的用户对商品进行了评价,有的用户并没有评价。
机器学习导论(2)
   (4)强化学习
    是机器学习的一个重要分支,主要用来解决连续决策的问题。围棋可以归纳为一个强化学习问题,需要学习在各种局势下如何走出最好的招法。
机器学习导论(2)
   (5)迁移学习
    常用来解决两类问题:
     小数据的问题。比方说新开一个网店,卖一种新的糕点,没有任何的数据,就无法建立模型对用户进行推荐。但用户买一个东西会反映到用户可能还会买另外一个东西,所以如果知道用户在另外一个领域,比方说卖饮料,已经有了很多很多的数据,利用这些数据建一个模型,结合用户买饮料的习惯和买糕点的习惯的关联,就可以把饮料的推荐模型给成功地迁移到糕点的领域,这样,在数据不多的情况下可以成功推荐一些用户可能喜欢的糕点。这个例子就说明,有两个领域,一个领域已经有很多的数据,能成功地建一个模型,有一个领域数据不多,但是和前面那个领域是关联的,就可以把那个模型给迁移过来。
     个性化的问题。比如每个人都希望自己的手机能够记住一些习惯,这样不用每次都去设定它,怎么才能让手机记住这一点呢?其实可以通过迁移学习把一个通用的用户使用手机的模型迁移到个性化的数据上面。
7.机器学习三要素
   机器学习=模型+策略+算法
   (1)首先介绍下模型,机器学习中,首先要考虑学习什么样的模型,在监督学习中,如模型(y=ax+by=ax+b)就是要学习的内容。模型通常分为决策函数或条件概率分布。由决策函数表示的模型为非概率模型,由条件概率分布表示的模型是概率模型。
   决策函数
F={fY=f(X)},F={fY=fθ(X),θRn}F=\left\{f|Y=f(X) \right\},F=\left\{f|Y=f_\theta(X),\theta \in R^n \right\}
   条件概率
F={PP(YX)},F={PPθ(YX),θRn}F=\left\{P|P(Y|X) \right\},F=\left\{P|P_\theta(Y|X),\theta \in R^n \right\}
   (2)策略评价模型好不好,评价模型的好坏用损失函数(目标函数),模型给出的值与实际真实值的差别,损失函数值越小,模型越好。常用的损失函数有如下几种:
    0-1损失函数
L(Y,f(x))={1,Yf(x)0,Y=f(x)L(Y,f(x))=\begin{cases} 1,Y \neq f(x)\\ 0,Y = f(x) \end{cases}
    平方损失函数
L(Y,f(x))=(Yf(x))2L(Y,f(x))=(Y-f(x))^2
    绝对损失函数
L(Y,f(x))=Yf(x)L(Y,f(x))=|Y-f(x)|
    对数损失函数
L(Y,f(x))=logP(YX)L(Y,f(x))=-logP(Y|X)
机器学习导论(2)
机器学习导论(2)
机器学习导论(2)
机器学习导论(2)
机器学习导论(2)
机器学习导论(2)
   (3)机器学习的算法就是求解最优化问题的算法。如果优化问题有显示的解析解,这个最优化问题就比较简单,但通常这个解不存在,所以就需要利用数值计算的方法求解。
8.如何构建机器学习系统
机器学习导论(2)
9.模型选择原则
   给定两个具有相同泛化误差的模型,较简单的模型比较复杂的模型更可取(奥卡姆剃刀原则)。
    (1)模型具有好的泛化能力指的是:模型不但在训练数据集上表现的效果很好,对于新数据的适应能力也有很好的效果。泛化能力的表现:过拟合和欠拟合。过拟合overfitting:模型在训练数据上表现良好,在未知数据或者测试集上表现差。欠拟合underfitting:在训练数据和未知数据上表现都很差。
    (2)欠拟合产生原因,模型过于简单。出现的场景:欠拟合一般出现在机器学习模型刚刚训练的时候,也就是说一开始我们的模型往往是欠拟合也正是因为如此才有了优化的空间,我们通过不断优化调整算法来使得模型的表达能力更强。解决办法:(i)添加其他特征项:因为特征项不够而导致欠拟合,可以添加其他特征项来很好的解决。(ii)添加多项式特征:可以在线性模型中通过添加二次或三次项使得模型的泛化能力更强。(iii)减少正则化参数,正则化的目的是用来防止过拟合的,但是现在模型出现了欠拟合,需要减少正则化参数。
    (3)过拟合产生原因,可能是模型太过于复杂、数据不纯、训练数据太少等造成。现的场景:当模型优化到一定程度,就会出现过拟合的情况。
解决办法:(i)重新清洗数据(ii)增大训练的数据量(iii)采用正则化方法对参数施加惩罚:常用的有L1正则和L2正则(iv)采用dropout方法,即采用随机采样的方法训练模型,常用于神经网络算法中。
9.正则化
机器学习导论(2)
机器学习导论(2)
10.交叉验证
机器学习导论(2)
   (1)简单交叉验证
    简单交叉验证的方法是这样的,随机从最初的样本中选择部分,形成验证数据,而剩下的当作训练数据。一般来说,少于三分之一的数据被选作验证数据。
   (2)10则交叉验证
     10折交叉验证是把样本数据分成10份,轮流将其中9份做训练数据,将剩下的1份当测试数据,10次结果的均值作为对算法精度的估计,通常情况下为了提高精度,还需要做多次10折交叉验证。更进一步,还有K折交叉验证,10折交叉验证是它的特殊情况。K折交叉验证就是把样本分为K份,其中K-1份用来做训练建立模型,留剩下的一份来验证,交叉验证重复K次,每个子样本验证一次。
   (3)留一验证
     留一验证只使用样本数据中的一项当作验证数据,而剩下的全作为训练数据,一直重复,直到所有的样本都作验证数据一次。可以看出留一验证实际上就是K折交叉验证,只不过这里的K有点特殊,K为样本数据个数。