Deep_Learning第三个子课程《Introduction to ML Strategy》笔记。
这一子课程一共分了2周的课程,没有讲实质的算法,讲的是在实际中如果去解决一个机器学习问题, 或者说是在实现算法过程中,该如何一步一步去提升算法,它又应该基于一个怎么样的策略。
实话说,这一部分听着比较无聊,一是因为自己没有这样的一个经历,不能感同身受,二是这一部分主要是一个intuition
上的东西,
比较的玄,三是这一部分确实有一点无聊。
由于以上原因,这一部分笔记先简单记一下,待到之后或许会重新来看一遍视频。
正交化
意思是参数的正交化,也就是尽量使得要调整的参数正交化,这样参数调整起来才不会互相影响。(暂时并不能太理解具体的操作)
模型的目标
对于整个机器学习系统来说,提高算法精度是肯定的,但是还可能需要考虑到很多其它的问题,例如计算速度、内存占用、假真率啊等等。
有的目标是越小/大越好,有的是只要满足就行,这就叫做Optimizing metric and Satisficing
。
另外要注意到train set
与dev set
以及test set
它们之间的分布关系,如果分布区别很大,或者说训练的目标就不是我们本来的目标的话(不同的分布导致不同的目标),
显然算法的表现将不会很好。
Avoidable bias and variance
首先对于一个机器学习问题,它存在着一个精度的上限,叫做Bayes Error
,它从数学上证明了这个问题它的一个精度上限,没有任何算法或者人能超过它。
第二在这么一个问题上,可能有一个人类的精度上限human-level performance
,代表着直接让人来做的误差。
然后在train set
上的误差就是training error
,dev set
上的误差就把它叫做dev error
。
那么,对于Bayes Error
,没法直接知道,所以通常使用human-level performance
来表示我们算法想要达到的一个精度目标,
所以training error
与human-level performance
之间的差值就叫做avoidable bias
,也就是算法还差多少拟合能力。
training error
与dev set
之间的差值就叫做variance
,表示模型的泛化能力。
这两个精度差就可以指示我们,当前的模型问题出在哪个地方。
后一周
不好总结,需要时可以再去看一遍…