机器学习-笔记6

 前面打了一坨字。。。。。被网页搞掉了,伤心ing算法

 我就捡重要的说。。。。伤心ingcors

 1.corss validation(交叉验证)和test(验证)的区别,由于andrew的视频里讲的有些模糊,后来baidu了一些资料加深了理解。cross validation比较好的方法是k-折交叉验证:将训练样本集随机地分红k个互不相交的子集,每一个折的大小大体相等。利用k-1个训练子集,对给定的一组参数创建回归模型,利用剩下的最后一个子集的MSE评估参数的性能。根据以上过程重复K次,所以每一个子集都有机会进行测试,根据k次迭代后获得的MSE平均值来估计指望泛化偏差,最后选择一组最优的参数。test就比较单纯。有一个说法是cv是与假设相关的,test是不相关的。ide

2.bias和variance的区别,这个要说清楚不大可能,可是你能够很容易地区别它,high bias就是说选择的假设模型离真实假设太远,high variance就是假设过于复杂。high bias容易欠拟合,high variance容易过分拟合。下面是解决两种状况的一些方法汇总性能

 

两个图说明两者区别:(high bias)学习

 

 

(high variance)测试

 

3.error analysis:(不必定都有用)spa

4.error metrics:用来应对这种状况:某种样例几率很低(好比患×××),不到0.1%,那么算法判断全部人不患×××,他的准确度也极高。error metrics就是用来应对这种状况的。orm

首先是几个定义:对于一个假设,能够获得下面一个矩阵:视频

 

For reference: blog

  • Accuracy = (true positives + true negatives) / (total examples)
  • Precision = (true positives) / (true positives + false positives)
  • Recall = (true positives) / (true positives + false negatives)
  • F1  score = (2 * precision * recall) / (precision + recall)

F1  score 就是判断算法优秀度的数字。

5.最后是本身学习的部分,andrew的open class里没有讲遗传算法相关的东西,因此须要本身之后学习。新借到的一本书还不错,大概学了一些启发搜索,比较有意思的是模拟退火,挺有意思的。加油!