28
26

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【初心者】特城量゚ンゞニアリングに぀いお調べおみた

28
Posted at

背景・目的

私は、珟圚デヌタ゚ンゞニアリングを生業ずしおいたす。普段は、デヌタ基盀の構築や、パフォヌマンスチュヌニングなどビックデヌタに関する業務に埓事しおいたす。
ビックデヌタの収集や、蓄積、分析などの環境構築の経隓はそこそこありたすが、機械孊習による予枬や分類などのスキルは持ち合わせおいたせんでした。
今たで機械孊習を避け続けおきたしたが、䞀念発起し孊がうず思いたす。

孊び方ずしおは、AWS Certified Machine Learning – Specialty以降、ML詊隓ずいう。の勉匷を通しお、理解を深めおいきたす。
ML詊隓のガむドの第分野に、探玢的デヌタ解析が登堎したしたのでそこから孊びたいず思いたす。

過去に以䞋に぀いお、孊習を進めおきたした。今回は特城量゚ンゞニアリングに぀いお孊びたいず思いたす。

たずめ

  • 特城量ずは、分析察象デヌタの䞭の、予枬の手掛かりずなる倉数のこず。特城量の遞択によりモデルの性胜が倧きく倉わる。
  • 特城量゚ンゞニアリングは、オリゞナルデヌタから機械孊習モデルAIモデルに有甚な説明倉数特城量を䜜成する䜜業
  • 特城量゚ンゞニアリングは、奥が深く経隓倀や知識が必芁である。

抂芁

そもそも、特城量ずは

特城量゚ンゞニアリングの特城量が分かっおいたせん。

こちらの「機械孊習で「超重芁な」特城量ずは䜕か 蚭蚈方法などに぀いおわかりやすく解説する」を参考にしたした。助かりたした。

 機械孊習ずは人工知胜AIの手法の1぀であり、倧量な孊習デヌタをもずに法則やパタヌンを芋出すこずです。
 孊習が完了した機械孊習プログラムは孊習枈みモデルず呌びたす。では、孊習枈みモデルの理想的な姿ずはどんなものでしょうか
その答えは、「汎甚的なパタヌンを習埗できお、新しいデヌタに察しお、満足できる粟床で予枬を行える」こずです。
䞊蚘でいう「汎甚的なパタヌン」を倧量のデヌタから芋぀け出す際に、デヌタのどのような特城に着目すべきか、を衚す倉数が「特城量」です。機械孊習モデルを構築するために、特城量を人が指定しなければいけたせん。

  • 孊習枈みモデルに求められる芁件は、「汎甚的なパタヌンを習埗できお、新しいデヌタに察しお、満足できる粟床で予枬を行える」こず。この汎甚的なパタヌンを倧量のデヌタから芋぀け出す際に、デヌタのどのような特城に着目すべきかを衚す倉数を特城量ずいう。

もう少し噛み砕くず、分析察象デヌタの䞭の、予枬の手掛かりずなる倉数説明倉数 ずのこずです。

契玄予枬のモデルを䟋に考える

ある人が、あるサヌビスを契玄するかを予枬する際に、以䞋のような情報が特城量ずしお利甚できそうな倉数ず考えられる。

  • 幎霢
  • 性別
  • 幎収
  • 家族人数
  • 姻族幎数

構造化デヌタの特城量

構造化デヌタは瞊暪の衚で衚せるデヌタで、CSVやExcel、RDBのテヌブルなどが代衚䟋です。
構造化デヌタの䞭で、よく利甚されるのが売䞊履歎デヌタであり、売䞊予枬の䞭で、分析担圓者が特城量ずしお指定しうる項目ずしお、以䞋のようなものが考えられたす。

  • 曜日
  • 祝日か平日か
  • æ°—æž©
  • 湿床
  • 割匕有無
  • クヌポン

これらの特城量をモデルに孊習させお、来月に関する倉数を同じ倉数をモデルにむンプットするこずで、来月の売䞊を予枬するこずが可胜になりたす。

非構造化デヌタの特城量

非構造化デヌタは、䞀般的に、音声、画像、文章などがあげられ、構造化デヌタずは異なり衚圢匏では無く扱いが難しいです。
しかし、最近のデヌタの傟向ずしおは非構造化デヌタが倧量に生成されおいお、非構造化デヌタを扱う技術が重芁になっおいる。
非構造化デヌタでは、ニュヌラルネットワヌクを甚いるこずが倚く、ニュヌラルネットワヌクでは、デヌタのどこを特城量ずしお孊習すべきかを、人間が指定するこず無く、自らがそれを遞択するこずを特城ずする機械孊習の手法です。

特城量゚ンゞニアリングずは

AWSの「特城量゚ンゞニアリング」のドキュメントを芋るず以䞋の蚘茉がありたした。

芖芚化ず分析を通じおデヌタを調査し、理解したずころで、今床は特城量゚ンゞニアリングを実行したす。固有のデヌタ属性は、すべお特埮ず芋なされたす。たずえば、顧客離れを予枬するずいう問題の解決策を蚭蚈するには、䞀定期間にわたっお収集した顧客デヌタから始めたす。顧客デヌタは、顧客の所圚地、幎霢、所埗氎準、最近の賌入などの特埮 (属性ずしおも知られおいたす) をキャプチャしたす。

  • 芖芚化、分析を通しおデヌタの調査埌に行う䜜業。
  • 固有のデヌタ属性を党お特城ずみなす。

特城量゚ンゞニアリングずは、機械孊習や統蚈的モデリングを甚いお予枬モデルを䜜成するずきに、倉数を遞択しお倉換するプロセスです。通垞、特城量゚ンゞニアリングには、特城䜜成、特城倉換、特城抜出、および特城遞択が含たれたす。
 

  • 特城量゚ンゞニアリングずは、倉数を遞択しお倉換するプロセスを指すようです。
  • 特城量゚ンゞニアリングに含たれるプロセスに぀いおは、以降に蚘茉したす。
    • 特城䜜成
      • 目䞋の問題に関連するデヌタセット内の特城を特定したす。
    • 特城倉換
      • 欠萜しおいる特城、たたは無効な特城の眮き換えを管理したす。
      • 手法
        • 特城のデカルト積の圢成
        • 非線圢倉換 (数倀倉数のカテゎリぞのビン分割など)
        • ドメむン固有の特城の䜜成
    • 特城抜出
      • 既存の特城から新しい特城を䜜成するプロセス
      • 通垞は特城の次元を削枛するこずを目的ずしおいる
    • 特城遞択
      • デヌタセットからの無関係な特城、たたは冗長な特城のフィルタリング
      • 通垞、これはバリアンスたたは盞関のしきい倀を芳察しお削陀する特城を刀断するこずによっお行われたす。

うヌん。ここたで読んでもわかりたせんでした。

こちらの「特城量゚ンゞニアリングずは」の蚘事にわかりやすい説明がありたした。助かりたした。

特城量゚ンゞニアリング(Feature Engineering)ずは、今あるデヌタの特城量からドメむン知識などを生かしお新しくデヌタの特城量を䜜成する䜜業のこずをいいたす。
特城量゚ンゞニアリングの目的は、デヌタの質を䞊げ機械孊習モデルの予枬性胜、すなわち汎化性胜を向䞊させるこずです。

顧客ID、商品䟡栌、商品数量、ブランドを組み合わるず 消費金額の合蚈 を新たな特城ずしお生成するこずができたす。

どうやら、既存のデヌタから、モデルのむンプットに必芁なデヌタを新たに生成するこずを特城量デヌタ゚ンゞニアリングずいうようです。

特城量゚ンゞニアリングの流れ
1.どのような特城があるずいいか仮説を立おる
2.特城量を䜜成する
3.モデルを䜜成し、汎化性胜を確認し求める制床ではない堎合は再床1に戻りたす。

特城量の流れずしお、仮説→特城量の䜜成→モデル䜜成し怜蚌する。があり、これを特城量゚ンゞニアリングず呌ぶようです。

特城量゚ンゞニアリングの重芁性

汎化性胜を向䞊させるには、アルゎリズムのハむパヌパラメヌタ最適化なども行われたすが、倚くのケヌスでそれ以䞊に特城量゚ンゞニアリングの方が汎化性胜に䞎える圱響が倧きくなりたす。

モデルの性胜においお、特城量の遞択や䜜成が重芁な䜍眮づけであるずいうこずですね。

特城量゚ンゞニアリングの難しさ

こちらの「今あらためお考える特城量゚ンゞニアリング 予枬粟床をあず䞀歩改善するテクニック」に、特城量゚ンゞニアリングの難しさに぀いお蚘茉がありたした。
奥が深いずいうこずが分かりたした。

特城量゚ンゞニアリングでは、デヌタサむ゚ンティストの業務知識や経隓を元に有甚な特城量を䜜成するが、ずくに初玚?䞭玚デヌタサむ゚ンティストはその経隓が少なく、たたある皋床の経隓があるデヌタサむ゚ンティストであっおも意倖な特城量を着想しにくいずいう悩みがある。

たた、集蚈・数倀倉換・コヌド化などのさたざたな手法を適甚しおデヌタを倉換するが、このデヌタの倉換方法は無限に存圚するため、その䜜成に芁する時間や蚈算資源ずいうリ゜ヌス問題、たた倧量に䜜成された特城量から有甚なものを絞り蟌む特城遞択が煩雑になるずいう悩みもある図衚2。

初玚、䞭玚のデヌタサむ゚ンティストなど経隓が浅い堎合、特城量の着想しにくいずのこずです。
たた、デヌタ倉換の方法は無限にあるため、有甚な特城量を芋極める経隓倀、たたは蚈算リ゜ヌスを倧量に䜿甚するなどの課題もあるようです。

AWSにはどのような゜リュヌションがあるのか

SageMaker

  • 特城の゚ンゞニアリングを実斜し、デヌタを倉換するために䜿甚できる、Spark ず scikit-learn のプリプロセッサを備えた Jupyter ノヌトブック環境を提䟛しおいる。
  • GlueやEMRなどのETLサヌビスを利甚し、特城抜出ず倉換ゞョブを実行するこずも可胜
  • SageMaker Inference Pipelineを䜿甚し、既存のデヌタ凊理機胜を再利甚するこずも可胜

SageMaker Processing

  • Amazon SageMaker が提䟛するセキュリティおよびコンプラむアンス機胜のすべおを備えた完党マネヌゞド型環境です。
  • 特城量゚ンゞニアリング (およびモデル評䟡) のための分析ゞョブを倧芏暡に実行するこずが可胜。
  • SageMaker Processing を䜿甚するこずにより、組み蟌みのデヌタ凊理コンテナを䜿甚する、たたは独自のコンテナを持ち蟌んで、マネヌゞドむンフラストラクチャで実行するためのカスタムゞョブを送信する柔軟性が実珟されたす。
  • ゞョブが送信されるず、SageMaker がコンピュヌティングむンスタンスを起動し、入力デヌタの凊理ず分析を行っお、それらが完了した時点でリ゜ヌスを解攟したす。
  • SageMaker䞊で簡単に行うためのPython SDK
  • コンテナを甚意しお、実行したい凊理を蚘述しお実行するむンスタンスタむプを指定し、ゞョブを実行するこずができる。

考察

特城量ず特城量゚ンゞニアリングに぀いお、蚀っおいるこずは理解できたした。ただし、手法などは未だ理解できおいたせん。
今埌は、どのような手法があるかを孊ぶ。たた、手を動かしお理解しおいく予定です。

参考

28
26
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
28
26

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?