2019-09-28

当一个模型达不到预期,可以改进的方法有?

  1. 减少不必要的feature
    2.增加有用的feature
    3.增加polynomial
    4.增加m
    5.增加lambda
    6.减少lambda

如何评估一个模型?

1.将samples随机分布
2.将sample 分成training set(70%)和test set(30%).
3.用training set训练theta
4.计算test set error。
a.输入hx和y。
如果预算成功(hx>=0.5 && y ==1 或者hx <0.5 && y ==0)返回
0,预算不成功返回1.
b. 求和所有samples的预测,除以m。

如何选取polynomial?(model selection problem)

a.将samples分成training set(60%), cv(cross validation) set(20%), test set(20%)三部分。
b.用training set对不同degree的poly训练最小cost。
c.在cv set 中找error最小的poly。
d.在test set中计算cost,看看error有多少。

影响准确度的因素,以及如何影响?

poly degree

  1. 对于training set:error和poly degree成反比。poly degree 越高,error越小。
  2. 对于cv set/test set。有一个中点,在该点error最小,远离该点error变大。
  3. bias问题: J-training 和 J-test 都大
    variance问题:J-training很小,J-test很大。

m个数

  1. bias时,training set的error起始值很小,随着m增大逐渐升高,升高速率越来越慢;test set、cv set的error起始值高,逐渐降低,降低速率越来越慢,与training set 的error相近。随着m的增加 test set error 不会变化太多。
  2. variancne时,training set 和 test/cv set error变化与bias时相类似,但两者相差较远,随着m的增加 test set error 和 training set error 逐渐接近。
  3. 所以variance下m多准确率高,而bais 下m多没有用处。

lambda

  1. 随着lambda的增大,training set 的 error 增高,增长速率也逐渐增快。
  2. 随着lambda增大, test set error图像程凹形,中点error最低,远离中点error逐渐增高。
  3. test set 和 training set error 都高说明lambda太大,模型处在high bias中。
  4. test set error高, training set error低说明lambda太小,模型处在high variance中。

你可能感兴趣的:(2019-09-28)