下一步做什么?
为了提高预测函数的准确率,可能采取的办法有:
- 更多样本
- 尝试去除一些特征
- 尝试增加一些特征
- 尝试提高特征的幂
- 增大或减小/(/lamda/)
如果只凭感觉来决定下一步做什么可能会浪费许多时间。
1 训练集、测试集
按照7:3的方式将已有样本分为训练集和测试集。对训练集进行训练得到预测函数后,计算该预测函数在测试机中的代价函数。
对于线性回归,

对于逻辑回归,
$$err(h_\Theta(x),y) = \begin{matrix} 1 & \mbox{if } h_\Theta(x) \geq 0.5\ and\ y = 0\ or\ h_\Theta(x) < 0.5\ and\ y = 1\newline 0 & \mbox otherwise \end{matrix}$$ |

在测试集中的代价函数可以反映预测函数的优劣,但它还不能帮助我们选取一个好的预测函数。
2 训练集、交叉验证集、测试集
按照6:2:2的比例将已有样本分为训练集、交叉验证集和测试集,使用训练集求出多个模型下的预测函数,再分别计算这些预测函数用于交叉验证集中的代价函数,选取在交叉验证集中最小代价函数的那个预测函数,再用测试集进行测试。
这章还有一些内容,懒得笔记了,以及支持向量机的内容。
特征数量n,样本数量m
n大于m,用逻辑回归或线性核函数的SVM
n小,m不是特别大,用高斯核函数的SVM
n小,m特别大,增加特征数量,再使用逻辑回归或线性核函数SVM
以上都可以用神经网络,但有时会比SVM慢