建网站需要软件,c 怎么做能让窗体访问网站,网站怎么做直通车,杭州微信网站开发原文链接#xff1a;https://www.jianshu.com/p/355c4001ca42 前言 如果你能找到这里#xff0c;真是我的幸运~这里是蓝白绛的学习笔记#xff0c;本集合主要针对《百面机器学习——算法工程师带你去面试》这本书。主要记录我认为重要的知识点#xff0c;希望对大家有帮助。…原文链接https://www.jianshu.com/p/355c4001ca42
前言 如果你能找到这里真是我的幸运~这里是蓝白绛的学习笔记本集合主要针对《百面机器学习——算法工程师带你去面试》这本书。主要记录我认为重要的知识点希望对大家有帮助。 第一章 特征工程 引导语 一句业界经典的话“Garbage in, garbage out”。对于机器学习问题数据和特征决定了结果的上限而模型、算法的选择和优化则是在逐步接近这个上限。 特征工程从本质上来讲是一个表示和展现数据的过程。在实际工作中特征工程旨在去除原始数据中的杂质和冗余设计更高效的特征以刻画求解的问题与预测模型之间的关系。 本章主要讨论两种常用数据类型结构化数据和非结构化数据。 结构化数据。可以看作关系型数据库的一张表每一列都有清晰的定义包含数值型、类别型两种基本类型每行表示一个样本的信息。非结构化数据。主要包括文本、图像、音频、视频数据其包含的信息无法用一个简单的数值表示也没有清晰的类别定义。并且每条数据的大小各不相同。 注主要从数值表示、类别定义来区分。 1、特征归一化 目的消除数据特征之间的量纲影响使得不同指标之间具有可比性。常用方法有线性函数归一化和零均值归一化 线性函数归一化(Min-Max Scaling最大最小值归一化)将数据映射到的范围内。 零均值归一化(Z-Score Normalization)将数据映射到均值为0、标准差为1的分布上。 如果模型用梯度下降来进行求解数据归一化主要对收敛速度产生影响。将各个特征映射到同一个区间内可以使得各个特征的更新速度变得更一致容易更快地通过梯度下降找到最优解。通过梯度下降求解的模型通常需要归一化包括线性回归、逻辑回归、支持向量机、神经网络等。但对于决策树并不适用。例如C4.5节点分裂主要依据信息增益比而归一化并不会改变信息增益比。 注经过实践确实是这样有可能归一化之后反而使决策树性能下降。 2、类别型特征 类别型特征指在有限选项内取值的特征。通常为字符串形式。决策树等少数模型能直接处理字符串形式的输入逻辑回归、SVM等类别型特征必须处理成数值型特征才能正确工作。处理类别型特征的方法 序号编码如成绩可以转化为高、中、低三档分别用3、2、1表示转换后依然保留了大小关系。 one-hot编码通常用于处理类别间不具有大小关系的特征如各种血型A型编码为(1,0,0,0)B型编码为(0,1,0,0)。 one-hot编码需要注意当类别取值较多时用one-hot就会非常稀疏可以用稀疏向量形式输入来节省空间目前大部分算法都接受这种输入形式。但是高维one-hot编码会有几个问题1.knn中高维空间下很难有效衡量两点的距离。2.逻辑回归中参数数量会随维度增高而增多容易引起过拟合。通常只有部分维度对分类、预测有帮助因此可以配合特征选择来降维。 注也就是说需要酌情筛掉。 二进制编码和one-hot的思想差不多它允许多位为1。本质是利用二进制对ID进行hash映射比one-hot节省空间。还有其他编码方式Helmert Contrast、Sum Contrast、Polynomial Contrast、Backward Difference Contrast。 3、高维组合特征的处理 目的提高复杂关系的拟合能力。组合特征是指把一阶离散特征两两组合构成高阶组合特征。 注注意是离散特征。 例如将语言(中文、英文)剧集类型(电影、电视剧)两个一阶离散特征组合为二阶特征则有中文电影、中文电视剧、英文电影、英文电视剧四种类型。 假设数据的特征向量为则有 如上面的问题则的维度为2*24。当引入ID类型的特征时通常需要降维。如推荐问题通常有如下的组合特征 是否点击uid1,item id1uid2,item id1uid2,item id1...uidm,item idn010...00101...00.................. 如上表则要学习的参数规模为参数规模太大一种行之有效的方法是经用户和物品分别用维的低维向量表示(k远小于m和n)则参数的规模变为。实际是矩阵分解。 4、组合特征 简单地将特征两两组合容易存在参数过多、过拟合等问题。本节提供了一种基于决策树的组合特征寻找方法。 例如一个点击预测问题输入特征有年龄、性别、用户类型(试用期/付费)、物品类型(护肤/食品)。我们构造一个决策树如下 1-4 基于决策树的特征组合方法.jpg 从根节点到叶节点的每条路径都可以看成一种特征组合的方式。根据上面建立的决策树我们有4条路径。则可以得到以下样本的编码方式。 是否点击年龄性别用户类型物品类型编码是28女免费护肤(1,1,0,0)否36男付费食品(0,0,1,1) 如第一条样本满足图上的下面的两条路径则可编码为(1,1,0,0)。 注感觉这种方式确实是组合特征降维的比较好的方式但是问题是首先要建立一颗树。 5、文本表示模型 词袋模型和N-gram模型 词袋模型是最基础的文本表示模型。是将文章以词为单位切分开忽略词的出现顺序将文章表示成一个长向量每一维代表一个单词该维的权重表示重要程度。常用TF-IDF来计算权重。(注意逆文档频率是要取对数的) N-gram是指有些词组不能拆开那么由这个词组成的词组(N-gram)也作为一个单独的特征放到向量表示中构成N-gram模型。 注总的来说就是TF-IDF是词袋模型中的一种计算权重的方法N-gram是一种为了解决词组不可分的一种方法也属于词袋模型最后依然要用词袋模型来表示。 主题模型 词袋模型和N-gram模型无法识别两个不同的词或词组具有相同的主题主题模型可以将具有相同主题的词或词组映射到同一维度上映射到的这一维度表示某个主题。主题模型是一种特殊的概率图模型后面第六章第五节会讲。词嵌入 词嵌入是一类将词向量化的模型的统称核心思想是将每个词都映射到低维空间(50~300)上的一个稠密向量。维空间的每一维也可以看作一个隐含的主题但没有主题模型那样直观。 6、Word2Vec Word2Vec是2013年提出的是目前最常用的词嵌入模型之一。它实际是一种浅层的神经网络模型有两种网络结构CBOW(Continues Bag of Words)和Skip-gram。 COBW根据上下文出现的词语来预测当前词的生成概率Skip-gram根据当前词来预测上下文中各词的生成概率。结构如下图 1-6 Word2Vec的两种网络结构.jpg 图中即当前词、、、即上下文中出现的词所谓的滑动窗口大小就是上下文取词个数为2。CBOW的训练方式模型有输入层、映射层、输出层。 输入层是one-hot编码的上下文词如果词汇表中单词总数为则输入层的词表示即为维one-hot向量。映射层(隐含层)有个隐含单元即我们要得到的维词嵌入向量这里就是个隐含单元。映射层的值由输入层的维向量和维权重矩阵计算得到。 注CBOW模型需要将输入词计算的隐含单元值求和比Skip-gram多这一部分。输出层向量的值由隐含层的维向量和维向量计算得到输出也是维向量。但是这里的输出向量并不能保证所有维度加起来为1(one-hot编码加起来就为1)要通过Softmax激活函数进行归一化。训练的目标是使得语料库中所有单词的整体生成概率最大化。可以用反向传播沿梯度更优的方向更新权重但是由于Softmax存在归一化项推导出来的迭代公式需要对词汇表中所有单词进行遍历(毕竟是维词向量)所以每次迭代过程非常缓慢。有Hierarchical Softmax和Negative Sampling两种改进方法。得到训练出来的各词对应的向量训练得到的维度为和的矩阵可以选择任意一个作为个词的维词向量。 Word2Vec和LDA的区别和联系 LDA利用文档中单词的共现关系来对单词按主题聚类可以理解为将“文档-单词”矩阵分解为“文档-主题”和“主题-单词”两个概率分布。但Word2Vec更多融入了上下文共现的特征是对“上下文-单词”矩阵进行学习。主题模型通过一定的结构调整可以基于“上下文-单词”单词矩阵进行主题推理词嵌入方法也可以根据“文档-单词”矩阵学习出词的隐含向量表示。最大的区别是模型本身。主题模型是一种基于概率图模型的生成式模型其似然函数可以写成若干条件概率连乘的形式其中包括需要推测的隐含变量(即主题)。词嵌入一般表达为神经网络的形式似然函数定义在网络的输出之上需要通过学习网络的权重得到单词的稠密向量表示。 7、图像数据不足时的处理方法 一个模型能提供的信息一般来源于两个方面一是训练数据中蕴含的信息二是模型的形成过程中(包括构造、学习、推理等)人提供的先验信息。训练不足时则要提供更多先验信息。先验信息作用在模型上如让模型采用特定的内在结构、条件假设或添加一些约束条件。先验信息也可以作用在数据集上如根据特定的先验假设调整、变换和扩展数据集让其展现出更多更有用的信息。图像分类任务中训练数据不足的问题主要表现在过拟合方面处理方法可以分为两类 基于模型的方法主要是采用降低过拟合风险的措施包括简化模型(将非线性模型简化为线性模型)、添加约束项以缩小假设空间(L1/L2正则项)、集成学习、Dropout超参数等。基于数据的方法主要通过数据扩充(Data Augmentation数据增强)对原始数据进行适当变换以达到扩充数据集的效果。 具体到图像分类有四种变换方法(1)随机旋转、平移、缩放、裁减、填充、左右翻转等对应不同角度的观察结果。(2)对像素添加噪声扰动如椒盐噪声、高斯白噪声等。(3)颜色变换。(4)改变亮度、清晰度、对比度、锐度等。 除了在图像空间进行变换还可以对图像进行特征提取然后在图像的特征空间内进行变换利用一些通用的数据扩充或上采样技术如SMOTE等进行扩充。这些都是一些启发式的变换方法还可以通过GAN等生成模型合成新样本还可以借助其他模型或数据来进行迁移学习。 小结 本章干货还是很多的表述非常清晰非常易懂。之前没有弄懂的东西比如Word2Vec的训练过程让我终于了解了结构和训练方法。但是特征工程还有非常多的技巧特征选择也还有更多的方法还要多学习其他方法。 结尾 如果您发现我的文章有任何错误或对我的文章有什么好的建议请联系我如果您喜欢我的文章请点喜欢~*我是蓝白绛感谢你的阅读