Regression 学习笔记

http://speech.ee.ntu.edu.tw/~tlkagk/courses_ML17_2.html课程的学习笔记

regression:直译似乎是回归,觉得更直接一种说法应该是预测,通过找出拟合历史数据的函数,预测未来数据。

  1. 半监督学习:有一点标记数据,大部分未标记数据。监督学习:所以数据都已标记。
  2. gradient 是列向量,值为loss function的偏微分
  3. regression的一种简单model是 y = wx+b, 跟高中学的线性回归几乎一样。不过这里的w、b、x不是一个数,而是矩阵。复杂一点的模型可能是二次、三次等。
  4. 越复杂的model可能在training data越好,但testing data不一定,可能造成过拟合(overfitting)
  5. regularization。Loss Function加上w,希望w越小越好,那y会更平滑,对noise不sensitive。
  6. 简单的model受数据影响小,但可能会有较大的bias(误差)。复杂的model能包含更多情况,但对noise更sensitive。
  7. 简单model可能会underfitting,解决办法有:增加更多的feature作为输入;选用更复杂的model。
  8. 复杂的model可能回overfitting(在training data效果好,testing data效果差),解决办法:更多data;regularization,在loss function加入w,希望w越小越好。
  9. 当不知道选什么model时,不应该从model中直接选一个testing set的error小的,因为这会使得error受这个testing set的noise影响,导致在更大的(实际生活中的)testing set中效果很差。应该把training set分为training set和validation set,用validation set来选model,选出model再用整个training set来训练。
  10. 所以testing set是来衡量error的,而不是选model。
  11. 如果担心validation set的bias很大,那就cross validation,比如把training set分为三份,每份都做一次validation set,算平均error来选model。
  12. learning rate。偏小则loss function值降得慢;偏大则一开始降的快,之后趋于平缓,一直下不去;极大则可能先降然后一直升。
  13. 应该逐渐减小learning rate。比如用adagrad方法。
  14. 为了加快loss function,可以只用一个样本的值去计算loss function,这样效率更高。
  15. Feature Scaling。当两个feature分布不同时,应令其分布尽量相似,这样对y的影响也会相似,做参数update更高效。想象两个feature,画loss的等高线,当分布相似时,loss等高线是圆,这样会一直向圆心走。如果是椭圆就不是向圆心了。
  16. regression不一定能求出最优值,因为loss function可能在斜率为0的地方就停住了。

Q:
1. 如果model是一次的,一定会是最优值,因为其loss function 是二次函数,只有一个斜率为零的点且一定是最小值?
2.

猜你喜欢

转载自blog.csdn.net/ZhaoBuDaoFangXia/article/details/79500614