- 基本概念部分
- 统计学习方法可以概括如下……
从给定的、有限的、用于学习的训练数据集合出发,假设数据是独立同分布产生的;并且假设要学习的模型属于某个函数的集合,称为假设空间;应用某个评价准则,从假设空间中选取一个最优模型,使它对已知的训练数据及未知的测试数据在给定的评价准则下有最优的预测;最优模型的选取由算法实现。这样,统计学习方法包括模型的假设空间、模型选择的准则以及模型学习的算法。称其为统计学习方法的三要素,简称为模型、策略和算法。
- 什么是有监督学习、无监督学习、半监督学习
有监督学习是指从标注数据中学习预测模型的机器学习问题(其本质是学习输入到输出的映射的统计规律)
无监督学习是指从无标注数据中学习预测模型的机器学习问题。(其本质是学习数据中的统计规律或潜在结构)
半监督学习是指利用标注数据和未标注数据学习预测模型的机器学习问题。(目的是利用未标注数据中的信息,辅助标注数据,进行监督学习,以较低的成本达到较好的学习效果)
- 有监督的学习的三要素两过程
三要素:数据、标签、模型
两过程:学习、预测
要有一两句解释
- 生成式模型和判别式模型是什么意思,常见的代表模型有哪几个
生成式模型:在监督学习中方法按照生成方法学到的模型为生成式模型 有x——>y 的生成关系,即有联合分布
朴素贝叶斯、隐马尔可夫模型
判别式模型:在监督学习中方法按照判别方法学到的模型为判别式模型 无x——>y的生成关系,由数据出发直接学习
感知机、k近邻、决策树、逻辑斯谛回归、最大熵、支持向量机、提升方法
- 什么叫过拟合、欠拟合,常用的减轻拟合的方法
欠拟合:没有充分利用数据集信息,因为数据集信息代表了一部分总体数据的信息又代表了其自身的数据的信息,由于数据集得到的总体信息太少,模型不够复杂、拟合函数的能力不够
解决方法:增加迭代次数继续训练、换用其他算法、增加模型的参数数量和复杂程度,或者采用Boosting等集成方法
过拟合:过于充分利用数据集信息,太过注重数据集信息,学习到的信息大多是关于数据集的,而失去泛化能力(给定的数据集相对过于简单,使得模型在拟合函数时过分地考虑了噪声等不必要的数据间的关联。或者说相对于给定数据集,模型过于复杂、拟合能力过强,而泛化能力弱。)
解决方法:选择复杂度适当的模型,以达到测试误差最小的学习目的
删除异常数据不会减轻过拟合
数据扩增、直接降低模型复杂度、提前停止训练、多模型投票方法、正则化方法
方法1:在经验风险上加一个正则化项或罚项,即模型越复杂,正则化值就越大
方法2:在数据充足情况下,将数据切分为训练集(学习)、验证集(模考,防止过拟合)、测试集(高考);在数据不充足的情况下进行交叉验证,即重复的使用数据
- 如果clf是一个模拟的对象,则一般clf.train(X, y), clf.fit(X, y), clf.predict(test)是什么意思,执行后的结果或改变是什么
clf.fit(X,y)和clf.fit(X,y)的意思是将数据X和标签y放入clf这个原始模型(类、对象)中进行学习训练,执行后的改变的是clf不再是一个初始的模型,而是通过数据和标签学习过程中得到了一些特定参数的模型。
clf.predict(test)的意思是将测试集的数据放入已经训练好的模型clf中进行预测,执行后的结果是输出测试集的标签
-
- 理解而不是记住,方便你写代码、看代码
- Precision, Recall, F1, Accuracy, AUC of ROC。上面这几个概念的定义、意义、计算。给定正负例的信号强度,能画出ROC
预测值 真实值 | 0 | 1 |
0 | TN | FN |
1 | FP | TP |
Precision(查准率)
P=TPTP+FP
意义:在所有预测为1的数据中找出多少真实值为1的
Recall(召回率)
R=TPTP+FN
意义:在真实值为1的数据中有多少预测值为1的被找出来了
Accuracy(准确率)
准确率=TP+TNTN+FN+FP+TP
意义:判断正确的占总数的比例(判断总的正确率)。但是在样本不均衡的情况下,并不能作为很好的指标来衡量结果。
F1-Score(F1分数)
F=α2+1P*Rα2P+R
当α取1时,就是F1分数
意义:F1分数同时考虑精确率和召回率
- 训练集、验证集、测试集的作用是什么,S折交叉验证是怎么回事
建模(发现数据的模式和规律)、控制过拟合、评估模型
训练集的作用是将训练集数据灌入模型进行训练学习
验证集的作用是在训练过程中加入验证集防止过拟合
测试集的作用是评价模型的预测效果
S折交叉验证(S-fold cross validation):首先随机地将已给数据切分为S个互不相交、大小相同的子集;然后利用S-1个子集的数据训练模型,利用余下的子集测试模型;将这一过程对可能的S种选择重复进行;最后选出S次评测中平均测试误差最小的模型。
- 什么叫回归,什么叫聚类,什么叫分类
回归:用于预测输入变量(自变量)和输出变量(因变量)之间的关系(映射)。回归模型正是表示从输入变量到输出变量之间映射的函数。回归问题的学习等价于函数拟合。
聚类:对大量未知标注的数据集,按照数据内部存在的数据特征将数据集划分为多个不同的类别,使类别内数据比较相似,类别之间的数据相似度比较小。(高耦合低内聚)
分类:当输出变量Y取有限个离散值时,预测问题便成为分类问题。分类器对新的输入进行输出的预测,称为分类。
- Knn
中英文名字、算法理念、算法过程、算法伪代码,算法代码实现
中文:K近邻算法
算法理念:给定一个训练数据集,对新的输入实例,在训练数据集中找到与该实例最邻近的k个实例,这k个实例的多数属于某个类,就把该输入实例分为这个类。
算法过程:
- 计算测试数据与各个训练数据之间的距离;
- 按照距离的递增关系进行排序;
- 选取距离最小的k个点;
- 确定前k个点所在类别的出现频率;
- 返回前k个点中出现频率最高的类别作为测试数据的预测分类。
- 感知机
算法理念、算法过程、算法伪代码,算法代码实现
算法理念:感知机是二类分类的线性分类模型,其输入为实例的特征向量,输出为实例的类别,取+1和-1二值。感知机对应于输入空间(特征空间)中将实例划分为正负两类的分离超平面,属于判别模型。
算法过程:
原始形式:感知机学习算法是误分类驱动的,具体采用随机梯度下降法。首先,任意选取一个超平面w0,b0,然后用梯度下降法不断地极小化目标函数。极小化过程中不是一次使M中所有误分类点的梯度下降,而是一次随机选取一个误分类点使其梯度下降。
对偶形式:对偶形式的基本想法是,将w和b表示为实例xi和标记yi的线性组合的形式,通过求解其系数而求得w和b。
算法伪代码:
原始形式:
b=1mi=1myi-wxi
x=1mi=1mxi
数值解
广义线性回归:对数线性回归 标签值进行函数映射
会手算简单的线性回归(单变量)
有解析解的公式
- 逻辑回归
线性回归的定义,解法,解的情况
Sigmoid函数及求导,求解最大似然估计
Sigmoid函数求导:
- 朴素贝叶斯
给定一个小规模数据集,可以手算朴素贝叶斯
- 决策树
决策树的基本算法
熵、基尼、熵增益、固有值、熵增益比的定义和业务意义
ID3、C4.5、Cart算法基本思路和伪代码
- 提升方法
Bagging(有放回,取N个数据,投票法或加权平均法)和随机森林(无放回,特征组合,投票法或加权平均法)
提升方法江湖地位(非深度学习最好的方法)
能说清楚GBDT的脉络即:
adaboost的理念,加法模型,前向加法模型,提升树,回归树对残差的拟合,以及对梯度的拟合。
- SVM
线性可分支持向量机的基本脉络
松弛变量(一定程度容忍线性不可分问题,还是线性分类)、核函数(解决非线性问题,基于内积,)的业务背景和操作方法
SVM江湖地位(单模最优)
- NN
说清楚神经网络学习(从后往前)和预测(从前往后)的过程
了解常见的神经网络,及中英文名称
CNN(卷积神经网络)
RNN(递归神经网络)
对于多层神经网络,可以计算其待定参数的个数,并能说明BP算法如何更新网络参数
- Numpy
基本的向量化运算,使用numpy常见的方法