由于下个月开始投简历,本期只大致讲解大数据相关机器学习,下一期(工作后)再重点讲解。
主要内容
高等数学矩阵前置知识
机器学习概述
特征工程
模型选择
梯度下降算法
数学前置知识
矩阵
大学学过就不作详细说明
图解矩阵
A中每个元素aij的下标,i代表元素所在行,j代表元素所在列,其中 i, j > 0
对于Amn,当 m = n,即矩阵的行数与列数相等,那么称A为方阵
对于方阵,从左上角到右下角的直线,叫做主对角线,主对角线上的元
素称为主对角线元素。
当矩阵的元素全部为0,那么称为零矩阵
当方阵只有对角线元素为1,其余元素都为0,那么称为单位矩阵
矩阵加法
矩阵乘法
1. 数与矩阵相乘
数值与矩阵每一个元素相乘
2. 矩阵与矩阵相乘
A * B,那么有A 矩阵 m * n,B矩阵 n * k,也就是要求左侧矩阵的列数,
必须等于右侧矩阵的行数,结果矩阵C为 m * k 矩阵。
结论: 一行乘一列,行定列移动,列尽下一行
矩阵转置
行变列,列变行
A矩阵为 n * m 矩阵,转置之后为 m * n 矩阵
机器学习前置知识
1. 什么是机器学习?
机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸优化、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。
通过输入海量训练数据对模型进行训练,使模型掌握数据所蕴含的潜在规律,进而对新输入的数据进行准确的分类或预测。
2. 机器学习分类
有监督学习:提供数据并提供数据对应结果的机器学习过程。
无监督学习:提供数据并且不提供数据对应结果的机器学习过程。
强化学习:通过与环境交互并获取延迟返回进而改进行为的学习过程。
无监督学习中的K-Means聚类算法:
3. 机器学习过程
4. 机器学习可以做什么?
预测
4. 训练集与测试集
我们将数据输入到模型中训练出了对应模型,但是模型的效果好不好呢?我们需要对模型的好坏进行评价。
我们将用来训练模型的数据称为训练集,将用来测试模型好坏的集合称为测试集。
训练集:输入到模型中对模型进行训练的数据集合。
测试集:模型训练完成后测试训练效果的数据集合。
特征工程
特征 :数据中抽取出来的对结果预测有用的信息。
特征 —— 数据的观测维度
特征工程是使用专业背景知识和技巧处理数据,使得特征能在机器学习算法上发挥更好的作用的过程。
特征处理分为:数值型、类别型、时间型、统计型。
1. 数值型
用连续数值表示当前维度特征,通常会对数值型特征进行数学上的处理。
① 幅度调整 / 归一化
特征与特征之间应该是平等的,区别应该体现在特征内部。
例如房屋价格和住房面积的幅度是不同的,房屋价格可能在3000000 ~ 15000000(万)之间,而住房面积在40~300(平方米)之间,那么明明是平等的两个特征,输入到相同的模型中后由于本身的幅值不同导致产生的效果不同,这是不合理的。
② 离散化
将原始连续值切断。
让座问题:假设我们要训练一个模型判断在公交车上应不应该给一个人让座,按照常理,应该是给年龄很大和年龄很小的人让座。
对于以上让座问题中的年龄特征,对于一些模型,假设模型为 y = x,输入的x(年龄)对于最后的贡献是正/负相关的,即x越大越应该让座,但很明显让座问题中,年龄和是否让座不是严格的正相关或者负相关,这样只能兼顾年龄大的人,无法兼顾年龄大的人和年龄小的人。
对于让座问题,我们可以使用阈值将年龄进行分段,将一个age特征分为多个特征,将连续值离散化。
在电商中,每个人对于价格的喜好程度不同,但它不一定是严格的正相关或负相关,某些人可能就喜欢某一价格段内的商品。
机器学习基础
模型选择
交叉验证(cross validation)是模型选择的常用方法,交叉验证主要分为保留交叉验证,K重交叉验证、留1交叉验证等。
如果给定的样本数据充足,我们可以将数据切分成三部分,分别为训练集、验证集和测试集。训练集用来训练模型,验证集用于模型的选择,而测试集用于最终对机器学习方法的评估。在学习到的不同复杂度的模型中,选择对验证集有最小预测误差的模型。由于验证集有足够多的数据,用它对模型进行选择也是有效的。
但是,在许多实际应用中数据是不充足的,为了选择好的模型,可以采用交叉验证方法。交叉验证的基本思想是重复地使用数据。交叉验证把给定的数据进行切分,将数据集合分为训练集与测试集,在此基础上反复地进行训练、测试以及模型选择。
梯度下降算法
凸函数
注意与数学中的凸函数的区别
沿着梯度方向迭代,迭代后的θ使损失函数J(θ)更小: