机器学习入门报告之 解决问题一般工作流程
来源:互联网 发布:鸡鸣狗吠,兄嫂当知之 编辑:程序博客网 时间:2024/06/06 02:59
对于给定的数据集和问题,用机器学习的方法解决问题的工作一般分为4个步骤:
一. 数据预处理
首先,必须确保数据的格式符合要求。使用标准数据格式可以融合算法和数据源,方便匹配操作。此外还需要为机器学习算法准备特定的数据格式。
然后,直接得到的数据集很少可以直接使用,可能有以下原因:
1. 样本某些属性缺失
2. 某些样本未标记
3. 样本属性过多
4. 没有分出训练集和测试集
5. 不同类别训练样例比例相差太大
对于1,2这样的情况,在该类样本数较少的情况下一般通过删除该类无效样本来清洗数据。
对于3
·过多的特征可能误导学习器
·更多的特征意味着更多的参数需要调整,过拟合的风险加大
·数据的可视化要求维度不高于3
·维度越少训练越快,可尝试的东西越多,能得到更好地效果
·数据的维度可能虚高。
解决方法就是降维,降维分为特征选择法和特征抽取法。
特征选择法:
所谓特征选择,就是选择样本中有用、跟问题相关的特征。事实上并不一定样本的所有属性对具体问题都是有用的,通过一定的方法选择合适的特征可以保证模型更优。常用的方法大致分三类:过滤式、包裹式和嵌入式。
特征抽取法:
特征抽取试图将原始特征空间转换成一个低维特征空间而不丢失主要信息。无法使用选择方法来删除特征,而特征又太多的时候,这种方法很有效。我们可以通过主成分分析PCA和线性判别式分析和多维标度法来验证。
对于4,为了方便训练和验证模型好坏,数据集一般会以9:1或者其他合适比例(比例选择主要基于实际问题)分为测试集和验证集。如果给定的数据集只是已经标记好的样本,那么划分时必须保证数据集和测试集的分布大致均匀。
对于5,即类别不均衡问题,处理的一个基本策略是—再缩放。
二. 选定算法
一种方式是根据有没有标记样本考虑。
如果是有标记样本,可以考虑有监督学习,反之则是无监督学习。
无监督学习方法主要是聚类。随机选定几个样本,通过一定的算法不停迭代直至收敛或者达到停止条件,然后便将所有样本分成了几类。
对有监督学习而言,根据最终所需要的输出结果
如果是分类问题,可以参考的模型有线性回归及其非线性扩展、决策树、神经网络、支持向量机SVM、规则学习等
如果是回归问题,可以认为是分类的连续形式,方法便是以上模型的变种或扩展
如果涉及到概率,可以参考的有神经网络、贝叶斯、最大似然、EM、概率图、隐马尔科夫模型、强化学习等
三. 训练算法
将格式化数据输入到算法,从中抽取知识或信息。这里的得到的知识需要存储为计算机可以处理的格式,方便后续使用。
四. 性能评估和优化
如果要评估训练集和测试集的划分效果,常用的有留出法、交叉验证法、自助法、模型调参等
如果模型计算时间太长,可以考虑剪枝
如果是过拟合,则可通过引入正则化项来抑制(补偿原理)
如果单个模型效果不佳,可以集成多个学习器通过一定策略结合,取长补短(集成学习)
- 机器学习入门报告之 解决问题一般工作流程
- 学习ORACLE 的入门 (一般流程)
- Nutch 一般工作流程
- 机器学习如何解决问题
- logstash入门之工作流程
- 机器学习产品经理工作流程
- 机器视觉的一般流程
- 机器学习入门-问题处理流程
- 机器学习入门之了解机器学习
- 一般的UI工作流程
- Git工作的一般流程
- 机器学习解决问题的步骤
- 机器学习解决问题的框架
- 机器学习解决问题的步骤
- Struts2 之入门以及工作流程
- 机器学习之入门Numpy
- 机器学习入门 之 概论
- 机器学习入门之基本概念
- realloc可能导致的内存泄露
- JVM 调优常用命令
- Selenium笔记 原理分析及其使用之一 webdriver
- 计算语言学之条件熵与联合熵、相对熵与交叉熵的应用
- 金蝶EAS,后台业务逻辑,SQL查询
- 机器学习入门报告之 解决问题一般工作流程
- 一篇文章让你认识PHP中的面向对象思想
- 选择Python版本并在Windows上安装Python + Python基本语法(会持续更新)
- Duplicate Symbols for Architecture arm64
- 学习老鸟如何优化sql
- 文章标题
- Lua函数的调用(:和.的调用区别)
- linux文件系统的系统分析--(五)路径名的查找
- gdb调试多进程和多线程命令