1、基本概念:训练集,测试集,特征值,监督学习,非监督学习,半监督学习,分裂,回归
2、概念学习:人类学习概念(婴儿):鸟,狗;车,房子;黑匣子和计算机
定义:概念学习是指从有关某个布尔函数(是或否)的输入输出训练样例中推断出该布尔函数
3、决定小明是否享受运动
c(x)=1,当享受运动时;c(x)=0当不享受运动时,c(x)也可作为y
x:每一个实例(每一行数据6个属性的值)
X:样例,所有实例的集合
学习目标:f:X->Y
4、训练集/训练样例:用来进行训练,也就是产生模型或者算法的数据集
测试集/测试样例:用来专门进行测试已经学习好的模型或者算法的数据集
特征向量:属性的集合,通常用一个向量来表示,附属于一个实例
标记(lable):c(x),实例类别的标记
正例(positiv example)
反例(negative example)
5、根据是否是连续值的预测,分为两种问题:
分类(classification)目标标记为类别型数据(category)
回归(regression)目标标记为连续性数值(continuous numeric value)
例子:研究肿瘤良性,恶性于尺寸,颜色的关系
特征值:肿瘤尺寸,颜色
标记:良性/恶性
有监督学习(supervised learning):训练集有类别标记(class lable)
无监督学习(unsupervised learning):无类别标记
半监督学习(semi-suoervised learing):有类别标记的训训练集+无标记的训练集
机器学习步骤框架
1、把数据集拆分为训练集和测试集
2、用训练集和训练集的特征向量来训练算法
3、用学习来的算法运用在测试集上来评估算法(可能要设计到调整参数(parameter tuning))–验证集(validation set)
6、监督学习与无监督学习区别:是否有类别标签:
监督学习:是否具备连续值的预测,分为:分类,回归
分类(邮件分类):决策树算法;KNN算法;贝叶斯算法;SVM算法;LR算法…
回归(房价预测):线性算法,LASSO回归,Elasticnet回归,Ridge回归
7、非监督学习
人们给机器一大堆没有分类标记的数据,让机器可以对数据分类,检测异常等。
1、聚类(KMeans);2、降维(PCA,LDA)
聚类:在没有类别标签的情况下,根据特征相似性或相异性进行分类。
通过特征之间的相似性
降维特征:根据算法将高维特征降低到了低维特征,低纬度的特征不具备可解析性;区别于特征选择:仅是在全部特征中选择部分特征
8、半监督学习:
一部分有类别标签,一部分没有类别标签
聚类的假设:将有标记的样本和无标记的样本混合在一起,通过特征之间的相似性将样本分成若干个组或者是若干个簇,使得组内的相似性较大,组件的相异性较大,将样本点进行分组,此时,分组的样本点既包含了有类别标签的,也包含没有类别标签的,根据有类别标签的样本,按照少数服从多数的投票原则对没有加标记的样本添加标记。至此,所有未标记数据都可以分配标记。
9、强化学习
是机器学习的重要分支,主要用来解决连续决策的问题
围棋可以归纳为一个强化学习问题,需要学习在各种局势下如何走出最好的招法。
深度学习(提取特征) 强化学习(连续问题) 迁移学习(适应)
10、经典案例
手写体识别案例
明确:机器学习监督学习中的分类问题
10分类问题
32*32矩阵—转换为1行1024列的举证-----通过SVM算法------识别结果
车牌识别、图像识别
按照同样流程操作
11、机器学习三要素
机器学习模型=数据+算法+策略
模型学习=模型+策略+算法
12、如何设计机器学习系统
首先明确:
该问题是否为机器学习问题?
该问题是机器学习哪方面问题-监督学习,无监督学习
当拿到数据之后从下面两个角度思考问题:
从数据角度思考:
根据具备的数据看能够做监督学习or无监督学习or半监督学习
从业务的角度思考
根据业务部门制定的业务反向,整理数据,从而建模
特征工程
对特征处理
对数据的处理
数据+选择的算法----模型
通过测试集测试模型,给定最终模型
如果有新数据,通过模型给出预测结果
欠拟合、过拟合,泛化性能较好
模型具有好的泛化能力是指:模型不但在训练数据集上表现的效果比较好,对于新数据的适应能力也有很好的效果
泛化能力的表现:过拟合和欠拟合
15、模型选择-泛化性能体现
模型的泛化能力:
1、欠拟合underfitting: 在训练数据和位置数据上表现都很差。
欠拟合出现的原因:模型过于简单
场景:模型训练初期
解决方法:
增加模型的多项式的项
增加模型多项式的项的次数
2、过拟合overfitting :模型对于训练集上的数据表现良好,在位置数据或者测试集上表现差。
出现原因:模型过于复杂,数据不纯、训练数据量太少
场景:模型训练的中后期
解决方法:
针对模型过于复杂的特性,增加正则罚项
重新清洗数据
增加训练数据量
对样本抽样或特征进行抽样
dropout,即采用随机采样的方法训练模型常用语神经网络算法中。
模型选择的-奥卡姆剃刀原则:如果具有相同泛化误差的模型,选择较为简单的模型(防止过拟合)
16、机器学习三要素数学理论
数据
算法
策略
损失函数、目标函数、误差函数
损失函数越小越好
损失函数的期望越小越好p(x,y)不容易求解: Rexp(f)=Ep[L(Y,f(X))]
经验损失—平均损失------经验风险最小化
结构风险-----在经验风险基础上增加了正则罚项----结构风险最小化
参考图示:
随着模型的复杂度的增加,模型在训练集上的误差越小的,但是模型在测试集上的误差先减小人后增加,这里需要找到一个合适的点,该点需要模型具备很好的泛化误差能力,因此得到了结构风险最小化的点对应的就是求解的最佳的点,该点对应的参数即为所求解参数。
17、 正则化
正则项
目的:未来降低模型的复杂度
有几个正则项:
L1正则+lambda*|w|
L2正则+lambda*|w|**2
18、交叉验证
简单交叉验证:
将数据集切分为:训练集和测试集=7:3 6:4 8:2
K则交叉验证:
将数据集平均随机切分为K等分,将其中一份数据作为测试集,其余数据作为训练集,训练K个模型,得到平均准确率
留一验证:
特殊的K则交叉验证
19、成熟的机器学习库
基于Python的sklearn(scikit-learn库)
基于spark的mllib库
基于spark的sparkR库
基于Java的Weka库
深度学习库:
基于Java的dl4j
基于python的TensorFlow
基于TensorFlow之上的pytorch、keras等