应用机器学习的建议
决定下一步做什么(Deciding What to Try Next)
-
训练好了的模型来预测未知数据的时候发现有较大的误差,我们下一步可以做什么?
-
获得更多的训练样本——通常是有效的,但代价较大,下面的方法也可能有效,可考虑先采用下面的几种方法。
-
尝试减少特征的数量
-
尝试获得更多的特征
-
尝试增加多项式特征
-
尝试减少正则化程度 λ \lambda λ
-
尝试增加正则化程度 λ \lambda λ
-
-
不应该随机选择上面的某种方法来改进我们的算法,而是运用一些机器学习诊断法来帮助我们知道上面哪些方法对我们的算法是有效的。
评估假设(Evaluating a Hypothesis)
-
目的: 检验算法是否过拟合
-
方法: 随机将数据分成训练集(70%)和测试集(30%),测试集评估在通过训练集让我们的模型学习得出其参数后,对测试集运用该模型,我们有两种方式计算误差:
-
对于线性回归模型:
- 利用测试集数据计算代价函数: J t e s t ( θ ) = 1 2 m t e s t ∑ i = 1 m t e s t ( h θ ( x t e s t ( i ) ) − y t e s t ( i ) ) 2 J_{test}(\theta)=\cfrac{1}{2m_{test}}\displaystyle\sum^{m_{test}}_{i=1}(h_\theta(x^{(i)}_{test})-y^{(i)}_{test})^2 Jtest(θ)=2mtest1i=1∑mtest(hθ(xtest(i))−ytest(i))2.
-
对于逻辑回归模型:
-
利用测试机数据计算代价函数: J t e s t ( θ ) = − 1 m t e s t ∑ i = 1 m t e s t y t e s t ( i ) l o g h θ ( x t e s t ( i ) ) + ( 1 − y t e s t ( i ) ) l o g h θ ( 1 − x t e s t ( i ) ) J_{test}(\theta)=-\cfrac{1}{m_{test}}\displaystyle\sum^{m_{test}}_{i=1}y^{(i)}_{test}logh_\theta(x^{(i)}_{test})+(1-y^{(i)}_{test})logh_\theta(1-x^{(i)}_{test}) Jtest(θ)=
-
-