这里是斯坦福大学机器学习网络课程的学习笔记。课程地址是:https://class.coursera.org/ml-2012-002/lecture/index

本文对应第六周的讲课内容。

 

我们知道,一个模型不会是一撮而就的,需要根据问题不断改进已达到一个理想状态。
 
对于一个模型改进的思路通常有:
1. 增加训练样本集合;
2. 用更多/更少的特征;
3. 加大/减小正则化系数;
4. 提高预测函数阶数(对线性回归问题);
 
但这并不是说,为了改进模型,将上面的思路逐个尝试一遍,他们是分别适应不同的问题情形的。
那么如何判断何时用什么方法呢? 这个就需要首先对模型有分析,有了解。
 
如何判断一个模型的好坏?   
    用成本函数结果。(error)
在什么样的集合上计算?
    通常来讲在训练集合上成本会比测试集合小,我们要以测试集合作为计算成本的集合。
    但这样可能也会导致模型只适应预测集合,不够稳定。 所以最好的方式是采用交叉验证(cross validation)
什么是交叉验证?这里的交叉验证跟通常理解的不太一样。
     通常理解的交叉验证:在给定的样本集合中,每次拿出大部分样本进行训练,留小部分样本进行预测(计算误差)。 这个过程一直进行,直到所有的样本都被预报了一次而且仅被预报一次。
     这里的交叉验证:将样本集合分成三份 trainset/cv set/testset , 比例通常选为6:2:2, 用trainset训练,用cv set进行迭代,最后用test set进行评价。
 
如何分析模型数据?
(欠拟合对应bias problem,过拟合对应variance probelm)
 
1、 随预测函数阶数变化: 
      阶数越小导致bias问题,训练样本和cv样本上成本都很大
      阶数越大导致variance问题,训练样本成本小,cv样本成本大。

【Stanford Machine Learning Open Course】14. 分析和改进机器学习模型

【Stanford Machine Learning Open Course】14. 分析和改进机器学习模型
 
2、正则化模型随lambda变化趋势
     lambda越大,bias问题, 训练样本和cv样本上成本都很大。
     lambda越小,variance问题,训练样本成本小,cv样本成本大。 

【Stanford Machine Learning Open Course】14. 分析和改进机器学习模型

 

 
【Stanford Machine Learning Open Course】14. 分析和改进机器学习模型
 3. 随训练样本变化趋势
   当训练样本集合很小时,训练样本成本小,cv样本成本大。
   当训练样本集合很大时,成本接近,但训练集合的成本会比cv集合的小些。
   对于bias问题,当m变大时,cv样本误差和train样本成本会比较接近,但对variance问题,当m变大时他俩距离仍然相对较大。

【Stanford Machine Learning Open Course】14. 分析和改进机器学习模型

 
 对分类问题除了计算成本改进模型,对结果的评价也是有必要的。
1. 最简单的是用精度(accuracy), accuracy = 所有判断正确的样本个数/所有样本个数。
    这个在正向/负向样本比例不均衡的情况下效果不好。 
    假设有100个样本,其中只有5个是正向样本(y=1)), 95个是负向样本(y=0),  设H(x)=0 (所有样本都预测为y=0),那么accuracy=95/100=95%, 感觉很好,但实际上这种预测机制对所有正向样本都是失败的,显然不够合理。
 
2. 用准确率(P, precision) 、召回率( R, recall )
    recall = (y=1判断正确的个数)/(应为y=1的样本个数)
    precision = (y=1判断正确的个数)/(所有判断为y=1的样本个数)
    举例说明:对下图所示样本集合和预估结果,有:
       accuracy = (15+55)/100 = 70%
       precision = 15/(15+20) = 42.8%
       recall = 15/(15+10) = 60%
【Stanford Machine Learning Open Course】14. 分析和改进机器学习模型
 
 
3. 通常判断一个模型,只用一个指标,那么如何拟合precision和recall为一个指标呢?
    比较简单的处理,取均值 (P+R)/2, 但这个存在的问题是如果一个指标特别好,另一个很差时结果上体现不出来。
    通常我们用F1指标, F1 = 2PR/(P+R)
 
 
 

相关文章:

  • 2022-02-27
  • 2022-02-22
  • 2022-01-17
  • 2021-06-01
  • 2021-06-11
  • 2022-01-19
  • 2022-01-01
  • 2021-12-16
猜你喜欢
  • 2022-01-19
  • 2021-09-30
  • 2021-08-06
  • 2021-11-21
  • 2021-08-08
  • 2021-11-15
相关资源
相似解决方案