机器学习

我的未来我决定 提交于 2019-12-03 13:37:32

如何评价算法的好坏
如何解决过拟合和欠拟合
如何调节算法的参数
如何验证算法的正确性

什么是机器学习:

机器学习算法
输入大量学习资料
模型
输入样例
输出结果

机器学习的主要任务:

  • 分类

    • 二分类
    • 多分类:图像识别,数字识别,风险评级…
      一些算法只支持二分类的任务
      但是多分类的任务可以转换成二分类的任务
      有一些算法天然可以完成多分类任务
  • 回归

    • 结果是一个连续数字的值。而不是一个类别

有一些算法只能解决回归问题
有一些算法只能解决分类问题
有一些算法的思路既能解决回归问题,又能解决分类问题

一些情况下, 一个回归任务可以简化成分类任务

机器学习方法的分类

  • 监督学习

    • 给机器的训练数据拥有“标记”或者‘答案’
    • K近邻
    • 线性回归和多项式回归
    • 逻辑回归
    • svm
    • 决策树和随机森林
  • 非监督学习

    • 给机器的训练数据没有任何“标记”和“答案”
    • 对没有标记的数据进行分类 - 聚类分析
    • 对数据进行将维处理(特征提取, 特征压缩:PCA, 方便可视化,异常检测)
  • 半监督学习

    • 一部分数据有标记或答案,另一部分数据没有
    • 更常见:各种原因产生的标记缺失
    • 通常都先使用无监督学习手段对数据做处理,之后使用监督学习手段做模型的训练和预测
  • 增强学习

    • 根据周围环境的情况,采取行动,根据采取行动的结果,学习行动方式
    • 在这里插入图片描述
      机器学习的其他分类
  • 在线学习和批量学习(离线学习)

    • 批量学习
      优点:简单
      问题:如何适应环境变化?
      解决方案:定时重新批量学习
      缺点:每次重新批量学习,运算量巨大
      在某些环境变化非常快的情况下,甚至不可能的
机器学习算法
输入大量学习资料
模型
输入样例
输出结果
+ 在线学习
机器学习算法
输入大量学习资料
模型
输入样例
输出结果
正确结果
	优点:及时反映新的环境变化
	问题:新的数据带来不好的变化
	解决方案:需要加强对数据进行监控
	其他:也适用于数据量巨大。完全无法批量学习的环境
  • 参数学习和非参数学习
    • 参数学习
      一旦学到了参数。就不需要原来的数据集

    • 非参数学习
      不对模型进行过多假设
      非参数不等于没有参数

在这里插入图片描述

  • 数据即算法?
    数据确实非常重要
    数据驱动
    收集更多的数据
    提高数据质量
    提高数据的代表性
    研究更重要的特征

  • AlphaGo Zero: 算法处理

  • 奥卡姆的剃刀:简单的就是好的

  • 没有免费的午餐定理:可以严格的数学推到出:任意两个算法,他们的期望性能是相同的
    具体到某个特定问题。有些算法可能更好
    但没有一种算法,绝对比另一种算法好
    脱离具体问题,谈哪个算法好是没有意义的
    在面对一个具体问题的时候,尝试使用多种算法进行对比试验,是必要的

环境搭建
anaconda

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!