机器学习:
一、机器学习工作流程:
获取数据—数据预处理—特征工程—机器学习—模型评估
二、机器学习三要素:
知识:数据
算法:公式
模型:参数
三、分类
1、有监督:
回归和分类(输出是类别)。输入的数据样本有标签。(好比题有答案)有标签,有反馈,预测结果。
2、无监督:
聚类、降维、可视化和关联规则学习,输入的数据样本无标签,物以类聚(聚类算法),(类似于写作文,没有特定的答案)无标签,无反馈,发现潜在结构,比如自动聚类,常用于检测异常值。
3、半监督:
(有监督+无监督)训练集数据一部分有标签,其余无标签,训练集同时含有有标记样本和无标记样本。案例:循证医学
4、强化学习:
长跑过程或者说是一个自动决策过程,又或者说是一个试错的过程。用来决策希望一段时间后获得更多的累计奖励。
四要素:agent(主体),环境状态,行动(策略),奖励。
四、特征工程:
what
指使用专业背景知识和技巧处理技术,使得特征能在机器学习算法上发挥更好的作用的过程。(直接影响机器学习的效果)
why
数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。
how
1、特征提取:将任意数据(如文本或图像)转换为可用于机器学习的数字特征。
2、特征预处理:通过一些转换函数将特征数据转换成更加适合算法模型的特征数据过程。
3、特征降维:在某些限定条件下,降低随机变量(特征)个数,得到一组‘不相关’主变量的过程。
五、机器学习项目流程
1、抽象成数学问题:明确可以获得什么样的数据,抽象出的问题是一个分类还是回归或者聚类的问题。
2、获取数据:数据决定了机器学习结果的上限,算法只是尽可能的逼近这个上限。
数据要有代表性,否则必然会过拟合。
对于分类问题:数据偏移不能过于严重,不同类别的数据量不要有数量级的差距。
评估数据,多少个样本,多少个特征,估算出其对内存的消耗程度,判断训练过程中内容是否能够放得下。若放不下考虑改进算法或者使用一些降维的技巧。数据量太大,考虑分布式。
3、特征预处理与特征选择:特征预处理、数据清洗。归一化、离散化、因子化、缺失值处理、去除共线性等。即数据挖掘。
筛选出显著特征、拚弃非显著特征,是机器学习工程师反复理解的任务。特征有效性分析的相关技术:相关系数、卡方检验、平均互信息、条件熵、后验概率、逻辑回归权重等方法。
4、训练模型与调优:算法训练。调整这些算法的(超)参数,是结果变得更加优良。
5、模型诊断:过拟合、欠拟合判断是模型诊断中至关重要的一步。常见的方法**:交叉验证、绘制学习曲线**等。
误差分析也是机器学习至关重要的步骤。通过观察误差样本全面分析产生误差的原因:是参数的问题还是算法选择的问题,是特征的问题还是数据本身的问题。
诊断过后需要调优,调优后新模型需要重新进行诊断。这是一个迭代不断逼近的过程。
6、模型融合:提升算法准确度的方法在模型的**前端(特征清洗和预处理,不同的采样模式)与后端(模型融合)**上下功夫。因为他们比较标准可复制,效果比较稳定。直接调参的工作不会很多,毕竟大量数据训练起来太慢了,而且效果难以保证。
7、上线运行:模型在线上运行的效果直接决定模型的成败。包括准确程度、误差、运行的速度(时间复杂度)、资源消耗程度(空间复杂度)、稳定性是否可接受。
六、常用云服务
1、微软
2、亚马逊
3、谷歌(市场占比小)
4、阿里云
5、腾讯云
6、百度云