刚刚学了Andrew Ng在Coursera上的Machine Learning公开课,感觉在学习的过程中,有一些疑惑,尤其是各种算法之间的联系,以及在模型训练中遇到的普遍性的注意点,这里做一个回顾和总结。
到底选择哪种机器学习算法来分类?
Logistic regression与SVM的比较
假设training set是m,feature维度为n,不同的情形选择与之对应的算法,简要描述如下表所示:
一些好的建议如下:
a) 逻辑回归算法和带有线性核函数的支持向量机算法很类似,通常适应同样的情形。
b) SVM算法适合用于选择不同的核函数来学习复杂的非线性函数。
c) 以上所以情形都可以用神经网络(NN)算法。
d) SVM的优点是有一个凸性的最优函数,所以你可以获得全局最优解。
e) 通常不能轻易知道用什么算法时,执行以下措施:
- 获得更多数据
- 设计新的特征
- 调试算法
f) 对于非线性问题,SVM通常是个很强大的学习算法。