日常学习-20200817-20200221

1、大多数元素都是0的矩阵称为稀疏矩阵,否则称为稠密矩阵。规模巨大的稀疏矩阵在应用机器学习中很常见,尤其在自然语言处理领域中,例如独热编码。稀疏矩阵的表示、计算会增加空间和时间复杂度,因此描述稀疏矩阵的稀疏性需要进行特殊的表示,以提高存储和计算性能。

2、南大周志华老师写的《机器学习》这本书上原文:“为普通稠密表达的样本找到合适的字典,将样本转化为合适的稀疏表达形式,从而使学习任务得以简化,模型复杂度得以降低,通常称为‘字典学习’(dictionary learning),亦称‘稀疏编码’(sparse coding)”块内容。

3、Spark Application 

Spark Application 使用:

  • 针对单个批处理作业
  • 多个job通过session交互式
  • 不断满足请求的,长期存在的server
  • 一个Spark job 可以包含多个map和reduce
  • Spark Application 可以包含多个session实例

Spark Session

SparkSession与Spark应用程序相关联:

  • session 是两个或更多实体之间的交互媒介
  • 在Spark 2.0中,你可以使用SparkSession创建
  • 可以在不创建SparkConf,SparkContext或SQLContext的情况下创建SparkSession(它们封装在SparkSession中)

createOrReplaceTempView:创建临时视图,此视图的生命周期与用于创建此数据集的[SparkSession]相关联。

createGlobalTempView:创建全局临时视图,此时图的生命周期与Spark Application绑定。

4、distribute by imei sort by imei, seqno

Distribute By: 在有些情况下,我们需要控制某个特定行应该到哪个reducer,通常是为了进行后续的聚集操作。distribute by子句可以做这件事。distribute by类似MR中partition(自定义分区),进行分区,结合sort by使用。

order by 会对数据进行全局排序,和oracle和mysql等数据库中的order by 效果一样,它只在一个reduce中进行所以数据量特别大的时候效率非常低。

sort by 是单独在各自的reduce中进行排序,所以并不能保证全局有序,一般和distribute by 一起执行,而且distribute by 要写在sort by前面。如果mapred.reduce.tasks=1和order by效果一样,如果大于1会分成几个文件输出每个文件会按照指定的字段排序,而不保证全局有序。

distribute by

DISTRIBUTE BY 控制map 中的输出在 reducer 中是如何进行划分的。使用DISTRIBUTE BY 可以保证相同KEY的记录被划分到一个Reduce 中。

cluster by

distribute by 和 sort by 合用就相当于cluster by,但是cluster by 不能指定排序为asc或 desc 的规则,只能是升序排列。

5、RFM

RFM是用户关系管理中的常用模型,通过分析用户的最近消费日期、消费频次、消费金额来衡量其价值和创利能力。

RFM分别指的是最近一次消费(Recency) 、消费频率(Frequency)、消费金额(Monetary),又来有学者在此基础上增加了生命周期分析(life),因此就有了RFM_L模型。

6、VectorIndexer、StringIndexer

主要作用:提高决策树或随机森林等ML方法的分类效果。

VectorIndexer是对数据集特征向量中的类别(离散值)特征(index categorical features categorical features )进行编号。

StringIndexer:字符串-索引变换,就是将某些标签的字符串列编号变成标签索引项。标签索引项序列的取值范围就是
[0,numLabels](这里的numLabels是所有出现的单词去掉重复的词后的总和)。
这里的标签索引项顺序就是按照标签出现的频率来排序的,出现最多的标签索引就是0(倒序)。

7、Pipeline作用

Pipeline诞生场景: Redis基于请求/响应模型,单个请求处理需要一一应答

  • Pipeline可以批量执行指令(比如我们可以把大量指令先写到txt文件,再一次性读取),节省多次IO往返的时间(前提这大量指令之间无依赖)
  • 有顺序依赖的指令建议分批发送

8、特征交叉与特征组合、合成特征

特征交叉是数据特征的一种处理方式,通过特征组合的方式增加特征的维度,以求得更好的训练效果。在实际场景中,我们常常遇到这要的情况,线性分类起无法在如下样本中(无法画一条直线将下列黄点和蓝点分开),所以特征组合是一种让线性模型学习到非线性特征的方式

如何做特征组合?
特征组合的思想很简单,通过将单独的特征进行组合(相乘或求笛卡尔积)而形成的合成特征。
比如属性A有三个特征,属性B有两个特征,笛卡尔积后就有六个组合特征,然后用one hot 或其他embedding方式给新的特征编码。但暴力做交叉可能产生稀疏问题。

 

 

 

 

 

机器学习、深度学习的区别

预训练

rbm

有向图

无向图

GBT、BERT,双向描述能力更强,求解比较麻烦

单向模型求解简单,可以学它的表示

梯度爆炸、衰减

知识图谱、认知图谱

人的记忆先过海马体,把短期记忆抽象成长期记忆

注意力机制

强化学习

纯机器学习的AI系统特点:

可解释性:无、泛化能力:弱、鲁棒性:弱、重大错误、需要的学习样本:大、应用场景:需要大量的数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值