机器学习之一——基础知识

1 前言

    学会机器学习不仅要懂得这些算法的理论过程,而且要非常熟悉怎样使用它,什么场合用它,算法的优缺点,以及如何调参等。学好机器学习数学真的很重要哇,高数、矩阵论、线性代数要硬啃,但是个人感觉还是在运用的过程中理解比较重要,融会贯通,毕竟最终我们还是要实际应用嘛

2 机器学习的分类-如何寻找合适的算法

2.1 分类

2.2 选择算法流程

1 选进行大类的选择

2 进行分类、聚类、回归、降维小类的选择

3 运用机器学习的步骤

1、抽象成数学问题

2、数据获取及分析

  获取的数据要有代表性,否则必然会过拟合。对于分类问题,数据偏斜不能过于严重,不同类别的数据数量不要有数个数量级的差距。 而且还要对数据的量级有一个评估,多少个样本,多少个特征,可以估算出其对内存的消耗程度,判断训练过程中内存是否能够放得下。如果放不下就得考虑改进算法或者使用一些降维的技巧了。如果数据量实在太大,那就要考虑分布式了。

3、数据预处理

  数据清洗、数据归一化、扩充等。归一化、离散化、因子化、缺失值处理、去除共线性等,数据挖掘过程中很多时间就花在它们上面。这些工作简单可复制,收益稳定可预期,是机器学习的基础必备步骤。 

4、特征工程

  筛选出显著特征、摒弃非显著特征,需要机器学习工程师反复理解业务。这对很多结果有决定性的影响。特征选择好了,非常简单的算法也能得出良好、稳定的结果。这需要运用特征有效性分析的相关技术,如相关系数、卡方检验、平均互信息、条件熵、后验概率、逻辑回归权重等方法。

5、训练模型选择与调优

  要根据数据的实际情况和具体要解决的问题来选择模型,比如样本数、特征维度,数据特征综合考虑;要解决的问题是分类还是回归,问题需要网络去关注哪方面,结合实际情况选择网络。调优问题,可以采用交差验证,观察损失曲线,测试结果曲线等分析原因,调节参数:优化器、学习率、batchsize等。可以尝试多模型融合,来提高效果。

6、后处理

  网络的到的结果一般不直接使用,通过一些后处理方案,不如加入先验约束,一些处理,将明显错误去除。

7、模型评估

  从各个方面评估,模型准确率、误差,时间、空间复杂度,稳定性、迁移性等

4 数学基础

4.1 微积分基础

泰勒公式,导数与梯度等等

4.2 概率统计基础

    概率论+统计(很多数据分析建模基于统计模型)、统计推断、随机过程。可以毫不夸张的说,概率论+统计是机器学习的核心数学理论。

4.3 线性代数基础

     矩阵表示、矩阵运算、特征根、特征向量是基础中的基础,主成分分析(PCA)、奇异值分解(SVD)、矩阵的特征分解、LU 分解、QR 分解、对称矩阵、正交化和正交归一化、矩阵运算、投影、特征值和特征向量、向量空间和范数(Norms),这些都是理解机器学习中基本概念的基础。还有重要的矩阵求导,机器学习中好多优化问题最终都归结到矩阵求导上。

发布了30 篇原创文章 · 获赞 17 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/selinaqqqq/article/details/89377650