机器学习基础
1.1 机器学习的分类
1.1.1 监督学习
定义:从成对的已经标记好的输入和输出经验数据作为一个输入进行学习,用来预测输出结果,是从有正确答案的例子中学习。
任务分类
定义:将数据映射到预先定义的群组或类(历史数据的特征)。算法要求基于数据属性值来定义类别,把具体某些特征的数据项映射到给定的某个类别上。
应用:信用卡申请人的风险评估、预测公司业务增长量、预测房价等。
常用分类:线性、决策树 tree、SVM、KNN、朴素贝叶斯 naive_bayes
集成分类:随机森林、Adaboot、GradientBoosting、Bagging、ExtraTrees
任务回归:
定义:用属性的历史数据预测未来趋势。算法首先假设一些已知类型的函数可以拟合目标数据,然后利用某种误差分析确定一个与目标数据拟合程度最好的函数。
集成回归:随机森林、Adaboot、GradientBoosting、Bagging、ExtraTrees。
常用回归:线性、决策树、SVM、KNN。
分类与回归的区别
- 分类模型采用离散预测值。
- 回归模型采用连续预测值。
1.1.2 无监督学习
定义:在没有标记的数据中发现一些规律。
任务原理:
- 在没有给定分类的情况下,根据信息相似度进行信息聚类。
- 聚类输入是一组未被标记的数据,根据样本特征的距离或相似度进行划分。划分原则是保持最大的组内相似性和最小组间相似性
应用:根据症状特定疾病、发现信用卡高级用户、根据上网行为对客户分群从而进行精准营销等
聚类:k均值(K-means)、层次聚类(Hierarchical clustering)、DBSCAN。
降维:LinearDiscriminantAnalysis、PCA。
1.1.3 半监督学习
定义:介于监督学习与非监督学习之间,一种增强型学习,问题可以通过决策来获得反馈,但反馈与某一个决策可能没有直接关系
1.2 数据集
1.2.1 训练集
定义:用来进行训练(产生模型或算法)的数据集
规模:50%
问题:过度拟合
1.2.2 测试集
定义:用来专门进行测试已经学习好的模型或算法的数据集
规模:25%
1.2.3 验证集
定义:调整参数变量
规模:余下部分
1.2.4 交叉验证
将数据集分层N块,使用N-1块进行训练,在另一块上测试。一次循环,知道每一款都测试过
优点:
1、充分利用数据,在数据较少的情况下也能有较好的表现。
2、交叉验证为模型的效果评估提供来了比只有一个数据集更准确的方法。
1.3 效果评估
无监督学习
值
真阳性(TP):正确识别出目标
假阳性(FP):错误识别目标
真阴性(TN):正确识别非目标
假阴性(FN):错误识别非目标
指标
准确率(ACC):(TPTN)/(TPTNFPFN)
精确率(P):TP/(FP+FN)
召回率(R):TP/(TP+FN)
监督学习
方差(variance)
偏差(bias)
偏差-方差均衡