第一章機能の動作|百は、機械学習に直面しています

序文

これは、「機械学習の百の顔 - アルゴリズムのエンジニアインタビューにあなたを取るために、」私の学習での研究ノート、詳細は「百の機械学習に直面している」を参照してください。

プロジェクトの第一章機能

機能プロジェクトは、アルゴリズムおよびモデルを使用するための入力として特徴付け絞り込みます元のデータ処理プロジェクトのシリーズです。本質的には、このプロジェクトは、データの表現とプレゼンテーションのプロセスによって特徴付けられます。実際には、このプロジェクトは、不純物を除去することを目的と問題や予測モデルを解くとの間の関係を記述するために、元のデータの冗長性、より効率的な設計機能を備えています。

データの2つの一般的な種類

1、構造化データ。リレーショナルデータベーステーブルとして見ることができ、各列は、数値、カテゴリ2つの基本的なタイプを含む明確な定義を有し、データの各行は試料の情報を表します。

2、非構造化データ。テキスト、画像、オーディオ、ビデオデータを含む、それは簡単な数値で表すことはできません含まれている情報は、カテゴリの明確な定義は存在しない、と各データの大きさが異なっています。

01機能の正常化

同等の寸法特性は、異なる指標との間のデータの影響排除との間:1の目的

図2に示すように、2つの共通の正規化方法

。正規化された線形関数(最小 - 最大スケーリング)。生データは、範囲[0、1]にマッピングされます。

                                    Xnorm = \ FRAC {X  -  Xminと} {をXmax  -  Xminと}

B。ゼロ平均正規化(Zスコア正規化)。0の平均および分布に関する標準偏差1に元のデータをマッピングします。

                                                   Z = \ {X-FRACの\ミュー} {\シグマ}

勾配によって速く低下させることができるように3は、解決プロセスのために勾配降下を使用して、メイン影響正規化勾配降下上のデータは、収束速度、同じ時間間隔内でマッピングされる種々の特徴、種々の特徴のように更新速度を生じ最適解を見つけます

図4に示すように、実用的なアプリケーションは、勾配降下法によりモデルは、一般に、線形回帰、ロジスティック回帰、サポートベクトルマシン、ニューラルネットワークモデルを含む、正規化された解決が必要です。しかし、決定木モデルは、主に、データに基づいて情報利得比C4.5分割ノードとして、適用されないD Coslight特徴xを設定し、前記情報利得比にかかわらずかどうかを正規化。

02カテゴリ機能

1、カテゴリ機能のみように性別(男性と女性)とのような限られたオプションで、例えば、の値を意味します。文字列の形式、加えて、正しく動作すると、いくつかの決定木モデルにロジスティック回帰分析のために、直接入力した文字列を処理することもできる、サポートモデル通常、カテゴリタイプの特徴ベクトルマシンは、数値の特性に変換する必要があります。

図2に示すように、方法のタイプカテゴリのプロセスの特徴:

。番号コード:処理の種類は、典型的には、相互関係のために使用されるデータサイズを有しています。変換は、大小関係を保持した後の結果は、1,2,3によりそれぞれ、低、中、高速に分けることができます

Bホットエンコードされた:一般的に使用されていない機能は、処理の種類との大小関係を有しています。血液などの、四つの値(タイプB型AB型O型)の合計は、ワンホット符号化はそれが(スパースベクトル4、型(1,0,0,0)Bを入力となるであろう0,1,0,0)...

ワンホットエンコーディング上の注意:値の多くのカテゴリがある場合、ワンホットでは非常にスパースになり、スパースベクトルは、スペースを節約するために使用することができます。高次元の特徴は、(1)二点間のk最近傍、高次元空間との距離が効果的に(2)ロジック寸法と共に増加するの回帰パラメータの数を測定することは困難であり、いくつかの問題をもたらします増加は、簡単にオーバーフィッティングの問題につながります。(3)分類は、通常はいくつかの寸法は、予測でき、従って寸法嵌合特徴選択を低減することが考えられます。

Cバイナリエンコード:ワンホットエンコードと同様の思考、ハッシュIDは、基本的にワンホットエンコーディングよりもバイナリのマッピング、最終的に得られる0/1の特徴ベクトル、省スペースです。

機能の03、高次元の組み合わせ

1.目的:複雑な関係に合わせて能力を向上させることができます。

図2に示すように、上位の2つの別個の一次、上位ビットと設定機能の組み合わせを特徴としている特徴の組み合わせのことをいいます。

例えば、言語(中国語、英語);ドラマの種類(映画、TV)は2つの1次離散二次機能の組み合わせを備え、中国映画、中国のテレビ、英語の映画、英語のテレビシリーズ4種類があります。そこに、特徴ベクトルX =(X1、X2、X3、...、XK)のデータと仮定

                                            Y =シグモイドの\ sum_ {I} \ sum_ {J} W_ {IJ} <X_ {I}、X_ {J}>

寸法Wは、2×2 = 4であります

機能のIDタイプが導入されたとき3、通常、次元削減が必要。問題によって推奨されているように、通常、次の特徴があります。


図1.1

上記のように、スケールパラメータはMXNは、スケールパラメータが大きすぎることを学ばなければならない、効果的な方法は、ユーザと物品がk次元の低次元ベクトルで表されるビア(mおよびn-kよりはるかに小さい)であり、次いで、スケールパラメータは、MX K + nxkになります。これは、実際には行列因子であります

機能の組み合わせ04

実用上の問題、2つのパラメータの単純な組み合わせは、このようなオーバーフィッティングなどの問題は、あまりにも簡単にあります。このセクションでは、方法を見つけるために決定木をベースの機能の組み合わせを提供します。

元の入力機能は、年齢、4つの側面上の性別情報、ユーザタイプ(保護観察、有給)、項目タイプ(スキンケア、食品など)、およびオリジナルの入力やラベルに従ってが含まれていることを仮定して、例えば、予測するクリック(クリックしない/クリックしてください)私たちは、決定木、図1.2を構築します


図1.2決定木に基づく機能の組み合わせ方法

 


入力された機能に対応する元の2つの異なる試料の表1.1

パスのルートノードから各リーフノードは、特徴の組み合わせの方法とみなすことができます。決定木による第一のサンプルの組み合わせが(1、1、0、0)、第二として符号化されていてもよい以下の組み合わせのために1.2を得ることができる表に、4つの経路を有していてもよい(0、0、1、 1)

05テキスト表現モデル

1、袋モデル単語N-gramモデル、および

言葉モデルのバッグは、最も基本的なテキスト表現モデルです。各物品は、それぞれの出現の順序を無視し、単語のバッグとして見られます。具体的には、別個のユニットをカットする全テキストの単語であり、各記事は、ベクトルの長さとして表すことができ、各次元は、ワードのベクトルを表し、重みを対応する右寸法は、元の記事の重要な単語を反映します程度。TF-IDFの重みを計算するために使用される、式

                                    TF-IDF(TD)TF(= TD)IDF(× T)。

TF(TD)ワードのための  T  文書における  Dの  周波数が表示され、IDF(tは)ワード測定するために使用される逆文書頻度で  のT  として表さ、再生セマンティクスの重要性を

                    IDF(T)=ログの\ FRAC {} {+ 1、tの単語を含む物品の物品総数}                 (1.6)

N-gram模型是指某些单词组不能拆开,可以将连续出现的n个词组成词组(N-gram)作为一个单独的特征放入向量表示,构成N-gram模型

注意:同一个词可能有多种词性变化,却具有相似的含义。在实际应用中,一般会对单词进行词干抽取(Word Stemming)处理,即将不同词性的单词统一成为同一词干的形式。

2、主题模型

词袋模型和N-gram模型无法识别两个不同的词或词组具有相同的主题,主题模型可以将具有相同主题的词或词组映射到同一维度上,映射到的这一维度表示某个主题。主题模型是一种特殊的概率图模型,后面第六章第五节会讲。

3、词嵌入

词嵌入是一类将词向量化的模型的统称,核心思想是将每个词都映射成低维空间(通常 K=50~300 维)上的一个稠密向量(Dense Vector)。K 维空间的每一维也可以看作一个隐含的主题,只不过不像主题模型中的主题那样直观。

06 Word2Vec

1、谷歌 2013 年提出的 Word2Vec 是目前最常用的词嵌入模型之一。Word2Vec 实际是一种浅层的神经网络模型,它有两种网络结构,分别是 CBOW(Continues Bag of Words)和 Skip-gram。CBOW 的目标是根据上下文出现的词语来预测当前词的生成概率, Skip-gram 是根据当前词来预测上下文中各词的生成概率。网络结构如下:


图1.3 Word2Vec 的两种网络结构

其中 w(t) 是当前所关注的词,w(t−2)、w(t−1)、w(t+1)、w(t+2) 是上下文中出现的词。这里前后滑动窗口大小均设为 2。

2、CBOW和Skip-gram均可表示成由 输入层、映射层和输出层组成的神经网络

输入层由one-hot编码表示,即当词汇表中的单词总数是N,则输入层的one-hot编码维度也是N

映射层(隐藏层)中有K个隐藏单元,其取值由N为输入向量以及连接输入和隐藏单元之间的NxK维权重矩阵计算得到。

注意:CBOW中还需要将各个输入词所计算出的隐含单元求和

输出层向量的值可以通过隐藏层向量(K维),以及隐藏层和输出层之间的KxN维权重矩阵计算得到。输出层也是一个N维向量,每维与词汇表中的一个单词对应。但是这里的输出量并不能保证所有维度加起来为1(one-hot编码加起来就为1),要通过Softmax激活函数归一化。Softmax激活函数的定义为

                            P(Y = V_ {N} | X)= \ FRAC {E ^ {N} X_ {} {} \シグマ^ {N} _ {k = 1} X_ {E ^ {K}}}                 (1.7)

训练目标是使得语料库中所有单词的整体生成概率最大化。学习权重可以用反向传播算法实现,每次迭代时将权重沿梯度方向进一步更新。但是由于Softmax激活函数中存在归一化项的缘故,推导出来的迭代公式需要需要对词汇表中所有单词进行遍历,使得每次迭代过程非常缓慢,可使用 Hierarchical Softmax 和 Negative Sampling 两种方法改进。

得到训练出来的歌词对应的向量:训练得到维度为NxKKxN的两个权重矩阵,可以选择其中任意一个作为N个词的K维向量表示

3、Word2Vec和LDA的区别和联系

LDA利用文档中单词的共现关系对单词按主题聚类,可以理解为对“文档-单词”矩阵进行分解,得到“文档-主题”和“主题-单词”两个概率分布。但Word2Vec其实是对“上下文-单词”矩阵进行学习,其中上下文由周围的几个单词组成,更多的融入了上下文共现特性。

主题模型通过一定的结构调整可以基于“上下文-单词”矩阵进行主题推理。词嵌入方法也可以根据“文档-单词”矩阵学习出词的隐含向量表示。

主题模型和词嵌入两类方法的最大不同在于模型本身。主题模型是一种基于概率图模型的生成式模型,其似然函数可以写成若干条件概率连乘,其中包括需要推测的隐含变量(即主题);而词嵌入模型一般表达为神经网络的形式,似然函数定义在网络的输出之上,需要通过学习网络的权重以得到单词的稠密向量表示。

07 图像数据不足时的处理方式

1、一个模型的信息来源一般来自两个方面:一是训练数据中蕴含的信息;二是在模型的形成过程中(包括构造、学习、推理等),人们提供的先验信息。

2、训练数据不足时,为了保证模型效果则需要更多先验信息。先验信息可以作用在模型上,如让模型采用特定的内在结构、条件假设或添加其他一些约束条件;先验信息也可以直接作用在数据集上,即更具特定的先验假设去调整、变换或扩展训练数据,让其展现更多的、更有用的信息。

3、图像分类任务中,驯良数据不足带来的问题主要表现在过拟合方面,即模型在训练样本上的效果可能不错,但是在测试集上的泛化效果不佳。对应的处理方法大致可分为两类:

基于模型的方法,主要采用降低过拟合风险的措施,包括简化模型(如将非线性模型假话为线性模型)、添加约束项以缩小假设空间(如L1/L2正则)、集成学习、Droupout超参数等

基于数据的方法,主要通过数据扩充(Data Augmentation),即根据一些先验知识,在保持特定信息的前提下,对原始数据进行适当变换以达到扩充数据集的效果

具体到图像分类任务中,在保持图像类别不变的前提下,可以对训练集中每幅图像进行以下变换 (1) 随机旋转、平移、缩放、裁剪、填充、左右翻转等,对应着同一个目标在不同角度的观察结果;(2) 对图像中的像素添加噪声扰动,比如椒盐噪声、高斯白噪声等;(3) 颜色变换;(4) 改变图像的亮度、其吸毒、对比度、锐度等。


图1.4 图像数据扩充样例

図4は、変換された画像との間の空間ことを除いて、画像をさらに特徴抽出であってもよく、次いで、特徴空間の画像を変換し、いくつかの共通データ拡張を使用するか、またはそのような強打(オーバーサンプリング技法合成少数)のような技術を、サンプリング形質転換の方法等のヒューリスティック。さらにGANまた、新たな合成サンプルとしてモデルを生成することができますように、または他の既存のモデルやデータ移行の調査によります。

例えば、画像分類タスクのほとんどのために、あなたはスクラッチトレーニングモデルから起動する必要はありませんが、対象タスクのためのデータの小さなセットに事前に訓練された一般的な大規模なデータセットのモデル、および微調整(微調整を借ります)、この微調整の操作が簡単な転移学習として見ることができます。

 

おすすめ

転載: www.cnblogs.com/zyqy/p/10806177.html