华为人工智能之机器学习
· 比如定性,比如给判断男女,前面几组数据给定标准答案,之后让机器根据标准答案自行判断男女
· 比如定量,大部分回归结果都是数值类型。比如预测房价
· 线性回归
• 找出一条线或者多维空间是找一个平面,看你的数据和这条线或者平面的拟合程度
• 损失函数
• 传统线性回归利用损失函数求出损失值最小的权重w
• 多项式线性回归
• 是线性回归的扩展,为了补充传统线性回归的会明显欠拟合的状态
• 重点是x的n次方,加入多次方后就变得非常曲线,就增加了线性回归的非线性
• 线性回归与防止过拟合
• Ridge回归
• 因为先比于Lasso回归多了个平方,相当于对某些特征进行了增强和抑制(筛选了一部分特征,只用一部分特征完成拟合,来防止过拟合的效果)
• Lasso回归
· 逻辑回归
• 和线性回归有很大联系,其实就是加入了激活函数 e^x/1+e^x 和 1/1+e^x,将x换成了线性回归wx+b
• 最大似然估计
• 利用逻辑回归的损失函数得到最优值
• y是真实值,无非是0或者1,所以要不取+号前或者+号后
• 其实就是得到真实值是多少,或者真实值和预测值的差是多少
• 逻辑回归拓展
• 一般逻辑回归只能用于二分类,求出一个点,高于这个点是一个类,低于这个点是另一个类;但是多分类如何用逻辑回归求解,这时需要使用softmax函数
• 其实就是用e那个函数求出概率,然后用1到k的e那个函数累加进行相除,得到概率。
• 比如现在分别是1、2、3、4,总数是10,分别对应1/10、2/10….,这就是softmax的工作机制
· 决策树
• 根节点-子节点-叶节点
• 每个子节点节点就是一个特征,在特征上进行分类,然后对下一个节点进行输出。一直到叶节点,叶节点存放的值就是决策结果
• 决策树构建关键点
• 关键就是如何将所有特征进行划分,这时需要对划分操作的纯度进行比较,纯度比较用信息熵和GINI系数进行比较(越膨胀、越混乱,数值就越大)
• 如果分类前信息熵或者GINI很大,分类后很小那么就很成功
• 决策树构建过程
• 从训练数据集的特征中选择一个特征进行分裂,得到多个子集,分裂的特征将会从数据集中剔除,然后从剩余的子集中在选举特征进行分裂。但是不能分裂过多,否则会导致过拟合
• 预剪枝:生成的时候判断要不要生成
• 后剪枝:生成后根据结果判断要不要删除或者合并
· 支持向量 机SVM
• 是工业上非常成熟应用广泛的机器学习算法
• 线性支持向量机
• 如何将woman和man进行区分,红色线所选的点叫支持向量,黑色叫分割平面,支持向量到分割面的间隔最大就是SVM的核心
• 非线性支持向量机
• 低维映射到高维,利用了核函数(核函数在低维空间和高维空间的内积相同)
· K最邻近算法 KNN
• 核心思想就是近朱者赤近墨者黑
• 比如现在k=3,那么就从问号附近选三个点,那个特征多选哪个
• 分类
• 分类预测用多数表决法,就是刚刚介绍的
• 回归预测用平均值法,就是预测一个点,属于哪一类,将这一类所有的点取平均点,然后大概告诉一个位置
• k值
• k值越大,越容易欠拟合,因为范围太大
• k值越小,越容易过拟合
· 朴素贝叶斯
• 简单、常用
• 必须假设每个特征都是独立的。比如知道某一特征不能得出另外一个特征或结果
• 用途:是知道先验概率的情况下计算后验概率
• 比如知道了下雨概率,也知道下雨后打伞概率,现在要知道打伞的情况下下雨的概率
· 集成学习
• 多个臭皮匠赛过诸葛亮的思想
• 多个分类器超越单个分类器
• 原理
• 将数据集分成多个数据集,然后分别训练求出模型,进行模型合成得到最优的大模型
• 分类
• bagging
• 随机森林=bagging+cart决策树
• 将数据集分为多个子集,然后将决策树重复多遍得到多种预测,最后用分类或回归综合预测结果得出最终预测
• boosting
• 比如GBDT
• 比如你是30岁,构建一个弱学习器预测出是20岁,残差是10岁,效果不好
• 因为不可能只有一个弱学习器,多个弱学习器,所以有多个误差,然后拟合10岁这个残差,预测得出9岁。此时第1步和第2步相加会减少残差,此时残差是1岁;1岁再拟合得到1岁,最终20+9+1=30岁
• 缺点
• 但是缺点就是过拟合,GBDT的缺点也是过拟合
· 比如哪些用户喜欢看同一题材的电影,在数据在寻找隐藏的模式或分组。分为多个类别,类别内相似度大,类别间相似度小
· K-means
• 入聚类最终个数k,将n个数据对象划分为k个聚类,类内相似度大,类之间相似度小
· 层次聚类
• 将不同的数据集进行划分,形成树形聚类结构,划分可以自下而上或者自顶向下
· 数据清理:填充或者消除缺失值/异常值、合并数据源、数据汇总
· 数据降维:简化数据属性,防止特征值太多维度爆炸
· 数据标准化:减少相对不标准的数据,比如收钱的计量单位不同,提高模型准确性
· 不完整:数据有缺失值
· 多噪音:数据有异常值
· 不一致:数据有矛盾
· 我可以设定某一个阈值,然后根据数据的发散情况或者与业务是否相关来打分,一般都是当低于这个阈值的时候,就可以考虑过滤掉。
· 不断循环训练模型,进行目标函数的计算,一般我们是采用预测的效果来评分,逐一选择一定量的特征来做,不断循环,得到结果进行对比,这样就可以看到哪些特征不好。
· 滤法的进化版。如何理解这个进化版,原先我们采用过滤法的时候,很多时候是人肉直接撸一撸,但是这时候特征多呢,给你200个特征,然后我就可能瞎了或者手废掉了,此时的做法是此案用机器学习的算法或者模型来训练,然后可以得到各个特征的权重值,做个排序,干掉那些排序低的
· 泛化能力:在训练模型工作得很好,实际业务也好,也叫做鲁棒性
· 误差:分为训练误差和泛化误差,一般泛化误差越小越好(实际业务中)
· 欠拟合:训练模型误差大
· 过拟合:训练模型可以,泛化不行
· 指拟合各种函数的能力,又叫模型的复杂度
· 容量正好,算法效果最佳
· 容量不足,无法解决复杂任务,可能出现欠拟合
· 容量过大,可以解决复杂任务,但是太复杂容易出现噪声,可能出现过拟合
· 梯度下降
• 比如说这个图是MSE求预测值和真实值的误差,现在我们所处的点可能是有颜色的任意一个点,所以现在要用梯度下降法,以负梯度方向为搜索方向找到最快下降方向
• 学习率 * 下降梯度。不断优化W系数,最终收敛(求出预测值和真实值的差值是最小的;或者迭代次数最大了,因为不可能一直进行计算)
• 会出现局部最低点,是梯度下降法的局限性
• 三种梯度下降
• 批量梯度下降BSD:取全部样本的下降梯度的和再求平均值计算,最稳定但是过于消耗资源
• 随机梯度下降SGD:取随机一个样本的下降梯度计算。因为是随机所以会到来不稳定性(紫色)
• 小批量梯度下降MBGS:结合BSD和SGD,取n个样本(batch)求和求平均值。batch是比较重要的超参数,batch过小偏向SGD,过大偏向BGD
· 参数和超参数
• 参数:参数是模型自动学习的
• 超参数:人工设定的
• 从数据中提取出参数,来润滑优化模型。而参数是从火候训练中提取出来,如何更好的训练就需要超参数
• 模型的超参数是模型外的参数,通常由实践者直接指定或者根据经验得出
• 超参数获得方法
• 1将数据集分成训练集、验证集、测试集。
• 交叉验证
• 基于验证集
• 将训练集再分为训练集和验证集,用训练集对分类器进行训练,验证集验证得到模型评价分类器性能指标,是为了调节超参数
• k折交叉验证 K-CV
• k是任意数,如果k=3则是3折交叉验证
• 此时分为3份,每一份都当一次验证集,其余当训练集得到3个模型
•
• 2在训练集上根据模型的性能指标对模型参数进行优化。
• 3在验证集上根据模型的性能指标对模型的超参数进行搜索。
• 从验证集中得到最优超参数,但是超参数是需要进行调整的,所以有:
• 网格搜索
• 两个超参数就是平面网格,三个就是立体网格…
• 然后两两对应得到最优超参数
• 但是比较耗时且成本高
• 随机搜索
• 当超参数搜索空间比较大的时候,随机搜索优于网格搜索
• 4步骤2和步骤3交替迭代进行,最终确定模型的参数和超参数,并在测试集中评价模型的优劣。
· MAE
• 真实值 - 预测值的差求绝对值,再求和然后算平均数得到平均绝对误差
· MSE
• 真实值 - 预测值的差进行平方,再求和然后算平均数得到平均绝对误差
· R方
• 根据MSE,其中TSS表示样本之间的差异情况,RSS表示预测值与样本值之间的差异情况
· 以上不需要特别记忆,因为已经有一定的标准
· 混淆矩阵
• P:感兴趣的
• N:不感兴趣的
• TP:预测真+结果真
• TN:预测假+结果假
• FP:预测真+结果假
• FN:预测假+结果真
• 利用这些指标可以算很多东西,比如准确率、识别率、错误率等
姓名:
Q Q:
电话:
|