如何理解机器学习或者向别人解释机器学习?
机器学习模型有两个分类方法:
监督学习或半监督学;
判别模型和生成模型
判别模型是对条件概率做建模,如:LR、SVM、DT等
生成模型是对联合Lav做建模:
如:朴素贝叶斯
学习过程中要不断掌握不同模型之间的联系与区别,不要形成模型认知孤岛;
大多数的模型拆解后,都是这几个部分的组合,即:模型 = 假设函数 + 损失函数 + 优化算法
- 假设函数中x和y之间的映射;如LR:Sigmio(wx+b);决策树中的分段函数;
- 损失函数:通过验证机结果的比较,调整模型的学习方法;
- 优化算法:如何缩小与结果之间的差距,梯度下降GD、SGD、rmsprop、aolam/nesttrov/L-BFGS
机器学习的套路?
机器学习算法看起来那么多,其实套路就一个。那么多算法是背不下来的,自己知道他们怎么根据套路想出来的就可以。
套路就三步:
- 选取一种数学模型来对数据进行分类预测。线性回归是用直线这个数学模型来划分数据。逻辑回归是用 Sigmoid 这个函数来输出一个概率值。决策树是想用一个二叉树来对数据分类(二叉树也是一个数学模型)。
- 确定一个评估模型的指标。这是我们通常讲的目标函数。为何要确定评估模型的指标呢?因为第 1 步所选取的数学模型有未知参数,这个未知参数得我们自己根据训练集来计算出来。那么我咋知道未知参数到底取值是多少最好,这就需要一个评估指标。一般评估指标是长这样 (^y−y)2/N ,这个评估指标描述的是各个点和模型之间距离的平均值。还有其他的评估指标。像逻辑回归和决策树就是用概率来评估参数好不好,什么概率呢?就是当前所设定的参数把输入的数据所属分类预测对的概率。
- 根据 2 中的评估模型来遍历找“让评估指标达到最高的参数”(优化算法)。如果可以遍历那就遍历,如果参数是无法遍历那就用梯度下降(或者其他反正是用来求比较好的参数的)。