作者:572370080_8f9421 | 来源:互联网 | 2023-10-10 11:38
推荐系统-机器学习理论基础详解
1.大数据时代究竟改变了什么?(了解)
- 改变的是思维方式
- 1.数据重要性:
- 2.方法论:
- 基于知识的理论完美主义-------基于数据的历史经验主义
- 翻译:你好吗?
- 基于知识翻译:----借助语言学家
- 你 you your
- 好 good best等
- 吗 do does等
- Are you good?
- Are you well?
- How are you?(选择)
- 基于数据的翻译:
- Are you good?
- Are you well?
- How are you?(选择)
- 3.数据分析:
- 统计学(抽样)--------------数据科学(大数据)
- 4.计算智能:
- 复杂算法---------------简单算法(MapReduce)
- 5.决策方面:
- 6.业务方面:
- 基于业务的数据化---------基于数据的业务化
- 7.产业竞合:
- 以战略为中心---------------以数据为中心
2.大数据的4V特征(理解)
- 1.数据量大
- TB-PB-ZB
- HDFS分布式文件系统解决大数据的存储问题
- 2.数据种类多
- 结构化数据
- 非结构化数据
- 图像、音频等
- HDFS、MR、Hive等可以解决和处理
- 半结构化数据
- XML形式、HTML形式
- HDFS、MR、Hive、Spark等可以解决和处理
- 3.速度快
- 数据的增长速度快
- 数据的处理的速度快
- MR-HIVE-PIG-Impala(离线)
- Spark-Flink(实时)
-
4.价值密度低
- 价值密度=有价值的数据/ALL
- 价值高
- 机器学习算法解决的问题
3.大数据项目架构-以电信日志分析为例(理解)
- 以电信日志分析为例
- 项目名称:电信日志分析系统
- 项目描述:电信日志分析系统是以电信用户上网所产生的数据进行分析和统计计算,数据主要来源于用户的上网产生的访问日志和安全日志,通过Hadoop大数据平台完成日志的入库、处理、查询、实时分析、上报等功能,达到异常IP的检测、关键词过滤、违规违法用户的处理等,整个项目数据量在1T-20T左右,集群数量在10台到100台。
- 项目架构分析:
- 数据采集层:ftp、socket方式进行数据传输
- 数据存储层:HDFS
- 数据分析层:MR\HIVE\IMPALA(离线)\SPARK(实时)
- 机器学习层:在大数据处理后的应用
- 数据展示层:oracle+SSM
- 项目职责:
- 重点负责:实时or离线
- 处理分析了那些
字段
,通过何种手段进行分析
- 项目有没有优化?
- 项目优化:
- 大数据架构图
4.机器学习-人工智能发展(了解)
- 人工智能的三次浪潮
- 跳棋-----专家系统-----IBM公司
- 象棋-----统计模型-----IBM公司深蓝
- 围棋-----深度学习----DeepMind
- 人工智能场景应用:
- 图像识别
- 无人驾驶
- 智能翻译
- 语音识别
- 医疗智能诊断
- 数据挖掘 ---- 啤酒和尿布
5.机器学习-人工智能概念区别和联系(掌握)
- 机器学习是人工智能的一个分支
- 人工智能的分支
- 深度学习:
- 深度学习是机器学习的一种方法,是为了解决机器学习领域中如图像识别等问题提出。
- 人工智能如何落地?
- 图示
6.机器学习-数据、数据分析、数据挖掘区别和联系(掌握)
- 数据:观测值或测量值
- 信息:可信的数据
- 数据分析:数据—信息(整理 , 筛选和加工等过程)
- 数据挖掘:信息—有价值的信息提取
- 数据库给数据挖掘提供了数据管理技术
- 统计学 , 模式识别提供了数据分析技术
- 模式识别:图像识别
- 深度学习方法---->机器学习方法------>数据挖掘事情(模式识别)
- 流程 : 数据------数据分析----信息------数据挖掘------有价值信息
7.什么是机器学习(掌握)
- 机器学习 == 机器 + 学习
- 人类学习 == 大脑 + 经验
- 机器学习 == CPU + GPU(图形图像处理器) + 数据 + 算法(智能)
- 概念:机器学习致力于研究如何通过计算(CPU+GPU计算)的手段,在给定算法结合数据构建模型,通过模型达到预测的功能。
- 如何判断问题是否为机器学习问题?
- 特定问题:— 不需要使用机器学习
- 看是否具有
预测
的过程
8.基于规则的学习和基于模型的学习(掌握)
- 基于规则的学习是
硬编码
的方式进行学习
- 基于模型的学习是通过数据构建机器学习模型,通过模型进行预测。
- X(自变量、定义域-----特征)------f(函数、映射----->模型)----->Y(因变量、值域-----结果)
- 最终目的求解y=kx+b中的k和b
- 机器学习学习的是什么?
- 学习的是模型
- 学习的是模型中的k和b------参数------参数是需要学习的
9.机器学习关于数据集的概念(掌握)
- 什么样的数据集
- 数据集的行—
样本
/实例
- 数据集的列—
特征
/属性
- 特征张成的空间----特征或属性空间
- 组成属性空间中的样本点----特征或属性向量
- 组成特征向量中的值----特征或属性值
- 将数据集切分成
训练集(X:[特征]+Y:[类别标签])
和测试集(X:[测试数据]+Y:[预测结果] , 可以与原来的Y进行比较)
- 使用训练集+算法构成模型解决实际问题
- 误差(y-y_pred):进行校验结果情况
- 如果对于非数值的特征,需要进行特征转换
- labelencoder标签编码
- onehotencoder编码(独热编码)
- 如何对二分类问题进行评价?
- 绝对值误差函数(|y-y_pred|)
- 平方误差函数(y-y_pred)**2
- 训练误差 : 训练集
- 测试误差 : 测试集
- 泛化误差 : 新数据预测
- 性能矩阵(混淆矩阵)
- Accuracy准确率/正确率 ==
(TP+TN)/ALL
- Precsition 精确率 ==
TP / (TP+FP)
- Recall=TPR 真正率或召回率 ==
TP/(TP+FN)
- FPR假正率 ==
FP/(FP+TN)
- F1-Score(F1值) 精确率和召回率的调和平均 ==
2/({1/pre+1/recall})
==2*pre*recall/(pre+recall)
- ROC(受试者工作曲线)曲线的AUC(Area under Cruve[0,1])指标
- 图示
9-4 概念学习
- 概念学习:关于布尔函数(是或否)的学习方式
- 关系式:X-----F----->Y
- 引出了机器学习分类:
- 根据
是否是连续值的预测
,分为
-
分类问题
----离散值预测
,如小明学习水上运动 —目标标记为类别数据
-
回归问题
----连续值预测
,如房价预测 —目标标记为连续性数值
- 机器学习处理问题框架:
- 1.将数据集切分为训练集和测试集
- 2.通过训练集的特征向量来训练算法
- 3.通过测试集测试模型,给出评价指标
10.机器学习分类详解(理解)
- 监督学习和无监督学习区别:
是否有类别标签
- 监督学习----有类别标签
- 是否具备连续值的预测
- 分类
- 决策树算法
- KNN
- SVM
- Perception&&NeuralNetwork
- Bayes(贝叶斯)
- LogisterRegression(逻辑斯特回归)
- 回归
- 简单线性回归
- 多元线性回归
- Lasso回归
- Ridge回归
- ElasticNet
- 无监督学习(非监督学习)----没有类别标签
- 聚类
- 降维:将某几个合并为一维的
- 通过机器学习算法达到降维目的,区别于特征选择
- 特征降维 : 根据算法将高维特征降低到了低维特征 , 低维的特征不具备可解析性
- 区别于特征选择 : 仅是在全部特征中选择部分特征
- 半监督学习:一部分有类别标签 , 一部分没有类别标签(了解)
- 主动学习
- 纯半监督学习(未将未标记数据作为待测数据)/直推学习(将未标记数据作为待测数据)
-
强化学习:(了解)
- 解决
连续决策问题
— 围棋
-
迁移学习:(了解)
- 深度(特征)+强化(连续决策)+迁移(模型适应性问题)
- 总结图解
监督学习具有明确目标 , 无监督学习没有任何目标 , 强化学习介于两者之间
11.机器学习经典案例举例-手写体识别(了解)
- 手写体识别案例
- 明确:机器学习监督学习中的分类问题
- 10分类问题
- 32*32矩阵—转化为1*1024列的矩阵----通过SVM算法-----识别结果
- 车牌识别、图像识别
12.机器学习三要素详解及概念强化(熟悉)
-
机器学习模型=数据+算法+策略
- 数据:参考上面图示(鸢尾花数据)
- 算法:提供求解参数的方法
- 解析解------平常方法
- 最优解------梯度下降法(最优解)、牛顿法
- 策略:
损失函数/误差函数/目标函数
-
模型学习模型=模型+算法+策略
- 模型:
- 决策函数—输出0或1
- 条件概率函数----按照概率进行输出
-
常见的损失函数
- 平方损失函数 : 不适合分类问题 , 适用于连续值回归问题
13.如何设计机器学习系统(了解)
- 首先明确:
- 该问题是否为机器学习问题?—是
- 该问题是机器学习哪方面的问题?----监督学习、无监督学习
- 当拿到数据之后从下面两个角度思考问题:
- 从数据角度思考:
- 根据具备的数据看能够做监督学习or无监督学习or半监督学习
- 从业务的角度思考
- 特征工程
- 数据+选择的算法==>模型
- 通过测试集测试模型,给定最终模型
- 如果有新数据,通过模型给出预测结果
14.模型选择-泛化性能体现(掌握)
- 模型的泛化能力:
- 1.欠拟合(underfitting)
- 模型在训练集和测试集的效果都很差
- A:60% B:58%
- 欠拟合出现原因:模型过于简单
- 欠拟合出现的场景:模型训练初期
- 欠拟合解决办法:
- 增加模型的多项式的项
- 增加模型多项式的项的次数
- 减少正则罚项
- 2.过拟合(overfitting)
- 模型在训练集上的效果很好,但是测试效果很差
- A:100% B:80% — 轻微过拟合
- A:100% B:40%
- 过拟合的出现原因:模型过于复杂、数据不纯、训练数据量太少
- 过拟合的出现场景:出现在模型训练的中后期
- 过拟合解决办法:
- 针对模型过于复杂的特性,增加正则罚项
- 重新清洗数据
- 增加训练数据量
- 对样本抽样或特征进行抽样
- dropout—随机丢弃一些点(深度学习)
- 注 : 增加正则罚项使得数据变得稀疏
防火防盗防过拟合
- 奥卡姆剃刀原则:如果具有相同泛化误差的模型,选择较为简单的模型(防止过拟合)
15.机器学习三要素数学理论补充(理解)
- 数据
- 算法
- 策略
- 损失函数、目标函数、误差函数
- 损失函数越小越好
- 损失函数的期望越小越好p(x,y)不容易求解
- 经验损失-----------平均损失-----------经验风险最小化
- 结构风险-----------在经验风险基础上增加了正则罚项-----结构风险最小化
- 参考图示:
- 随着模型的复杂度的增加,模型在训练集上的误差越小的,但是模型在测试集上的误差先减少然后增加,这里需要找到一个合适的点,该点需要模型具备很好的泛化误差能力,因此得到了结构风险最小化的点对应的就是求解的最佳的点,该点对应的参数即为所求解参数。
- 图示
16.正则化(了解)
- 正则项
- 目的:为了降低模型的复杂度
- 有以下几个正则项:
-
L1正则+lambda*|w|
-
L2正则+lambda*|w|**2
17.交叉验证(了解)
- 简单交叉验证:
- 将数据集切分为:训练集和测试集=7:3 6:4 8:2
- K则交叉验证:
- 将数据集平均随机切分为K等分,将其中一份数据作为测试集,其余数据作为训练集,训练K个模型,得到平均准确率
18.为什么现在是进入机器学习最佳时机(了解)
- 因为现在有了很多的成熟的机器学习库
- 需要能够在深入原理的基础上,结合已有的机器学习框架,解决实际问题
- 那些库?
- 基于Python的sklearn(scikit-learn库)
- 基于spark的mllib库
- 基于spark的sparkR库
- 基于Java的Weka库
- 深度学习库:
- 基于java的dl4j
- 基于python的tensorflow
- 基于tensorflow之上的pytorch、keras等
- 重点以Python为主展开
19.总结