机器学习公开课备忘录(三)机器学习算法的应用与大数据集

 机器学习公开课备忘录(三)机器学习算法的应用与大数据集

对应机器学习公开课第六周和第10周算法

机器学习算法模型的选择与评价

一、对于一个data,能够将data划分为training set、test set和cross validation set三类(比例60%、20%、20%),其代价函数值分别为\(J_{train}、J_{test}、J_{cv}\),例如在构建新特征 \(x\) 的多项式时,能够假设不一样的阶次 \(d\)\(x\) 的多项式,利用training set获得各个多项式的具体参数,利用cross validation选择多项式模型中性能最好的一组,即肯定最佳的 \(d\),而test set则用于评价最终模型的性能。
二、模型在泛化时中常见的两类问题是欠拟合与过拟合。前者表明数据有大的误差,即平均值和真实值偏离;后者表明有大的方差,即平均值和真实值接近,可是波动幅度大。对于正则项,\(\lambda\) 过大时引起了underfit(欠拟合)问题,反之则引起overfit(过拟合问题), \(\lambda\) 的选择一样能够根据cross validation set来选择。绘制m和\(J_{train}、J_{cv}\)的曲线,能够观察系统存在的问题:

对于高误差,最终测试集的偏差和训练集偏差随着样本m的提升很是接近,可是这偏差值很是高,离咱们指望值较远;而对于高误差,测试集偏差和训练集偏差在m很大时仍然有必定差距,且随着m的增大而继续接近。这也说明,试图经过增大样本数量来改善模型性能的,只对高误差的过拟合问题有效。
三、对于系统的过拟合和欠拟合问题,一些能够尝试的解决办法以下机器学习

解决方案 问题
更多data high variance
更少特征 high variance
增长额外特征 high bias
增长特征阶次 high bias
增大正则参数 high bias
减少正则参数 high variance

四、某些状况下,测试集的存在不能很好地评估系统性能,例如对于偏斜类问题(即分类问题中,某个类别特别少),所以还有一种评价方法:函数

预测\真实 1 0
1 true positive false positive
0 false negative true negative

此时,有 \[查准率P = \frac{TP}{TP+FP}\] \[查全率R = \frac{TP}{TP+FN}\] \[F=2*\frac{PR}{P+R}\]性能

大数据集的使用

梯度降低法的使用

一、在正式开始前,能够选用较小的数据集,绘制学习曲线,来大体寻找参数范围
二、批量梯度降低法须要读入全部数据才完成一次更新,在数据量过大时,速度很缓慢,为了提升速度,有两种方法:学习

a. 随机梯度降低法:每读入一个数据,就进行参数更新:\[\theta_j=\theta_j-\alpha(h_\theta(x^{(i)})-y^{(i)})x_j^{(i)}   j=0,...,n \] 直到将m个数据所有读入更新完毕,而后打乱数据集顺序,再从新读入一次,通常要重复1~10次;随机梯度降低法只能逼近最小值,但不能达到。若要绘制曲线,则可每读入一个数据,就计算该数据的代价,每扫描必定数量的数据,就计算平均cost,而后绘制一个点,最后获得曲线测试

b. 小批量梯度降低法:每读入b(1<b<m)个数据,就进行参数跟新:
say b=10,m=1000
repeat{
 for i=1,11,21,...,991{
   \(\theta_j=\theta_j-\alpha\frac{1}{10}\sum\limits_{k=i}^{i+9}(h_\theta(x^{(k)})-y^{(k)})x_j^{(k)}  j=0,1,...,n\)大数据

 }
}spa

在线学习机制

  1. 每读入一个数据,就进行更新,而后舍弃数据
  2. 能适应并反应用户偏好的变化

MAP REDUCE

  1. 分散计算——汇总,以此来加快求解速度
  2. 算法必须能表示成求和的形式
相关文章
相关标签/搜索