|一文读懂机器学习( 二 )

|一文读懂机器学习
本文插图

一些典型的监督学习算法有:

  • k近邻
  • 线性回归
  • 逻辑回归
  • SVM
  • 决策树和随机森林
  • 神经网络
  • Unsupervised learning 无监督学习
无监督学习未提供正确的响应 , 而是算法尝试识别输入之间的相似性 , 以便将具有共同点的输入归类在一起 。 用于无监督学习的统计方法称为密度估计(density estimation) 。
|一文读懂机器学习
本文插图

一些重要的非监督学习方法:
  • 聚类
  • 可视化和降维
  • 关联性规则
  • Reinforcement learning 强化学习
强化学习这是在监督学习和无监督学习之间的某个地方 。 当答案错误时 , 系统会告知该算法 , 但不会告诉你如何更正该算法 。 它必须探索并尝试各种可能性 , 直到找到正确的答案 。 强化学习有时被称为与批评者一起学习 , 因为该监视器可以对答案进行评分 , 但不能提出改进建议 。
|一文读懂机器学习
本文插图

机器学习的过程
  • 数据收集和准备: 通常很难收集 , 要么是因为它需要进行很多测量 , 要确保它是干净的;它没有重大错误 , 缺少数据等 , 需要考虑数据量 。 机器学习算法需求大量的数据 , 最好没有太多的噪音 , 但是增加了数据集的大小增加了计算成本 , 并且用足够的数据达到了最佳效果而没有过多的计算开销通常是不可能的 。
  • 特征选择:这个始终需要事先了解问题和数据;算法根据给定的数据集 , 选择合适的算法 。
  • 参数和模型选择:对于许多算法 , 有一些参数可以必须手动设置 , 或者需要进行实验才能确定适当的值 。
  • 训练给定数据集 , 算法和参数:训练应该简单地使用计算资源以建立数据模型以进行预测新数据的输出 。
  • 评估: 在部署系统之前 , 需要对其进行测试和评估以确保其性能, 对未经训练的数据的准确性计算 。
如何衡量一个模型的好坏
learning的目的是更好地预测输出 。 知道算法成功学习的唯一真实方法是将预测与已知的目标标签进行比较 , 这是针对监督学习进行训练的方式 。 这表明你可以做的一件事就是仅查看算法对训练集train set造成的错误error 。 但是 , 我们希望算法能推广到训练集中没有看到的数据 , 并且显然我们无法使用训练集对其进行测试(因为数据已经被看见过了) 。 因此 , 我们还需要一些不同的数据(一个测试集test set)来对其进行测试 。 我们通过输入测试集(input, target) 对到训练好的网络中 , 并将预测的输出与目标进行比较 , 不做权重或其他参数修改:我们使用它们来确定算法的性能怎么样 。 这样做唯一的问题是它减少了我们可用于训练的数据量 , 但这是我们必须忍受的 。
  • Overfitting
但实际情况要比上面的描述要复杂 , 我们可能还想要了解算法在学习过程中的一般性: 我们需要确保进行足够的训练以使算法有很好的一般性 。 实际上 , 过度训练的危险与训练不足中的危险一样大 。 在大多数机器学习算法中 , 可变性的数量是巨大的-对于神经网络 , 权重很多 , 并且每个权重都可以变化 。 因此我们需要小心:如果训练时间太长 , 那么我们将过度拟合数据 , 这意味着我们已经学习了数据中的噪声和不准确性 。 因此 , 我们学习的模型太复杂了 , 无法推广 。
|一文读懂机器学习
本文插图


推荐阅读