机器学习的基本算法都有哪些?
-
SVM(Support Vector Machine)支持向量机,SVM算法是介于简单算法和神经网络之间的最好的算法。只通过几个支持向量就确定了超平面,说明它不在乎细枝末节,所以不容易过拟合,但不能确保一定不会过拟合。可以处理复杂的非线性问题。
决策树(有监督算法,概率算法):只接受离散特征,属于分类决策树。条件熵的计算 H(Label |某个特征) 这个条件熵反映了在知道该特征时,标签的混乱程度,可以帮助我们选择特征,选择下一步的决策树的节点。 Gini和entropy的效果没有大的差别,在scikit learn中默认用Gini是因为Gini指数不需要求对数,计算量少。把熵用到了集合上,把集合看成随机变量。
决策树:贪心算法,无法从全局的观点来观察决策树,从而难以调优。叶子节点上的最小样本数,太少,缺乏统计意义。从叶子节点的情况,可以看出决策树的质量,发现有问题也束手无策。
逻辑回归(线性算法):它是广义线性模型GLM的一种,可以看成是一个最简单的神经网络,损失函数是一个对数似然函数,损失函数的值越大越好。
朴素贝叶斯应用场景:源于推理的需要,例如:通过商品的描述(特征X)来推理商品的类别(Y)。“朴素”:特征与特征之间是独立的,互不干扰。如果特征比较多时,往往独立性的条件不重要(互相抵消),可以用朴素贝叶斯。