机器学习
机器学习要做的就是在数据中学习有价值的信息
核心思想
不断优化寻找更合适的参数,优化求解,当给定一个目标函数之后,自然就是想办法使真实值和预测值之间的差异越小越好
各技术的基础
数据分析、图像识别、数据挖掘、自然语言处理、语音识别
机器学习流程
数据收集与预处理
大数据处理技巧(防止内存溢出)
属性类型转换
数据类型转换
特征工程
特征抽取
数值特征
字符串编码
二值与多项式特征
连续值离散化
对数与时间变换
文本特征
词袋模型
常用文本特征构造方法
TF-IDF特征
相似度特征
聚类特征
主题模型
词向量模型
评估与预测
回归算法
逻辑回归算法
二分类任务
优点
简单实用,在机器学习中并不是一味地选择复杂的算法,简单高效才是王道
结果比较直观,参数值的意义可以理解,便于分析
简单的模型,泛化能力强,更通用
梯度下降算法(优化迭代目标函数)
梯度下降算法流程
找到当前最合适的方向,对于每个参数都有各自的方向
走一小步,走的越快,方向偏离越多,可能就走错路了
按照方向与步伐去更新参数
重复1-3步
决策树算法
决策树是一种基于树形结构来进行决策的机器学习算法,它可以用于分类和回归问题
优缺点
优点:决策树的优点是简单易懂,能够处理非线性关系,能够同时处理分类和回归问题,并且在处理大量数据时具有较高的计算效率。
缺点:容易过拟合、对噪声数据敏感等
解决决策树的过拟合问题
预剪枝
在构建决策树的同事进行剪枝,目的是限制决策树的复杂程度,常用的停止条件有树的层数、叶子节点的个数,信息增益阈值等指标,这些都是决策树算法的输入参数,当决策树的构建达到停止提交后就会自动停止
目前较流行,也是主流用的
后剪枝
决策树构建完成之后,通过一定的标准对其中的节点进行判断,可以自己定义标准
做起来比较麻烦,因为首先需要构建出完整的决策树模型,然后再一点一点比对
信息增益
比较划分前后的熵值,如果划分之后的熵值比之前的小,就说明这次划分是有价值的
创建决策树
便利数据集中所有特征,看看那个特征能够使熵值下架最多,信息增益最大的就是要找的根节点
在剩下的特征中再找到使得信息增益最大的特征,以此类推,直到构建完成整个树模型
集成策略
3大核心策略
bagging集成策略(boostrap aggregating)
随机森林算法
随机森林首先是一种并联的思想,同时创建多个树模型,它们之间是不会有任何影响的,使用相同参数,只是输入不同
为了满足多样性的要求,需要对数据集进行随机采样,其中包括样本随机采样与特征随机采样,目的是让每一刻树都有个性
将所有的树模型组合在一起。在分类任务中,求众数就是最终的分类结果,在回归任务重,直接求平均值即可
集成策略特点
并联形式,可以快速的得到各个基础模型,它们之间不会相互干扰,但是其中也存在问题,不能确保加进来的每一个基础树模都是对结果产生促进作用,可能有个别树模型反而拉后腿
可以进行可视化展示,树模型本身就具有这个优势,每一个树模型都具有实际意义
相当于半自动进行特征选择,总是会先用最好的特征,这在特征工程中一定程度上省时省力,适用于较高纬度的数据,并且还可以进行特征的重要性评估
boosting集成策略
boosting算法的核心思想就在于要使得整体的效果越来越好,整体队伍是非常优秀的,一般效果的树模型想加入进来是不行的,只要最强的树模型
stacking集成策略
与前两个策略使用相同的基础模型进行不同方式的组合不同,可以使用多个不同算法模型一起完成一个任务
都是以树模型为基础
支持向量机(SVM)
构建机器学习模型(案例)
数据分析与预处理
样本不均匀解决方案
下采样
选取部分数据,让正常样本和宜昌样本数据保持一致
过采样
假造数据,使样本数据保持一致
SMOTE数据生成策略
对于少数类中每一个样本x。以欧式距离为标准,<br>计算它到少数类样本集中所有样本的距离,经过排序,得到其近邻样本<br>
根据样本不平衡比例设置一个采样倍率N,对于每一个少数样本x<br>从其近邻开始一次选择N个样本
对于每一个选出的近邻样本。分别与原样本按照如下的公式构建新的样本数据
特征标准化
希望数据经过处理后得到的每一个特征值都在较小范围内浮动
数据特征决定结果上限,而模型的调优只决定如何接近这个上限
特征归一化
数据清洗
特征提取
缺失值填充
交叉验证
划分数据集
验证集
通过切分训练集得到9份新的训练集以及1份验证集
减少数据结果的偏差,使结果更准确
原始数据进行划分,下采样数据也进行划分
模型评估方法
结论
准确率(Accuracy)
表示在分类问题中,做对的占总体百分比
TP+TN/TP+TN+FP+FN
召回率(Recall)
表示在正例中有多少能预测到,覆盖面的大小
TP/TP+FN
精确度(Precision)
表示被分为正例中实际为正例的比例
TP/TP+FP
正则化惩罚
把控模型参数,使样本数据泛化能力强
正常模型
逻辑回归模型(建模)
对不同的验证集进行建模与评估分析
混淆矩阵
分类阈值
深度学习算法
使用多层简单的、可调整的计算单元的机器学习
深度神经网络(Deep Neural Networks, DNN)
是深度学习的基础,由多个隐藏层组成的神经网络。每个隐藏层都包含多个神经元,并通过非线性激活函数进行信息传递和特征提取。
卷积神经网络(Convolutional Neural Networks, CNN)
主要应用于图像和视觉任务,通过卷积操作和池化操作对图像进行特征提取和降维。CNN在计算机视觉领域中取得了很大的成功,如图像分类、目标检测等任务。
循环神经网络(Recurrent Neural Networks, RNN)
用于处理序列数据,具有记忆性。RNN通过反馈循环连接实现对序列中先前状态的信息保持,并能够对不同长度的序列进行建模。RNN的变体包括长短时记忆网络(LSTM)和门控循环单元(GRU)等。
生成对抗网络(Generative Adversarial Networks, GAN)
由生成器网络和判别器网络组成的对抗模型。生成器网络试图生成逼真的样本,而判别器网络则尝试区分生成的样本与真实样本。通过对抗训练,生成器网络逐渐提高生成样本的质量。
自编码器(Autoencoders)
用于无监督学习和特征提取