機械学習(machine learning)
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
「[[.NET 開発基盤部会 Wiki>http://dotnetdevelopmentinfras...
-戻る([[人工知能(AI)]]/ [[統計解析]] / [[ベイズ統計]])
--機械学習(machine learning)
--[[深層学習(deep learning)]]
--[[強化学習(Reinforcement Learning)]]
--[[生成系AI(Generative AI)]]
*目次 [#e63c1e01]
#contents
*概要 [#d607a99a]
機械学習(machine learning)について纏める。
-[[第2次人工知能ブーム>人工知能(AI)#mc0e87fb]]での人工...
-人が、その機械は何を学習するか?というのを予め定義する。
--注目スべきデータ([[特徴量>#t209d0ea]])の選定タスクは...
--「訓練データ」として知られる~
サンプルデータに基づいて数学モデルを構築する。
--学習の方向性を人が思い通りにコントロールがし易い。
-明示的な指示を用いることなく、
--パターン(統計モデル)と
--推論(アルゴリズム)に
>依存して、特定の課題を効率的に実行する
**定義 [#r4a4578b]
-アーサー・サミュエル~
「明示的にプログラムしなくても学習する能力を、コンピュータ...
-トム・ミッチェル~
タスクT(推論)とパフォーマンス測定P(損失関数と評価指標...
**[[応用例>#pddb35dc]] [#g65622be]
*詳細 [#pa09145e]
**[[理論>機械学習の理論]] [#r23cea4f]
***[[情報理論>機械学習の理論#z83dd630]] [#z83dd630]
***[[統計的機械学習>機械学習の理論#ibaa375a]] [#ibaa375a]
***[[数理最適化>機械学習の理論#r91e67ac]] [#r91e67ac]
***[[独立同時分布仮定>機械学習の理論#o0d1539c]] [#o0d1539c]
**用語 [#w9661bf4]
***特徴量 [#t209d0ea]
-注目スべきデータ、機械学習的に言った説明変数
--特定の概念を特徴づける変数、問題の解決に必要な本質的な...
--学習データにどのような特徴があるかを数値化したもの。
--モデルをy = f(x) とすると、xが説明変数でyが目的変数
--非構造化データでは特徴量(説明変数)はベクトル化される。
--機械学習では入力された学習データから特徴量と呼ばれる数...
---特徴量の抽出は人間が設計し実装する必要がある。
---抽出した特徴量を元に機械はパターン・経験則をモデルを使...
>である。
-この特徴量を発見できれば、
--あらゆる問題の解決につながったり、
--パターン認識精度の向上や、
--[[フレーム問題>人工知能(AI)#bd2791da]]の解決につなが...
>と期待されている。
***パラメタ [#bdce9b16]
重みとも呼ばれるモデルの学習実行後に獲得される値。
***ハイパーパラメタ [#v45aae84]
-各[[アルゴリズム>#sa026142]]に付随して、[[アルゴリズム>#...
-学習実行前に設定した値によって学習実行後の[[パラメタ>#bd...
-https://github.com/yomaki/azure-ml-python-handson/blob/m...
--例えば[[ロジスティック回帰>データ解析#f8862775]]モデル...
--ハイパーパラメタはモデル学習のパフォーマンス、モデルの...
--一般的には複数の候補の組み合わせを試すことで適切な設定...
-[[深層学習におけるハイパーパラメタの例>ニューラルネット...
***パラメトリック・モデル [#h574b7c5]
-枠組みをあらかじめ決めてパラメタだけを学習するモデル。
-機械学習・深層学習のモデルは基本的にパラメトリック・モデル
***ノンパラメトリック・モデル [#d6c92dfe]
-関数の枠組みそのものを推定するモデル。
-決定木やカーネル関数を使用するモデルがノンパラメトリック...
-母集団に関する事前の仮定を置かずにデータの特性をより柔軟...
-データに潜在する複雑な構造や関係性をより良く捉え過剰適合...
-パラメトリックモデルよりも多くのデータが必要
**アルゴリズム [#sa026142]
-モデルを作成するアルゴリズム~
モデルを最適化する方法
-アルゴリズムはモデルに含まれることがある。~
分離した方が系統的にモデリングを理解できる。
***適合 [#p3178227]
-複雑なものの認識や、常値の検出
-たくさんの情報の中から必要なものを探す
-予測、フォーキャスト(予想や見込み)、意思決定支援
-言葉を使ったコミュニケーション
-新しい体験を作り出したい場合
***限界 [#d9c39387]
-データの中にあるバイアス(を、そのまま学習
-[[プリシジョンとリコール>高度午前 - 技術要素 - データベ...
-コールド・スタートによる[[誤検知>SC:対策技術 - 防御・侵...
-モデルの検証のためのフィードバックループが必要。
-Exploration(冒険、探索)とExploitation(搾取、利用)
***汎化性能 [#uf0bbed9]
学習に使用したデータだけではなく、新たなデータに対する予...
-モデルの未知のデータへのあてはまりの良さ。
-汎化性能は学習データとは別に収集された検証データでの性能...
***未学習 [#db9e0993]
(学習不足、アンダーフィッティング)
-モデルの表現力が低いため、表現力の高いモデルを利用する。
-[[予測誤差を生む要因のバリアンス(Variance)>#xd22c47b]]...
-参考
--機械学習で「分からん!」となりがちな正則化の図を分かり...
https://qiita.com/c60evaporator/items/784f0640004be4eefc51
***過学習 [#l377f5cd]
(過剰適合、過適合、オーバーフィッティング)
-汎化能力の不足に起因する汎化できていない状態を指す(特化...
--訓練誤差を最小化(特化)
--汎化誤差を最小化(汎化)
-統計学において、非常に複雑な非線形性の高いモデルを用いた...
データが元々持っている誤差や不確実性と言った、本来説明が...
フィットするような誤ったモデルが構築されてしまう場合があ...
-機械学習において、学習精度がある一定の精度まで向上すると...
以降は未知のデータへの対応力を失ってしまう現象。
-対策
--学習データの量を増やす。
--不要な変数を削除し表現力を抑止。
--[[正則化>統計解析#i38c7fea]]法を利用して表現力を抑止。
***内挿と外挿 [#o45d539d]
あるデータを使って訓練した機械学習モデルにおいて、~
その訓練データ(入力データおよび教師ラベル)の数値の
-内挿(Interpolation)
--範囲内で出力を求めることを指す。
--最も一般的で容易に適用できるものは、一次関数(直線)に...
-外挿(Extrapolation)
--範囲外で出力を求めることを指す。
--外挿の信頼性はその予測信頼区間によって表示される。
---予測信頼区間は理論的にとりえない値を含む場合があり、
---外挿結果をそのまま用いることは誤った結果を導く可能性が...
***予測誤差を生む要因 [#xd22c47b]
-バイアス(Bias)~
思い込みは[[過学習>#l377f5cd]]なのか[[未学習>#db9e0993]]...
--モデルの表現力不足、[[未学習>#db9e0993]]のモデルによっ...
--例えば、3次関数に従ったデータを線形回帰した時([[未学習...
--表現力の低いモデルを利用しているため意味のあるパターン...
-バリアンス(Variance)
--学習データに[[過剰適合>#l377f5cd]]することによって生じ...
--例えば、
---3次関数に従ったデータを7次関数で多項式回帰した時([[過...
---[[正則化>統計解析#i38c7fea]]によって、モデル複雑化を抑...
--表現力が高すぎるモデルを利用しているために、~
学習データにしかないパターンを拾ってしまう。
--- 重み([[パラメタ>#bdce9b16]])の値が極端になっている
---サンプル数に対して説明変数が多過ぎる。
-ノイズ(Noise)
--データに混入している本質的でない情報。
--本質とノイズの情報は混ざっており区別できない。
--機械学習の手法では取り除くことができない。
**実行手順 [#za50e7d8]
※ より専門的なプロセスについては、[[CRISP-DM>データマイニ...
***データ作成 [#jc735e5f]
良いデータの準備が性能発揮の生命線となる。
-探索的データ解析(EDA)~
データの特徴を探求し、構造を理解する。
-前処理~
前処理の良し悪しも性能を大きく左右する。
--データセットを
---検査(補完や除去)
---拡大、次元削減、[[標準化・正規化>データマイニング(DM...
--非構造化データは数値化される(通常はスカラではなくベク...
例えば、[[テキストデータのベクトル化>言語処理(AI)#n98b6...
-[[データの分割>データマイニング(DM)- CRISP-DM#o1f41712]]
--訓練データ:6
--検証データ:2
--テストデータ:2
***学習の実行 [#u2868a5e]
-機械学習システムの選択
-訓練を繰り返しパラメタを更新&収束
-得られたモデルを検証データで評価
--[[過学習>#l377f5cd]]のチェック
--モデルに手を加える
--[[チューニング>#l9072c3f]]、[[アンサンブル学習>#t3b0d15...
-最終評価を行い採用 / 不採用
***利用と追加学習 [#o91ee6cf]
-利用
-[[転移学習>深層学習のテクニック#ebe9edcc]]
-[[追加学習>#w6d3e08c]]
**学習方法 [#m7446dbf]
***アノテーション [#m79c9f7e]
-優れたアルゴリズムを用いても誤った教師データで学習すると~
正しく学習できず精度の高い学習モデルが作れない。
-アノテーションとは、学習のため教師データを作成する(タグ...
-データに付与するタグを標準化、均一化しないと誤った推論結...
-労働集約的
--外注(アウトソーシング)するかしないか?
--ただし、クォリティ・アシュアランスには要注意
-アノテーションの質を高める方法
--コストが掛かっても正しくアノテーション
---プロによるアノテーション
---高精度なアノテーション
---多数決による品質の管理方法~
・実際は能力に差があるという前提で、アノテーターの能力を...
・複数のアノテーターが同じ能力を持っていると仮定した場合、~
良い品質を得るために沢山の人が必要となる(コスト)。
--異なる種類のデータ形式よるタグ付け
---画像データを用いる
---テキストデータを用いる
---構造化データを用いる
--データの意味は普遍的ではなく目的によって変わる。~
→ ターゲット層に適したバイアス(推し)をかけたアノテーシ...
***アクティブ・ラーニング [#w6d3e08c]
本番運用しながら自然に追加学習できる仕組み
-AIのアウトプットを全て人間がチェックし、間違っていたもの...
-AIのアウトプットの信頼度(Confident)の値が低いデータのみ...
***アンサンブル学習 [#t3b0d157]
-モデルの汎化性能を向上させるため個々に学習した複数のモデ...
-「複数のモデルによる各予測結果」をアンサンブル(≒組合せ...
-理論立ては"まだ"だが、経験的に[[過学習>#l377f5cd]]を防ぎ...
--バギング~
複数の弱学習器を並列作成し予測を組み合わせ、各予測を平均...
---複数のモデルを学習し~
平均(回帰の場合)または多数決(分類の場合)することによ...
[[過学習>#l377f5cd]]の傾向が打ち消しあって最終的に丁度、...
---ブートストラップ(サンプリング)~
データ全体の中から重複を許してtrainデータを選ぶ手法。~
ブートストラップによってtrainデータをつくる。
--ブースティング~
弱学習器を連続的に学習(≒何度も訂正)、順次作成し、精度を...
---学習器の精度を向上するために誤分類データに注意を払って...
---一つのモデルの間違いをうまく訂正するようなモデルを次々...
---大元のモデルを最適化するための補助的なモデルを逐次的に...
---バギングより高い精度が見込めるが、学習に時間がかかる。
--スタッキング(ブレンディング
---ブレンディング~
・バギングは平均 / 投票でアンサンブル~
・ブレンディングは統計 / 機械学習モデル(一般的には線形モ...
---[[スタッキング>#jc645764]]~
3層以上のレベル数でブレンディング~
・いくつかのFold(グループ)にデータを分けて、それぞれを...
・それぞれの予測値を新たな特徴量とする。~
・何回か繰り返して最終アウトプット算出。
-[[決定木分析におけるアンサンブル学習>統計解析#lcaf7a28]]
***モデルの統合・分割 [#l64f0abe]
色々なデータを使う場合、色々なモデルが必要になる。
-統合~
一つの機械学習のモデルに~
色々なデータを入れて予測値を出す。
-分割~
人間が非常に理解し易くなる。
**活用例 [#pddb35dc]
***[[データマイニング>データマイニング(DM)- CRISP-DM]] ...
***エキスパート・システム [#n78b56a5]
-専門分野の知識を取り込み、分野の専門家のように振る舞うプ...
-歴史~
DENDRAL → Mycin → Cycプロジェクト
--エドワード・ファイゲンバウム、DENDRAL、1960年代~
未知の有機化合物を特定する
--スタンフォード大学、マイシン(Mycin)1970年代~
血液中のバクテリアの診断支援
--ダグラス・レナート、Cycプロジェクト 1984年~~
一般常識をコンピュータに取り込む。30年以上経った今も継続...
-知識ベース
--専門知識が豊富であればあるほど暗黙的で矛盾があり、知識...
--一般常識については、そもそも暗黙的で(明文化されていな...
--知識(概念体系)を扱うための方法論(意味ネットワークや...
---意味ネットワーク(semantic network):~
関係を定義可能なUMLクラス図の様な~
・is-a:推移率が成立する(継承とも)。~
・part-of:推移率が成立するとは限らない、最低5つのpart-o...
---オントロジー(ontology):概念化の明示的な仕様~
上記と同様の概念体系を言語状に記述可能なフォーマット~
・ヘビーウェイト・オントロジー:共有のため哲学的な考察が...
・ライトウェイト・オントロジー:正当性について深い考察は...
-エキスパート・システムの例
--IBMのWatson(ワトソン):
---2011年:テレビ・クイズ番組「Jeopardy!」で2人のチャンピ...
---Wikipediaから生成されたライトウェイト・オントロジーを...
質問に含まれるキーワードから関連しそうな回答を高速に検索...
--東ロボくん:
---東大入試合格を目指す[[ビッグデータ]]と[[深層学習>深層...
---私大合格は可能だが東大合格に必要となる読解力が致命的に...
***[[不正会計の検知>SC:法制度 - 内部統制に関する法制度#e...
-Li et al
--概要
---24個の会計情報を使った[[ロジスティック回帰>データ解析#...
---[[サポートベクターマシン>#mcb6a10f]]で不正会計確率を推定
---一度スコアを求めるかどうかというのが違いになる。
--特徴
+++手を加えていない会計情報そのものと~
不正・非不正の情報で構成される大量データを~
訓練データとテストデータに分け訓練データでモデルを作り~
テストデータでその検知能力を調べるという一般的な研究~
・訓練データ:1991年から2002年までのデータ~
・テストデータ:2003年から2005年までのデータ
+++[[アンダーサンプリング>#m168d4ea]]を行っている。~
訓練データの1と0(不正と非不正)が同数になるようにサンプ...
--実務家の方法を取り入れることで~
先行研究よりも正判別確率の高いモデルを構築~
(東海林・中村・尾崎(2020)
---不正会計を不正手段の種類別に認識
---貸借対照表に不正会計の歪みが蓄積されることを利用して~
その歪みから得られる違和感により不正会計を経験的に認知
-正判別率の上げかた。
--歪みと違和感を変数化して特徴量にした。
--不正手段を売上過大計上に限定した。
--目的変数を不正群・非不正群ではなく~
非不正群から利益調整群を除いた1,0データとした。
***[[ベイズ云々>ベイズ統計#g41ea723]]の活用例 [#jdec0eb6]
-迷惑メール
-診断・コールセンター
-レコメンド
-社会現象・データ
-顧客行動理解
*機械学習の分類 [#re2bf537]
|分類1|分類2|用途|アルゴリズム|h
|[[教師あり学習>#y3a9ef2a]]|[[回帰>#ifbcfb9e]]|・売上予測...
|~|[[分類>#mcb6a10f]]|・画像分類&br;・故障診断&br;・顧客...
|[[教師なし学習>#p3ab14a7]]|[[クラスタリング>統計解析#df8...
|~|次元削減|・特徴量エンジニアリング|・[[主成分分析>統計...
|[[強化学習>#nbbca2a2]]||・ゲーム&br;・広告&br;・自動運転...
**学習データでの分類 [#aeb76d7f]
-コンピュータとその周辺の技術・情報が発達してきたため出て...
-互いに独立なものではなく、高度に組合せて使用することも可...
***教師あり学習 [#y3a9ef2a]
(supervised learning)
-教科書を使った勉強のように、~
「結果と予測すべき答え」(訓練データ)が与えられ、~
それ(≒教師)に至るためのモデルを構築する学習手法
-「予測すべき答」は
--ラベル(タグ)とも呼ばれる
--人間の専門家が訓練例にラベル付け(タグ付け)して提供
--このラベル付け(タグ付け)の作業を[[アノテーション>#m79...
-未知のデータ「x」にそれを適用して、予言 y = f(x) を与え...
-予言 y と、出力 ȳ の誤差が小さくなるように学習が進められ...
-[[異常・不正の検出>AIの活用例#y95cb949]]など、正例が少な...
***教師なし学習 [#p3ab14a7]
(unsupervised learning)
-データ自体に構造・特徴があり、そのデータを分類・識別する。
-与えられたデータセット(訓練データ)の中に予測すべき正解...
データの背後に存在する本質的な構造かをデータ同士の関係か...
-評価規範Cが与えられている。評価規範Cを最適化するように学...
-自分で学習のための「教師」データを作り出す自己教師型を教...
-判断ではなく、[[データマイニング>ビジネス インテリジェン...
[[クラスタ分析、主成分分析>統計解析#ie80ebc6]]、対応分析...
-教師あり学習と比べると、
--結果の解釈が難しく、分析者の主観的な解釈が必要となる。
--[[異常・不正の検出>AIの活用例#y95cb949]]など、正例が少...
***半教師あり学習 [#cdebd400]
(semi-supervised learning)
-一部のデータにのみ出力の正解が付与されたデータを用いる手...
--ラベルありの例とラベルなしの例を両方扱える。
--すべてのデータにラベルを付けなくても良いので、効果的な...
-[[教師あり学習>#y3a9ef2a]]と[[教師なし学習>#p3ab14a7]]を...
--主成分分析などの[[教師なし学習>#p3ab14a7]]によって[[事...
--[[教師あり>#y3a9ef2a]]データを使ってモデルを作り、それ...
精度の高いデータを正解ラベルとして採用し、教師ありデータ...
-[[分類問題(識別モデルと生成モデル)>機械学習(machine l...
(回帰分析の半教師あり学習で同じようなメリットを得るのは...
--説明変数の事前分布が明確になる
--クラス間の境界が明確になる (クラス分類のみ)
--モデルの安定性が向上する
--モデルの適用範囲が広がる
***自己教師あり学習 [#g6507d39]
(self-supervised Learning)
-ラベル無しデータを使う[[教師なし学習>#p3ab14a7]]の一種
--自分で学習のための「教師」データを作り出す。
--「常識」などの抽象的な概念を獲得するための重要な手法
-データ自身に隠されている構造を読み取り、~
ターゲットを予測する学習を行う。
--次単語(予測)
--マスク単語(予測)
self-xxxxxxx Learningと言うアルゴリズムはコレの場合が多い。
**利用方法での分類 [#xded2d4a]
-≒モデルの種類。
-利用:recall、想起、適用
-教師データに対するテストデータに適用
-「知りたい情報」の設定に依存して多様。
-[[深層学習>#c96e8163]]では、ほとんどのことができる。
***推定 [#dd0f4610]
-ある事実を手掛かりにして、推し量って決めること。
-プリミティブ?
--[[回帰>#ifbcfb9e]]~
連続する変数の予測(間の相関関係を推定する)問題。
--[[分類>#mcb6a10f]]~
離散値の予測(特徴を推定する)問題。
-[[ベイズ云々>ベイズ統計#neb846b6]]
--[[ベイジアンフィルタ>#mcb6a10f]]
--[[ベイズモデル>ベイズ統計#w036ba0b]]
--[[ベイジアンネットワーク>ベイズ統計#w7d99984]]
---統計的機械学習手法の一つ
---説明可能性が高い機械学習手法
---ベイジアンネットワークを自動的に構成~
・グラフ構造の探索~
・[[条件付き確率>ベイズ統計#v372de91]]表の推定~
***回帰 [#ifbcfb9e]
-連続的な応答を予測
-教師あり学習を用いる
-[[深層学習>深層学習(deep learning)]]を使った回帰もある。
-種類
--線形回帰~
直線で予測。
---連続する目的変数を複数の説明変数を用いて予測、説明する
---1つ以上の独立した説明変数を使用し、線形方程式の係数を...
--非線形回帰~
曲線で予測。
---線形パラメタとの関係を適切にモデル化できない場合
---連続する目的変数と1つ以上の説明変数との間の~
非線形な関係を表す方程式を用いて予測、説明する。
---パラメトリック非線形回帰~
目的変数(単変量または多変量)を~
非線形パラメタと1つ以上の説明変数の~
組み合わせとして関数化して予測、説明する。
---ノンパラメトリック非線形回帰~
機械学習の手法が使用される。
--[[正則化を施した線形回帰>統計解析#i38c7fea]]
---Ridge回帰
---Lasso回帰
---Elastic Net回帰
--ステップワイズ回帰
---精度の高いモデルを選択する回帰分析の手法
---自動的に説明変数を1つずつ追加、削除
--[[複数の決定木を使用するモデル>#mcb6a10f]]~
(この場合は分類木ではなく回帰木か)
--時系列データを対象とする回帰モデル
---自己回帰(AR)モデル:単変量の時系列データを対象とする...
---ベクトル自己回帰(VAR)モデル:ARモデルを多変量に拡張...
***分類 [#mcb6a10f]
-離散的な応答を予測
-教師あり学習を用いる
-[[深層学習>深層学習(deep learning)]]を使った分類もある...
-種類
--[[ロジスティック回帰>データ解析#f8862775]]
--[[サポートベクターマシン(SVM)>統計解析#f3322edd]]
--[[決定木>統計解析#lcaf7a28]]
--[[判別分析>統計解析#ke57e386]]
--[[ベイジアンフィルタ>ベイズ統計#x0ff52d4]]
***クラスタリング [#s17a0f59]
-最も一般的な教師なし学習手法
-探索的データ分析により、データ内の隠れたパターンやグルー...
-[[種類>統計解析#df844c06]]
--ウォード法
--k平均法(k-means clustering)
--トピックモデル
--混合ガウスモデル (GMM)
--隠れマルコフモデル (HMM)
--自己組織化マップ
--ファジィ c 平均クラスタリング
***認識 [#q8d902ca]
-パターン認識など。
-物事をはっきりと見分け、判断すること。
-主体あるいは主観が対象を明確に把握すること。
-Googleの猫:self-taught learning(自己教示学習)~
≠ [[self-supervised Learning(自己教師あり学習)>#g6507d3...
***創出 [#n9aa21a1]
-GANとかの生成モデル?
-物事を新しく造り出すこと。
***自己組織化 [#c38e4beb]
-物質や個体が、系全体を俯瞰する能力を持たないのに関わらず...
個々の自律的な振る舞いの結果として、秩序を持つ大きな構造...
-行動規範型ロボット的な自己修復機能をもった自己組織化ロボ...
**その他 [#n18e507c]
***[[深層学習>深層学習(deep learning)]] [#c96e8163]
***[[強化学習>強化学習(Reinforcement Learning)]] [#nbbc...
***[[深層強化学習>強化学習(Reinforcement Learning)#s6c0...
***その他 [#wa483fd7]
-トランスダクション(トランスダクティブ推論)~
観測された具体的な(訓練)例から~
具体的かつ固定の(テスト)例の~
新たな出力を予測しようとする。
-マルチタスク学習~
関連する複数の問題について同時に学習させ、~
主要な問題の予測精度を向上させる。
*統計と機械学習 [#j2c969ca]
**基礎的な違い [#u4d36865]
-どちらも
--データを使って問題を解決する
--数学的な手法を使って質問に答えることに関心がある
-ゴールと貢献の仕方が違う。
--分析において説明力を重視するのか?
--予測において精度を重視するのか?
-SVMやDNNなどの精度が高いが説明しにくいモデルの使用を避け~
代わりに表現力が乏しいが説明がし易いモデルを使用すること...
***統計学 [#d63f3e7e]
-統計学か数学の一環
-データを“説明”すること(推定と推論)を強調
--限られた標本から調査したい母集団全体の特徴を推測する。
--データを(学習データと検証データに)分割しない。
--[[過学習>#l377f5cd]]の可能性を気にしない。が、疑似相関...
-説明変数の数が大きくなると多変量解析を使った変数選択手法...
***機械学習 [#bce2a8b5]
-コンピュータ・サイエンスの一環
-データから“予測”することを強調
--変数間の関係性やルールなどを機械学習による予測モデルに...
--データを(学習データと検証データに)分割する。
--[[過学習>#l377f5cd]]の可能性を気にする。が、疑似相関は...
-説明変数の数が多くなる場合は、機械学習を含む解析が使える。
**使い分け [#b94ddfd2]
予測モデルの使い分け。
***統計 [#s3b2ba62]
-モデルとデータ
--モデル
---モデルとデータ全体を解釈したい。
--データ
---量~
・データのサンプルサイズが大きくない。~
・トレーニングデータを持っていない。
---質~
・不確実性やランダム性がある。~
・信号対ノイズ比(ノイズに対するシグナルの割合)が大きく...
-目的
--不確実性や予測変数の影響度を調べる必要がある。
--少ない数の変数の影響度を切り離して評価したい。
***機械学習 [#r1437e1a]
-モデルとデータ
--モデル~
推論の精度に興味があり、モデルへの興味は薄い。
---複雑な構造の内部パラメタに大量のデータの情報を反映でき...
---十分なデータを使用できれば、精度な予測・分析ができる可...
---トレードオフとしてモデル構造が複雑で解釈性が犠牲になり...
--データ
---量~
大量のデータを使用して学習することが期待されている。~
・データのサンプルサイズが大きい。~
・膨大なトレーニングデータで学習できる。
---質~
・強い不確実性やランダム性を持たない。~
・信号対ノイズ比(ノイズに対するシグナルの割合)が大きい。
-目的
--不確実性の推測や選択した予測変数の影響度には興味が無い。
--予測がゴールで少ない数の変数の影響は問題ではない。
*特徴量の選択とエンジニアリング [#s2dc3704]
今あるデータの特徴量からドメイン知識などを生かして
-特徴量選択:特徴量を絞ったり
-特徴量エンジニアリング:新しくデータの特徴量を作成したり
することで、予測性能、すなわち汎化性能を向上させる作業。
**[[CRISP-DM>データマイニング(DM)- CRISP-DM]]上の [#l4a...
***[[データの理解>データマイニング(DM)- CRISP-DM#m9ad14...
-[[データの調査(相関関係>データマイニング(DM)- CRISP-D...
-[[データの品質の検証(欠損値>データマイニング(DM)- CRI...
***[[データの準備>データマイニング(DM)- CRISP-DM#a6aa2d...
-[[データのクリーニング(欠損値>データマイニング(DM)- C...
-[[データ統合(フォーマット変換>データマイニング(DM)- C...
**テクニック [#ze157faf]
***欠損値の処理 [#n6342f21]
-記録されなかった値を含むデータの削除や補完
-Pythonのライブラリで処理可能。
--[[欠損率の計算と確認>データマイニング(DM)- Python#q3e...
--[[データのクリーニング(削除や補完)>データマイニング(...
***相関係数を確認 [#ja2ee801]
-ピアソンの積率相関係数~
相関係数(2つの量的変数間の直線的関連の程度を表す係数)
-スピアマンの順位相関係数~
各変量を順位に変換してピアソンの積率相関係数を求めたもの
***特徴量選択 [#s58bcf22]
-フィルター法(Filter Method)
--特徴量間の統計的な関係を評価して、それらをランキングす...
--特徴量の個々の特性(分散、相関、情報量など)を計算し特...
--散布図行列、相関行列のヒートマップ、相関係数、情報利得...
--相関係数を考慮した場合、[[多重共線性(マルチコ)>統計解...
--モデルの学習が不要なので計算効率が高く、計算コストが低...
-ラッパー法(Wrapper Method)~
--モデルで予測をした誤差を評価し最適な説明変数の部分集合...
--ステップワイズ法(変数増減法:変数増加法、変数減少法)~
・各ステップで、特徴量を追加した後にモデルの性能を評価し...
・指定された基準(例:AIC、BIC、交差検証スコアなど)が満...
---変数増加法~
・モデルに含める特徴量を一つずつ増やしていく。~
・特徴量が1つの状態から、一つずつ特徴量をモデルに加えてい...
---変数減少法~
・モデルに含める特徴量を一つずつ減らしていく。~
・特徴量がすべて含まれている状態から、一つずつ特徴量を削...
-埋め込み法(Embedded Method)~
--アルゴリズムに特徴量選択が組み込まれているモデルの学習...
--回帰係数(重み)から重要度を算出したり、[[Lasso回帰>統...
--その他、[[決定木>統計解析#lcaf7a28]]などのモデルの「感...
***エンコーディング [#id0e10d5]
-One-Hotエンコーディング
--多クラスのカテゴリを0・1ラベルで表す特徴量として展開す...
--One-Hotエンコーディング結果のデータをOne-Hotベクトルと...
--Dummyコーディング、Effectコーディングがある。
--Dummyコーディングでは最初の列を削除
---オール 0 → 参照カテゴリ
---[[多重共線性(マルチコ)>統計解析#na76c5ec]]を回避
--Effectコーディングでは最初の列を削除
---オール 0 → 欠損データ
---オール -1 → 参照カテゴリ
---[[多重共線性(マルチコ)>統計解析#na76c5ec]]を回避、欠...
--[[Pythonのライブラリ>データマイニング(DM)- Python#v8a...
-Featureハッシング
--One-Hotエンコーディングは高次になることで不安定になる。
--説明変数をハッシュ値のビットフラグ的に表現し削減する。
--衝突が起きる、直感的に理解できなくなる、などの問題があ...
-Frequencyエンコーディング
--各カテゴリ変数値の出現確率でエンコーディング
--Ranked frequencyエンコーディングは出現順位でエンコーデ...
--次元を増さずにエンコーディングでき線形・非線形どちらで...
--外れ値に敏感だがRanked frequencyでは外れ値の影響も小さ...
-Targetエンコーディング
--各カテゴリ変数値の目的変数の情報(平均値)を使ってエン...
--リークを起こす可能性(訓練データで高い評価、テスト・デ...
-ラベル・エンコーディング(Ordinalエンコーディング
--カテゴリに任意の(連番の)数値を割り当てる。
--数値間の差が一定なのでカテゴリ間の差が一定でないものに...
--ラベル間の数値の大小関係を学んでしまうアルゴリズムでは...
-その他
--ビンカウンティング
--Nonエンコーディング
***特徴量作成 [#g620e73a]
特徴量生成のパターン(数値変換)
-単一変数
--二値化~
境目(閾値)を設け、"0"と"1"に分ける。
--離散化~
ある連続した値を不連続な(階級)値に分割する。
--分位化~
階級ごとの件数に大きな差がある場合、~
データの分布に応じて階級を決める。
--べき乗~
指数が実数全体となる計算
--スケール変換~
---特徴量がおおよそ同じスケール(寸法、尺度)になるように変...
---StandardScaler、Normalizer、MinMaxScaler等の手法がある...
・StandardScaler:特徴量の平均が0、分散が1、になるように...
・Normalizer:ノルムが1になるようにスケール変換(デフォル...
・MinMaxScaler:特徴量の値が一定の範囲(0~1 or -1~1)に...
--対数変換~
目的変数Yを目的変数log(Y) に変換する。
--Box-Cox変換
---指定の分布(正規分布)に近づける手法
---0や負値を扱えない点に注意
--ウィンザー化
---一定の範囲外のデータを除外する手法
---外れ値処理などに適用可能
--ロジット変換
---なにかしらの比例xを、オッズの自然対数に変換する。
---(確率値などの)0~1の間の数を、正負両方向に無限大の値...
--Yeo-Johnson変換~
...
--数学関数による変換
---log関数
---exp関数
---sin関数
---cos関数
-複数変数
--四則演算(交互作用項・非線形特徴量)~
既存の説明変数から四則演算で説明変数を作成、例えば、~
---購入金額と購入件数から購入単価(1回の購入時に1人の顧客...
---[[多重共線性(マルチコ)>統計解析#na76c5ec]]対策で「x...
--[[クラスタ分析、主成分分析>統計解析#ie80ebc6]]
---主成分分析~
あまりにも特徴量の多い高次元データは、~
主成分分析で複数の説明変数を圧縮して少なくする。
---クラスタ分析~
クラスタリングで新たなカテゴリの説明変数を追加し、~
コレを利用することで精度が上がるコトがある。
--特異値分解~
...
***スタッキング [#jc645764]
-[[アンサンブル学習>#t3b0d157]]だが、新たな特徴量を作る方...
-あるモデル(1段目のモデル)を使った予測値を特徴量として...
さらに別のモデル(2段目のモデル)を作るような[[アンサン...
***不均衡データに対するサンプリング [#m168d4ea]
-アンダーサンプリング~
少数派のデータに合わせて多数派のデータを削除する。
-オーバーサンプリング~
少数派のデータを多数派のデータに合わせて追加する(SMOTE)。
**Pythonでの処理例 [#h8695899]
***[[Pandas>Pandas#e1fa02e4]] [#v700c0fd]
***[[Matplotlib]] [#m571d2f7]
*モデル評価のエンジニアリング [#x10869d3]
**[[モデルの評価>データマイニング(DM)- CRISP-DM#i3d85f2...
**[[精度の評価>データマイニング(DM)- CRISP-DM#uf759972]...
**[[精度と説明力>データマイニング(DM)- CRISP-DM#e5a7f1f...
*モデル・チューニングのエンジニアリング [#l9072c3f]
**[[チューニング>データマイニング(DM)- Python#r3bca668]...
***[[グリッド・サーチ>データマイニング(DM)- Python#d182...
***[[ランダム・サーチ>データマイニング(DM)- Python#x459...
***[[多目的ベイズ最適化>データマイニング(DM)- Python#qe...
***[[特徴選択とエンジニアリング>データマイニング(DM)- P...
**[[モデル評価のエンジニアリング>#x10869d3]] [#r0c8d5fd]
*MLOps(エンジニアリング部分の自動化 [#s81c0338]
(Machine Learning Operations)
-機械学習(machine learning)のMLと、[[DevOps>https://tec...
-機械学習、[[深層学習>深層学習(deep learning)]]の開発・...
開発者(データ・サイエンティスト、エンジニア)と、保守・...
コラボレーションおよびコミュニケーションに関する実践手法。
**CX [#g816eacf]
***[[CI/CD>https://techinfoofmicrosofttech.osscons.jp/ind...
***CT/CM [#haa5a58d]
-CT : 継続的にトレーニング
-CM : 継続的モニタリング
**ポイント [#t601f916]
***動作環境 [#oace200e]
||管理|セキュリティ|性能|通信環境|h
|クラウド|○|△|○|△|
|オンプレ|✕|○|△|○|
|エッジ|✕|△|✕|○|
***精度・速度 [#f614e98a]
反比例のトレードオフ
***サーバ構成 [#t68ac3e0]
ノウハウが必要([[データ・パイプライン]]
***安定運用 [#teccb1dd]
-データの収集・整形
--パイプライン構築
--適切な管理
-学習・評価
--状況確認
--デプロイ
-本番・運用
--運用監視
--データの収集・[[追加学習>#w6d3e08c]]
※ 本番・運用のチェックの労力で学習データを作成し精度を上...
***Auto ML [#h3e39448]
-AutoML(Automated Machine Learning: 自動化された機械学...
-機械学習を実際の問題に適用するプロセスを自動化する手法や...
-主に、[[実行手順>#za50e7d8]]に記載した工数の掛かる工程を...
-以下のような欠点がある。
--専門家の方が良いモデルを開発できる可能性がある。
--ブラックボックスのため説明性の問題が発生する可能性があ...
--構造化データデータが中心で非構造化データは発展途上。
*課題(を解決するクラスド・サービス [#b84886e5]
⽣産性向上が阻害されている主な要因はデータ・ツール・デプ...
-[[データ(データレイク)>#z7c747e3]]
-[[ツール>#k8891d05]]
-[[デプロイ>#xb2b49c0]]
**[[データレイク>ビジネス インテリジェンス(BI)#w2d56f91...
***課題 [#yf5eeac5]
以下のような課題を持っている。
-低品質でサイロ化︓データ活⽤が進まない~
データが”Ready” となっていない
-整合性の維持
--ざっくり、スキーマが無い事が問題
--スキーマレスの状態からデータの加工に時間がかかる
-更新の重複への対応
--読み取りのスケーラビリティが高い
--一方で、更新処理が苦手(トランザクション制御)
***プロダクト [#z224fc3a]
-[[Apache Kudu]]
-[[Apache Hudi]]
-[[Delta Lake]]
**ツール [#k8891d05]
***課題 [#l42ca112]
以下のような課題を持っている。
-⼤量のツール群︓活⽤が不⼗分~
ツールやフレームワークの共有、ナレッジの管理~
コラボレーション、再現性が厳しい。
***プロダクト [#m4018c16]
-[[scikit-learn]]
-[[TensorFlow・Keras]]
-[[PyTorch・PyCharm>深層学習(deep learning)#nf0c1f92]]
-[[Jupyter Notebook]]・[[JupyterLab]]
-RStudio
-, etc.
**デプロイ [#xb2b49c0]
***課題 [#td027080]
以下のような課題を持っている。
-本番適⽤︓MLのデプロイが困難~
エラーが発⽣しやすい⼿作業によりイノベーションのスピード...
***プロダクト [#sc610589]
-[[AzML>https://techinfoofmicrosofttech.osscons.jp/index....
-[[MLflow>https://techinfoofmicrosofttech.osscons.jp/inde...
*参考 [#ad572ff9]
-コンテンツへのリンク - OSSコンソーシアム~
https://www.osscons.jp/joho108j0-537
--機械学習・深層学習についてのレポート~
https://1drv.ms/p/s!Amfs5caPP9r5jh-m6pIMwKgDln1N
--機械学習・深層学習についてのNotebook~
https://github.com/OpenTouryoProject/DxCommon/tree/master...
**特徴量の選択とエンジニアリング [#x47fbff5]
-機械学習で重要な特徴量エンジニアリングとは?|スタビジ~
https://toukei-lab.com/variable-engineering
-特徴量エンジニアリングとは - AI・機械学習ナレッジセンタ...
https://www.varista.ai/knowledge/what-is-feature-enginner...
-[[今あらためて考える特徴量エンジニアリング ~予測精度を...
-[[特徴量エンジニアリングについて6つ|前処理と性能を高め...
-[[Qiita > 特徴量エンジニアリング>#jed0dce6]]
**農学情報科学 [#c78015c3]
https://axa.biopapyrus.jp/
***機械学習 [#k797ea25]
https://axa.biopapyrus.jp/machine-learning/
***[[深層学習>深層学習(deep learning)#k6df98e9]] [#u708...
**Qiita [#zd3df769]
-データ分析、前処理、モデル構築・適用~
https://qiita.com/tk-tatsuro/items/b72e418724ceb78e4af9
***データ分析 [#gc929540]
https://qiita.com/tk-tatsuro/items/561e9fc657422e05f0f7
***特徴量の選択とエンジニアリング [#jed0dce6]
-特徴量エンジニアリング~
https://qiita.com/tk-tatsuro/items/f27c012e0cb95a5f51d2
-前処理(特徴量エンジニアリング)~
https://qiita.com/tk-tatsuro/items/793bc3ec181e30803157
-データの理解
--不均衡データ~
https://qiita.com/tk-tatsuro/items/10e9dbb3f2cf030e2119
--外れ値検出~
https://qiita.com/tk-tatsuro/items/a49ccab4441dc1dfc86c
--欠損データ~
https://qiita.com/tk-tatsuro/items/3aaaf7139de19c0d8555
--時系列データ分析~
https://qiita.com/tk-tatsuro/items/16ce74fc954b5a58df00
-テクニック
--数値変換~
https://qiita.com/tk-tatsuro/items/86c0a9ff744f73ad1832
--エンコーディング~
https://qiita.com/tk-tatsuro/items/a06f1fa4f35639bcad8d
--欠損データ~
https://qiita.com/tk-tatsuro/items/3aaaf7139de19c0d8555
--クラスタリング~
https://qiita.com/tk-tatsuro/items/1228c90e8803db378f31
--主成分分析~
https://qiita.com/tk-tatsuro/items/705c865009bc7ccb6b04
--相互作用特徴量~
https://qiita.com/tk-tatsuro/items/49a886cf3290a512aacf
--特徴選択~
https://qiita.com/tk-tatsuro/items/759acd001d4fbb8ef6c5
-データ分析で説明変数間の相関が高いときどうすればよいか(...
https://qiita.com/kenTee/items/03285eb311d16c1e08f3
***モデル構築・適用 [#d8e3c849]
https://qiita.com/tk-tatsuro/items/ec8c1a36582d4bec7924
**Wikipedia [#c3e851cb]
-機械学習~
https://ja.wikipedia.org/wiki/%E6%A9%9F%E6%A2%B0%E5%AD%A6...
***アルゴリズム、モデル [#t9d5d40d]
-[[推計統計(統計的機械学習>統計解析#s6b55a29]]
-[[ベイズ統計>ベイズ統計#t0c0bf17]]
-サポートベクターマシン~
https://ja.wikipedia.org/wiki/%E3%82%B5%E3%83%9D%E3%83%BC...
-ニューラルネットワーク~
https://ja.wikipedia.org/wiki/%E3%83%8B%E3%83%A5%E3%83%BC...
***学習データでの分類 [#c624141e]
-教師あり学習~
https://ja.wikipedia.org/wiki/%E6%95%99%E5%B8%AB%E3%81%82...
-教師なし学習~
https://ja.wikipedia.org/wiki/%E6%95%99%E5%B8%AB%E3%81%AA...
***活用例 [#e42ecd33]
-CRISP-DM~
https://en.wikipedia.org/wiki/Cross-industry_standard_pro...
-エキスパートシステム~
https://ja.wikipedia.org/wiki/%E3%82%A8%E3%82%AD%E3%82%B9...
-事例ベース推論~
https://ja.wikipedia.org/wiki/%E4%BA%8B%E4%BE%8B%E3%83%99...
終了行:
「[[.NET 開発基盤部会 Wiki>http://dotnetdevelopmentinfras...
-戻る([[人工知能(AI)]]/ [[統計解析]] / [[ベイズ統計]])
--機械学習(machine learning)
--[[深層学習(deep learning)]]
--[[強化学習(Reinforcement Learning)]]
--[[生成系AI(Generative AI)]]
*目次 [#e63c1e01]
#contents
*概要 [#d607a99a]
機械学習(machine learning)について纏める。
-[[第2次人工知能ブーム>人工知能(AI)#mc0e87fb]]での人工...
-人が、その機械は何を学習するか?というのを予め定義する。
--注目スべきデータ([[特徴量>#t209d0ea]])の選定タスクは...
--「訓練データ」として知られる~
サンプルデータに基づいて数学モデルを構築する。
--学習の方向性を人が思い通りにコントロールがし易い。
-明示的な指示を用いることなく、
--パターン(統計モデル)と
--推論(アルゴリズム)に
>依存して、特定の課題を効率的に実行する
**定義 [#r4a4578b]
-アーサー・サミュエル~
「明示的にプログラムしなくても学習する能力を、コンピュータ...
-トム・ミッチェル~
タスクT(推論)とパフォーマンス測定P(損失関数と評価指標...
**[[応用例>#pddb35dc]] [#g65622be]
*詳細 [#pa09145e]
**[[理論>機械学習の理論]] [#r23cea4f]
***[[情報理論>機械学習の理論#z83dd630]] [#z83dd630]
***[[統計的機械学習>機械学習の理論#ibaa375a]] [#ibaa375a]
***[[数理最適化>機械学習の理論#r91e67ac]] [#r91e67ac]
***[[独立同時分布仮定>機械学習の理論#o0d1539c]] [#o0d1539c]
**用語 [#w9661bf4]
***特徴量 [#t209d0ea]
-注目スべきデータ、機械学習的に言った説明変数
--特定の概念を特徴づける変数、問題の解決に必要な本質的な...
--学習データにどのような特徴があるかを数値化したもの。
--モデルをy = f(x) とすると、xが説明変数でyが目的変数
--非構造化データでは特徴量(説明変数)はベクトル化される。
--機械学習では入力された学習データから特徴量と呼ばれる数...
---特徴量の抽出は人間が設計し実装する必要がある。
---抽出した特徴量を元に機械はパターン・経験則をモデルを使...
>である。
-この特徴量を発見できれば、
--あらゆる問題の解決につながったり、
--パターン認識精度の向上や、
--[[フレーム問題>人工知能(AI)#bd2791da]]の解決につなが...
>と期待されている。
***パラメタ [#bdce9b16]
重みとも呼ばれるモデルの学習実行後に獲得される値。
***ハイパーパラメタ [#v45aae84]
-各[[アルゴリズム>#sa026142]]に付随して、[[アルゴリズム>#...
-学習実行前に設定した値によって学習実行後の[[パラメタ>#bd...
-https://github.com/yomaki/azure-ml-python-handson/blob/m...
--例えば[[ロジスティック回帰>データ解析#f8862775]]モデル...
--ハイパーパラメタはモデル学習のパフォーマンス、モデルの...
--一般的には複数の候補の組み合わせを試すことで適切な設定...
-[[深層学習におけるハイパーパラメタの例>ニューラルネット...
***パラメトリック・モデル [#h574b7c5]
-枠組みをあらかじめ決めてパラメタだけを学習するモデル。
-機械学習・深層学習のモデルは基本的にパラメトリック・モデル
***ノンパラメトリック・モデル [#d6c92dfe]
-関数の枠組みそのものを推定するモデル。
-決定木やカーネル関数を使用するモデルがノンパラメトリック...
-母集団に関する事前の仮定を置かずにデータの特性をより柔軟...
-データに潜在する複雑な構造や関係性をより良く捉え過剰適合...
-パラメトリックモデルよりも多くのデータが必要
**アルゴリズム [#sa026142]
-モデルを作成するアルゴリズム~
モデルを最適化する方法
-アルゴリズムはモデルに含まれることがある。~
分離した方が系統的にモデリングを理解できる。
***適合 [#p3178227]
-複雑なものの認識や、常値の検出
-たくさんの情報の中から必要なものを探す
-予測、フォーキャスト(予想や見込み)、意思決定支援
-言葉を使ったコミュニケーション
-新しい体験を作り出したい場合
***限界 [#d9c39387]
-データの中にあるバイアス(を、そのまま学習
-[[プリシジョンとリコール>高度午前 - 技術要素 - データベ...
-コールド・スタートによる[[誤検知>SC:対策技術 - 防御・侵...
-モデルの検証のためのフィードバックループが必要。
-Exploration(冒険、探索)とExploitation(搾取、利用)
***汎化性能 [#uf0bbed9]
学習に使用したデータだけではなく、新たなデータに対する予...
-モデルの未知のデータへのあてはまりの良さ。
-汎化性能は学習データとは別に収集された検証データでの性能...
***未学習 [#db9e0993]
(学習不足、アンダーフィッティング)
-モデルの表現力が低いため、表現力の高いモデルを利用する。
-[[予測誤差を生む要因のバリアンス(Variance)>#xd22c47b]]...
-参考
--機械学習で「分からん!」となりがちな正則化の図を分かり...
https://qiita.com/c60evaporator/items/784f0640004be4eefc51
***過学習 [#l377f5cd]
(過剰適合、過適合、オーバーフィッティング)
-汎化能力の不足に起因する汎化できていない状態を指す(特化...
--訓練誤差を最小化(特化)
--汎化誤差を最小化(汎化)
-統計学において、非常に複雑な非線形性の高いモデルを用いた...
データが元々持っている誤差や不確実性と言った、本来説明が...
フィットするような誤ったモデルが構築されてしまう場合があ...
-機械学習において、学習精度がある一定の精度まで向上すると...
以降は未知のデータへの対応力を失ってしまう現象。
-対策
--学習データの量を増やす。
--不要な変数を削除し表現力を抑止。
--[[正則化>統計解析#i38c7fea]]法を利用して表現力を抑止。
***内挿と外挿 [#o45d539d]
あるデータを使って訓練した機械学習モデルにおいて、~
その訓練データ(入力データおよび教師ラベル)の数値の
-内挿(Interpolation)
--範囲内で出力を求めることを指す。
--最も一般的で容易に適用できるものは、一次関数(直線)に...
-外挿(Extrapolation)
--範囲外で出力を求めることを指す。
--外挿の信頼性はその予測信頼区間によって表示される。
---予測信頼区間は理論的にとりえない値を含む場合があり、
---外挿結果をそのまま用いることは誤った結果を導く可能性が...
***予測誤差を生む要因 [#xd22c47b]
-バイアス(Bias)~
思い込みは[[過学習>#l377f5cd]]なのか[[未学習>#db9e0993]]...
--モデルの表現力不足、[[未学習>#db9e0993]]のモデルによっ...
--例えば、3次関数に従ったデータを線形回帰した時([[未学習...
--表現力の低いモデルを利用しているため意味のあるパターン...
-バリアンス(Variance)
--学習データに[[過剰適合>#l377f5cd]]することによって生じ...
--例えば、
---3次関数に従ったデータを7次関数で多項式回帰した時([[過...
---[[正則化>統計解析#i38c7fea]]によって、モデル複雑化を抑...
--表現力が高すぎるモデルを利用しているために、~
学習データにしかないパターンを拾ってしまう。
--- 重み([[パラメタ>#bdce9b16]])の値が極端になっている
---サンプル数に対して説明変数が多過ぎる。
-ノイズ(Noise)
--データに混入している本質的でない情報。
--本質とノイズの情報は混ざっており区別できない。
--機械学習の手法では取り除くことができない。
**実行手順 [#za50e7d8]
※ より専門的なプロセスについては、[[CRISP-DM>データマイニ...
***データ作成 [#jc735e5f]
良いデータの準備が性能発揮の生命線となる。
-探索的データ解析(EDA)~
データの特徴を探求し、構造を理解する。
-前処理~
前処理の良し悪しも性能を大きく左右する。
--データセットを
---検査(補完や除去)
---拡大、次元削減、[[標準化・正規化>データマイニング(DM...
--非構造化データは数値化される(通常はスカラではなくベク...
例えば、[[テキストデータのベクトル化>言語処理(AI)#n98b6...
-[[データの分割>データマイニング(DM)- CRISP-DM#o1f41712]]
--訓練データ:6
--検証データ:2
--テストデータ:2
***学習の実行 [#u2868a5e]
-機械学習システムの選択
-訓練を繰り返しパラメタを更新&収束
-得られたモデルを検証データで評価
--[[過学習>#l377f5cd]]のチェック
--モデルに手を加える
--[[チューニング>#l9072c3f]]、[[アンサンブル学習>#t3b0d15...
-最終評価を行い採用 / 不採用
***利用と追加学習 [#o91ee6cf]
-利用
-[[転移学習>深層学習のテクニック#ebe9edcc]]
-[[追加学習>#w6d3e08c]]
**学習方法 [#m7446dbf]
***アノテーション [#m79c9f7e]
-優れたアルゴリズムを用いても誤った教師データで学習すると~
正しく学習できず精度の高い学習モデルが作れない。
-アノテーションとは、学習のため教師データを作成する(タグ...
-データに付与するタグを標準化、均一化しないと誤った推論結...
-労働集約的
--外注(アウトソーシング)するかしないか?
--ただし、クォリティ・アシュアランスには要注意
-アノテーションの質を高める方法
--コストが掛かっても正しくアノテーション
---プロによるアノテーション
---高精度なアノテーション
---多数決による品質の管理方法~
・実際は能力に差があるという前提で、アノテーターの能力を...
・複数のアノテーターが同じ能力を持っていると仮定した場合、~
良い品質を得るために沢山の人が必要となる(コスト)。
--異なる種類のデータ形式よるタグ付け
---画像データを用いる
---テキストデータを用いる
---構造化データを用いる
--データの意味は普遍的ではなく目的によって変わる。~
→ ターゲット層に適したバイアス(推し)をかけたアノテーシ...
***アクティブ・ラーニング [#w6d3e08c]
本番運用しながら自然に追加学習できる仕組み
-AIのアウトプットを全て人間がチェックし、間違っていたもの...
-AIのアウトプットの信頼度(Confident)の値が低いデータのみ...
***アンサンブル学習 [#t3b0d157]
-モデルの汎化性能を向上させるため個々に学習した複数のモデ...
-「複数のモデルによる各予測結果」をアンサンブル(≒組合せ...
-理論立ては"まだ"だが、経験的に[[過学習>#l377f5cd]]を防ぎ...
--バギング~
複数の弱学習器を並列作成し予測を組み合わせ、各予測を平均...
---複数のモデルを学習し~
平均(回帰の場合)または多数決(分類の場合)することによ...
[[過学習>#l377f5cd]]の傾向が打ち消しあって最終的に丁度、...
---ブートストラップ(サンプリング)~
データ全体の中から重複を許してtrainデータを選ぶ手法。~
ブートストラップによってtrainデータをつくる。
--ブースティング~
弱学習器を連続的に学習(≒何度も訂正)、順次作成し、精度を...
---学習器の精度を向上するために誤分類データに注意を払って...
---一つのモデルの間違いをうまく訂正するようなモデルを次々...
---大元のモデルを最適化するための補助的なモデルを逐次的に...
---バギングより高い精度が見込めるが、学習に時間がかかる。
--スタッキング(ブレンディング
---ブレンディング~
・バギングは平均 / 投票でアンサンブル~
・ブレンディングは統計 / 機械学習モデル(一般的には線形モ...
---[[スタッキング>#jc645764]]~
3層以上のレベル数でブレンディング~
・いくつかのFold(グループ)にデータを分けて、それぞれを...
・それぞれの予測値を新たな特徴量とする。~
・何回か繰り返して最終アウトプット算出。
-[[決定木分析におけるアンサンブル学習>統計解析#lcaf7a28]]
***モデルの統合・分割 [#l64f0abe]
色々なデータを使う場合、色々なモデルが必要になる。
-統合~
一つの機械学習のモデルに~
色々なデータを入れて予測値を出す。
-分割~
人間が非常に理解し易くなる。
**活用例 [#pddb35dc]
***[[データマイニング>データマイニング(DM)- CRISP-DM]] ...
***エキスパート・システム [#n78b56a5]
-専門分野の知識を取り込み、分野の専門家のように振る舞うプ...
-歴史~
DENDRAL → Mycin → Cycプロジェクト
--エドワード・ファイゲンバウム、DENDRAL、1960年代~
未知の有機化合物を特定する
--スタンフォード大学、マイシン(Mycin)1970年代~
血液中のバクテリアの診断支援
--ダグラス・レナート、Cycプロジェクト 1984年~~
一般常識をコンピュータに取り込む。30年以上経った今も継続...
-知識ベース
--専門知識が豊富であればあるほど暗黙的で矛盾があり、知識...
--一般常識については、そもそも暗黙的で(明文化されていな...
--知識(概念体系)を扱うための方法論(意味ネットワークや...
---意味ネットワーク(semantic network):~
関係を定義可能なUMLクラス図の様な~
・is-a:推移率が成立する(継承とも)。~
・part-of:推移率が成立するとは限らない、最低5つのpart-o...
---オントロジー(ontology):概念化の明示的な仕様~
上記と同様の概念体系を言語状に記述可能なフォーマット~
・ヘビーウェイト・オントロジー:共有のため哲学的な考察が...
・ライトウェイト・オントロジー:正当性について深い考察は...
-エキスパート・システムの例
--IBMのWatson(ワトソン):
---2011年:テレビ・クイズ番組「Jeopardy!」で2人のチャンピ...
---Wikipediaから生成されたライトウェイト・オントロジーを...
質問に含まれるキーワードから関連しそうな回答を高速に検索...
--東ロボくん:
---東大入試合格を目指す[[ビッグデータ]]と[[深層学習>深層...
---私大合格は可能だが東大合格に必要となる読解力が致命的に...
***[[不正会計の検知>SC:法制度 - 内部統制に関する法制度#e...
-Li et al
--概要
---24個の会計情報を使った[[ロジスティック回帰>データ解析#...
---[[サポートベクターマシン>#mcb6a10f]]で不正会計確率を推定
---一度スコアを求めるかどうかというのが違いになる。
--特徴
+++手を加えていない会計情報そのものと~
不正・非不正の情報で構成される大量データを~
訓練データとテストデータに分け訓練データでモデルを作り~
テストデータでその検知能力を調べるという一般的な研究~
・訓練データ:1991年から2002年までのデータ~
・テストデータ:2003年から2005年までのデータ
+++[[アンダーサンプリング>#m168d4ea]]を行っている。~
訓練データの1と0(不正と非不正)が同数になるようにサンプ...
--実務家の方法を取り入れることで~
先行研究よりも正判別確率の高いモデルを構築~
(東海林・中村・尾崎(2020)
---不正会計を不正手段の種類別に認識
---貸借対照表に不正会計の歪みが蓄積されることを利用して~
その歪みから得られる違和感により不正会計を経験的に認知
-正判別率の上げかた。
--歪みと違和感を変数化して特徴量にした。
--不正手段を売上過大計上に限定した。
--目的変数を不正群・非不正群ではなく~
非不正群から利益調整群を除いた1,0データとした。
***[[ベイズ云々>ベイズ統計#g41ea723]]の活用例 [#jdec0eb6]
-迷惑メール
-診断・コールセンター
-レコメンド
-社会現象・データ
-顧客行動理解
*機械学習の分類 [#re2bf537]
|分類1|分類2|用途|アルゴリズム|h
|[[教師あり学習>#y3a9ef2a]]|[[回帰>#ifbcfb9e]]|・売上予測...
|~|[[分類>#mcb6a10f]]|・画像分類&br;・故障診断&br;・顧客...
|[[教師なし学習>#p3ab14a7]]|[[クラスタリング>統計解析#df8...
|~|次元削減|・特徴量エンジニアリング|・[[主成分分析>統計...
|[[強化学習>#nbbca2a2]]||・ゲーム&br;・広告&br;・自動運転...
**学習データでの分類 [#aeb76d7f]
-コンピュータとその周辺の技術・情報が発達してきたため出て...
-互いに独立なものではなく、高度に組合せて使用することも可...
***教師あり学習 [#y3a9ef2a]
(supervised learning)
-教科書を使った勉強のように、~
「結果と予測すべき答え」(訓練データ)が与えられ、~
それ(≒教師)に至るためのモデルを構築する学習手法
-「予測すべき答」は
--ラベル(タグ)とも呼ばれる
--人間の専門家が訓練例にラベル付け(タグ付け)して提供
--このラベル付け(タグ付け)の作業を[[アノテーション>#m79...
-未知のデータ「x」にそれを適用して、予言 y = f(x) を与え...
-予言 y と、出力 ȳ の誤差が小さくなるように学習が進められ...
-[[異常・不正の検出>AIの活用例#y95cb949]]など、正例が少な...
***教師なし学習 [#p3ab14a7]
(unsupervised learning)
-データ自体に構造・特徴があり、そのデータを分類・識別する。
-与えられたデータセット(訓練データ)の中に予測すべき正解...
データの背後に存在する本質的な構造かをデータ同士の関係か...
-評価規範Cが与えられている。評価規範Cを最適化するように学...
-自分で学習のための「教師」データを作り出す自己教師型を教...
-判断ではなく、[[データマイニング>ビジネス インテリジェン...
[[クラスタ分析、主成分分析>統計解析#ie80ebc6]]、対応分析...
-教師あり学習と比べると、
--結果の解釈が難しく、分析者の主観的な解釈が必要となる。
--[[異常・不正の検出>AIの活用例#y95cb949]]など、正例が少...
***半教師あり学習 [#cdebd400]
(semi-supervised learning)
-一部のデータにのみ出力の正解が付与されたデータを用いる手...
--ラベルありの例とラベルなしの例を両方扱える。
--すべてのデータにラベルを付けなくても良いので、効果的な...
-[[教師あり学習>#y3a9ef2a]]と[[教師なし学習>#p3ab14a7]]を...
--主成分分析などの[[教師なし学習>#p3ab14a7]]によって[[事...
--[[教師あり>#y3a9ef2a]]データを使ってモデルを作り、それ...
精度の高いデータを正解ラベルとして採用し、教師ありデータ...
-[[分類問題(識別モデルと生成モデル)>機械学習(machine l...
(回帰分析の半教師あり学習で同じようなメリットを得るのは...
--説明変数の事前分布が明確になる
--クラス間の境界が明確になる (クラス分類のみ)
--モデルの安定性が向上する
--モデルの適用範囲が広がる
***自己教師あり学習 [#g6507d39]
(self-supervised Learning)
-ラベル無しデータを使う[[教師なし学習>#p3ab14a7]]の一種
--自分で学習のための「教師」データを作り出す。
--「常識」などの抽象的な概念を獲得するための重要な手法
-データ自身に隠されている構造を読み取り、~
ターゲットを予測する学習を行う。
--次単語(予測)
--マスク単語(予測)
self-xxxxxxx Learningと言うアルゴリズムはコレの場合が多い。
**利用方法での分類 [#xded2d4a]
-≒モデルの種類。
-利用:recall、想起、適用
-教師データに対するテストデータに適用
-「知りたい情報」の設定に依存して多様。
-[[深層学習>#c96e8163]]では、ほとんどのことができる。
***推定 [#dd0f4610]
-ある事実を手掛かりにして、推し量って決めること。
-プリミティブ?
--[[回帰>#ifbcfb9e]]~
連続する変数の予測(間の相関関係を推定する)問題。
--[[分類>#mcb6a10f]]~
離散値の予測(特徴を推定する)問題。
-[[ベイズ云々>ベイズ統計#neb846b6]]
--[[ベイジアンフィルタ>#mcb6a10f]]
--[[ベイズモデル>ベイズ統計#w036ba0b]]
--[[ベイジアンネットワーク>ベイズ統計#w7d99984]]
---統計的機械学習手法の一つ
---説明可能性が高い機械学習手法
---ベイジアンネットワークを自動的に構成~
・グラフ構造の探索~
・[[条件付き確率>ベイズ統計#v372de91]]表の推定~
***回帰 [#ifbcfb9e]
-連続的な応答を予測
-教師あり学習を用いる
-[[深層学習>深層学習(deep learning)]]を使った回帰もある。
-種類
--線形回帰~
直線で予測。
---連続する目的変数を複数の説明変数を用いて予測、説明する
---1つ以上の独立した説明変数を使用し、線形方程式の係数を...
--非線形回帰~
曲線で予測。
---線形パラメタとの関係を適切にモデル化できない場合
---連続する目的変数と1つ以上の説明変数との間の~
非線形な関係を表す方程式を用いて予測、説明する。
---パラメトリック非線形回帰~
目的変数(単変量または多変量)を~
非線形パラメタと1つ以上の説明変数の~
組み合わせとして関数化して予測、説明する。
---ノンパラメトリック非線形回帰~
機械学習の手法が使用される。
--[[正則化を施した線形回帰>統計解析#i38c7fea]]
---Ridge回帰
---Lasso回帰
---Elastic Net回帰
--ステップワイズ回帰
---精度の高いモデルを選択する回帰分析の手法
---自動的に説明変数を1つずつ追加、削除
--[[複数の決定木を使用するモデル>#mcb6a10f]]~
(この場合は分類木ではなく回帰木か)
--時系列データを対象とする回帰モデル
---自己回帰(AR)モデル:単変量の時系列データを対象とする...
---ベクトル自己回帰(VAR)モデル:ARモデルを多変量に拡張...
***分類 [#mcb6a10f]
-離散的な応答を予測
-教師あり学習を用いる
-[[深層学習>深層学習(deep learning)]]を使った分類もある...
-種類
--[[ロジスティック回帰>データ解析#f8862775]]
--[[サポートベクターマシン(SVM)>統計解析#f3322edd]]
--[[決定木>統計解析#lcaf7a28]]
--[[判別分析>統計解析#ke57e386]]
--[[ベイジアンフィルタ>ベイズ統計#x0ff52d4]]
***クラスタリング [#s17a0f59]
-最も一般的な教師なし学習手法
-探索的データ分析により、データ内の隠れたパターンやグルー...
-[[種類>統計解析#df844c06]]
--ウォード法
--k平均法(k-means clustering)
--トピックモデル
--混合ガウスモデル (GMM)
--隠れマルコフモデル (HMM)
--自己組織化マップ
--ファジィ c 平均クラスタリング
***認識 [#q8d902ca]
-パターン認識など。
-物事をはっきりと見分け、判断すること。
-主体あるいは主観が対象を明確に把握すること。
-Googleの猫:self-taught learning(自己教示学習)~
≠ [[self-supervised Learning(自己教師あり学習)>#g6507d3...
***創出 [#n9aa21a1]
-GANとかの生成モデル?
-物事を新しく造り出すこと。
***自己組織化 [#c38e4beb]
-物質や個体が、系全体を俯瞰する能力を持たないのに関わらず...
個々の自律的な振る舞いの結果として、秩序を持つ大きな構造...
-行動規範型ロボット的な自己修復機能をもった自己組織化ロボ...
**その他 [#n18e507c]
***[[深層学習>深層学習(deep learning)]] [#c96e8163]
***[[強化学習>強化学習(Reinforcement Learning)]] [#nbbc...
***[[深層強化学習>強化学習(Reinforcement Learning)#s6c0...
***その他 [#wa483fd7]
-トランスダクション(トランスダクティブ推論)~
観測された具体的な(訓練)例から~
具体的かつ固定の(テスト)例の~
新たな出力を予測しようとする。
-マルチタスク学習~
関連する複数の問題について同時に学習させ、~
主要な問題の予測精度を向上させる。
*統計と機械学習 [#j2c969ca]
**基礎的な違い [#u4d36865]
-どちらも
--データを使って問題を解決する
--数学的な手法を使って質問に答えることに関心がある
-ゴールと貢献の仕方が違う。
--分析において説明力を重視するのか?
--予測において精度を重視するのか?
-SVMやDNNなどの精度が高いが説明しにくいモデルの使用を避け~
代わりに表現力が乏しいが説明がし易いモデルを使用すること...
***統計学 [#d63f3e7e]
-統計学か数学の一環
-データを“説明”すること(推定と推論)を強調
--限られた標本から調査したい母集団全体の特徴を推測する。
--データを(学習データと検証データに)分割しない。
--[[過学習>#l377f5cd]]の可能性を気にしない。が、疑似相関...
-説明変数の数が大きくなると多変量解析を使った変数選択手法...
***機械学習 [#bce2a8b5]
-コンピュータ・サイエンスの一環
-データから“予測”することを強調
--変数間の関係性やルールなどを機械学習による予測モデルに...
--データを(学習データと検証データに)分割する。
--[[過学習>#l377f5cd]]の可能性を気にする。が、疑似相関は...
-説明変数の数が多くなる場合は、機械学習を含む解析が使える。
**使い分け [#b94ddfd2]
予測モデルの使い分け。
***統計 [#s3b2ba62]
-モデルとデータ
--モデル
---モデルとデータ全体を解釈したい。
--データ
---量~
・データのサンプルサイズが大きくない。~
・トレーニングデータを持っていない。
---質~
・不確実性やランダム性がある。~
・信号対ノイズ比(ノイズに対するシグナルの割合)が大きく...
-目的
--不確実性や予測変数の影響度を調べる必要がある。
--少ない数の変数の影響度を切り離して評価したい。
***機械学習 [#r1437e1a]
-モデルとデータ
--モデル~
推論の精度に興味があり、モデルへの興味は薄い。
---複雑な構造の内部パラメタに大量のデータの情報を反映でき...
---十分なデータを使用できれば、精度な予測・分析ができる可...
---トレードオフとしてモデル構造が複雑で解釈性が犠牲になり...
--データ
---量~
大量のデータを使用して学習することが期待されている。~
・データのサンプルサイズが大きい。~
・膨大なトレーニングデータで学習できる。
---質~
・強い不確実性やランダム性を持たない。~
・信号対ノイズ比(ノイズに対するシグナルの割合)が大きい。
-目的
--不確実性の推測や選択した予測変数の影響度には興味が無い。
--予測がゴールで少ない数の変数の影響は問題ではない。
*特徴量の選択とエンジニアリング [#s2dc3704]
今あるデータの特徴量からドメイン知識などを生かして
-特徴量選択:特徴量を絞ったり
-特徴量エンジニアリング:新しくデータの特徴量を作成したり
することで、予測性能、すなわち汎化性能を向上させる作業。
**[[CRISP-DM>データマイニング(DM)- CRISP-DM]]上の [#l4a...
***[[データの理解>データマイニング(DM)- CRISP-DM#m9ad14...
-[[データの調査(相関関係>データマイニング(DM)- CRISP-D...
-[[データの品質の検証(欠損値>データマイニング(DM)- CRI...
***[[データの準備>データマイニング(DM)- CRISP-DM#a6aa2d...
-[[データのクリーニング(欠損値>データマイニング(DM)- C...
-[[データ統合(フォーマット変換>データマイニング(DM)- C...
**テクニック [#ze157faf]
***欠損値の処理 [#n6342f21]
-記録されなかった値を含むデータの削除や補完
-Pythonのライブラリで処理可能。
--[[欠損率の計算と確認>データマイニング(DM)- Python#q3e...
--[[データのクリーニング(削除や補完)>データマイニング(...
***相関係数を確認 [#ja2ee801]
-ピアソンの積率相関係数~
相関係数(2つの量的変数間の直線的関連の程度を表す係数)
-スピアマンの順位相関係数~
各変量を順位に変換してピアソンの積率相関係数を求めたもの
***特徴量選択 [#s58bcf22]
-フィルター法(Filter Method)
--特徴量間の統計的な関係を評価して、それらをランキングす...
--特徴量の個々の特性(分散、相関、情報量など)を計算し特...
--散布図行列、相関行列のヒートマップ、相関係数、情報利得...
--相関係数を考慮した場合、[[多重共線性(マルチコ)>統計解...
--モデルの学習が不要なので計算効率が高く、計算コストが低...
-ラッパー法(Wrapper Method)~
--モデルで予測をした誤差を評価し最適な説明変数の部分集合...
--ステップワイズ法(変数増減法:変数増加法、変数減少法)~
・各ステップで、特徴量を追加した後にモデルの性能を評価し...
・指定された基準(例:AIC、BIC、交差検証スコアなど)が満...
---変数増加法~
・モデルに含める特徴量を一つずつ増やしていく。~
・特徴量が1つの状態から、一つずつ特徴量をモデルに加えてい...
---変数減少法~
・モデルに含める特徴量を一つずつ減らしていく。~
・特徴量がすべて含まれている状態から、一つずつ特徴量を削...
-埋め込み法(Embedded Method)~
--アルゴリズムに特徴量選択が組み込まれているモデルの学習...
--回帰係数(重み)から重要度を算出したり、[[Lasso回帰>統...
--その他、[[決定木>統計解析#lcaf7a28]]などのモデルの「感...
***エンコーディング [#id0e10d5]
-One-Hotエンコーディング
--多クラスのカテゴリを0・1ラベルで表す特徴量として展開す...
--One-Hotエンコーディング結果のデータをOne-Hotベクトルと...
--Dummyコーディング、Effectコーディングがある。
--Dummyコーディングでは最初の列を削除
---オール 0 → 参照カテゴリ
---[[多重共線性(マルチコ)>統計解析#na76c5ec]]を回避
--Effectコーディングでは最初の列を削除
---オール 0 → 欠損データ
---オール -1 → 参照カテゴリ
---[[多重共線性(マルチコ)>統計解析#na76c5ec]]を回避、欠...
--[[Pythonのライブラリ>データマイニング(DM)- Python#v8a...
-Featureハッシング
--One-Hotエンコーディングは高次になることで不安定になる。
--説明変数をハッシュ値のビットフラグ的に表現し削減する。
--衝突が起きる、直感的に理解できなくなる、などの問題があ...
-Frequencyエンコーディング
--各カテゴリ変数値の出現確率でエンコーディング
--Ranked frequencyエンコーディングは出現順位でエンコーデ...
--次元を増さずにエンコーディングでき線形・非線形どちらで...
--外れ値に敏感だがRanked frequencyでは外れ値の影響も小さ...
-Targetエンコーディング
--各カテゴリ変数値の目的変数の情報(平均値)を使ってエン...
--リークを起こす可能性(訓練データで高い評価、テスト・デ...
-ラベル・エンコーディング(Ordinalエンコーディング
--カテゴリに任意の(連番の)数値を割り当てる。
--数値間の差が一定なのでカテゴリ間の差が一定でないものに...
--ラベル間の数値の大小関係を学んでしまうアルゴリズムでは...
-その他
--ビンカウンティング
--Nonエンコーディング
***特徴量作成 [#g620e73a]
特徴量生成のパターン(数値変換)
-単一変数
--二値化~
境目(閾値)を設け、"0"と"1"に分ける。
--離散化~
ある連続した値を不連続な(階級)値に分割する。
--分位化~
階級ごとの件数に大きな差がある場合、~
データの分布に応じて階級を決める。
--べき乗~
指数が実数全体となる計算
--スケール変換~
---特徴量がおおよそ同じスケール(寸法、尺度)になるように変...
---StandardScaler、Normalizer、MinMaxScaler等の手法がある...
・StandardScaler:特徴量の平均が0、分散が1、になるように...
・Normalizer:ノルムが1になるようにスケール変換(デフォル...
・MinMaxScaler:特徴量の値が一定の範囲(0~1 or -1~1)に...
--対数変換~
目的変数Yを目的変数log(Y) に変換する。
--Box-Cox変換
---指定の分布(正規分布)に近づける手法
---0や負値を扱えない点に注意
--ウィンザー化
---一定の範囲外のデータを除外する手法
---外れ値処理などに適用可能
--ロジット変換
---なにかしらの比例xを、オッズの自然対数に変換する。
---(確率値などの)0~1の間の数を、正負両方向に無限大の値...
--Yeo-Johnson変換~
...
--数学関数による変換
---log関数
---exp関数
---sin関数
---cos関数
-複数変数
--四則演算(交互作用項・非線形特徴量)~
既存の説明変数から四則演算で説明変数を作成、例えば、~
---購入金額と購入件数から購入単価(1回の購入時に1人の顧客...
---[[多重共線性(マルチコ)>統計解析#na76c5ec]]対策で「x...
--[[クラスタ分析、主成分分析>統計解析#ie80ebc6]]
---主成分分析~
あまりにも特徴量の多い高次元データは、~
主成分分析で複数の説明変数を圧縮して少なくする。
---クラスタ分析~
クラスタリングで新たなカテゴリの説明変数を追加し、~
コレを利用することで精度が上がるコトがある。
--特異値分解~
...
***スタッキング [#jc645764]
-[[アンサンブル学習>#t3b0d157]]だが、新たな特徴量を作る方...
-あるモデル(1段目のモデル)を使った予測値を特徴量として...
さらに別のモデル(2段目のモデル)を作るような[[アンサン...
***不均衡データに対するサンプリング [#m168d4ea]
-アンダーサンプリング~
少数派のデータに合わせて多数派のデータを削除する。
-オーバーサンプリング~
少数派のデータを多数派のデータに合わせて追加する(SMOTE)。
**Pythonでの処理例 [#h8695899]
***[[Pandas>Pandas#e1fa02e4]] [#v700c0fd]
***[[Matplotlib]] [#m571d2f7]
*モデル評価のエンジニアリング [#x10869d3]
**[[モデルの評価>データマイニング(DM)- CRISP-DM#i3d85f2...
**[[精度の評価>データマイニング(DM)- CRISP-DM#uf759972]...
**[[精度と説明力>データマイニング(DM)- CRISP-DM#e5a7f1f...
*モデル・チューニングのエンジニアリング [#l9072c3f]
**[[チューニング>データマイニング(DM)- Python#r3bca668]...
***[[グリッド・サーチ>データマイニング(DM)- Python#d182...
***[[ランダム・サーチ>データマイニング(DM)- Python#x459...
***[[多目的ベイズ最適化>データマイニング(DM)- Python#qe...
***[[特徴選択とエンジニアリング>データマイニング(DM)- P...
**[[モデル評価のエンジニアリング>#x10869d3]] [#r0c8d5fd]
*MLOps(エンジニアリング部分の自動化 [#s81c0338]
(Machine Learning Operations)
-機械学習(machine learning)のMLと、[[DevOps>https://tec...
-機械学習、[[深層学習>深層学習(deep learning)]]の開発・...
開発者(データ・サイエンティスト、エンジニア)と、保守・...
コラボレーションおよびコミュニケーションに関する実践手法。
**CX [#g816eacf]
***[[CI/CD>https://techinfoofmicrosofttech.osscons.jp/ind...
***CT/CM [#haa5a58d]
-CT : 継続的にトレーニング
-CM : 継続的モニタリング
**ポイント [#t601f916]
***動作環境 [#oace200e]
||管理|セキュリティ|性能|通信環境|h
|クラウド|○|△|○|△|
|オンプレ|✕|○|△|○|
|エッジ|✕|△|✕|○|
***精度・速度 [#f614e98a]
反比例のトレードオフ
***サーバ構成 [#t68ac3e0]
ノウハウが必要([[データ・パイプライン]]
***安定運用 [#teccb1dd]
-データの収集・整形
--パイプライン構築
--適切な管理
-学習・評価
--状況確認
--デプロイ
-本番・運用
--運用監視
--データの収集・[[追加学習>#w6d3e08c]]
※ 本番・運用のチェックの労力で学習データを作成し精度を上...
***Auto ML [#h3e39448]
-AutoML(Automated Machine Learning: 自動化された機械学...
-機械学習を実際の問題に適用するプロセスを自動化する手法や...
-主に、[[実行手順>#za50e7d8]]に記載した工数の掛かる工程を...
-以下のような欠点がある。
--専門家の方が良いモデルを開発できる可能性がある。
--ブラックボックスのため説明性の問題が発生する可能性があ...
--構造化データデータが中心で非構造化データは発展途上。
*課題(を解決するクラスド・サービス [#b84886e5]
⽣産性向上が阻害されている主な要因はデータ・ツール・デプ...
-[[データ(データレイク)>#z7c747e3]]
-[[ツール>#k8891d05]]
-[[デプロイ>#xb2b49c0]]
**[[データレイク>ビジネス インテリジェンス(BI)#w2d56f91...
***課題 [#yf5eeac5]
以下のような課題を持っている。
-低品質でサイロ化︓データ活⽤が進まない~
データが”Ready” となっていない
-整合性の維持
--ざっくり、スキーマが無い事が問題
--スキーマレスの状態からデータの加工に時間がかかる
-更新の重複への対応
--読み取りのスケーラビリティが高い
--一方で、更新処理が苦手(トランザクション制御)
***プロダクト [#z224fc3a]
-[[Apache Kudu]]
-[[Apache Hudi]]
-[[Delta Lake]]
**ツール [#k8891d05]
***課題 [#l42ca112]
以下のような課題を持っている。
-⼤量のツール群︓活⽤が不⼗分~
ツールやフレームワークの共有、ナレッジの管理~
コラボレーション、再現性が厳しい。
***プロダクト [#m4018c16]
-[[scikit-learn]]
-[[TensorFlow・Keras]]
-[[PyTorch・PyCharm>深層学習(deep learning)#nf0c1f92]]
-[[Jupyter Notebook]]・[[JupyterLab]]
-RStudio
-, etc.
**デプロイ [#xb2b49c0]
***課題 [#td027080]
以下のような課題を持っている。
-本番適⽤︓MLのデプロイが困難~
エラーが発⽣しやすい⼿作業によりイノベーションのスピード...
***プロダクト [#sc610589]
-[[AzML>https://techinfoofmicrosofttech.osscons.jp/index....
-[[MLflow>https://techinfoofmicrosofttech.osscons.jp/inde...
*参考 [#ad572ff9]
-コンテンツへのリンク - OSSコンソーシアム~
https://www.osscons.jp/joho108j0-537
--機械学習・深層学習についてのレポート~
https://1drv.ms/p/s!Amfs5caPP9r5jh-m6pIMwKgDln1N
--機械学習・深層学習についてのNotebook~
https://github.com/OpenTouryoProject/DxCommon/tree/master...
**特徴量の選択とエンジニアリング [#x47fbff5]
-機械学習で重要な特徴量エンジニアリングとは?|スタビジ~
https://toukei-lab.com/variable-engineering
-特徴量エンジニアリングとは - AI・機械学習ナレッジセンタ...
https://www.varista.ai/knowledge/what-is-feature-enginner...
-[[今あらためて考える特徴量エンジニアリング ~予測精度を...
-[[特徴量エンジニアリングについて6つ|前処理と性能を高め...
-[[Qiita > 特徴量エンジニアリング>#jed0dce6]]
**農学情報科学 [#c78015c3]
https://axa.biopapyrus.jp/
***機械学習 [#k797ea25]
https://axa.biopapyrus.jp/machine-learning/
***[[深層学習>深層学習(deep learning)#k6df98e9]] [#u708...
**Qiita [#zd3df769]
-データ分析、前処理、モデル構築・適用~
https://qiita.com/tk-tatsuro/items/b72e418724ceb78e4af9
***データ分析 [#gc929540]
https://qiita.com/tk-tatsuro/items/561e9fc657422e05f0f7
***特徴量の選択とエンジニアリング [#jed0dce6]
-特徴量エンジニアリング~
https://qiita.com/tk-tatsuro/items/f27c012e0cb95a5f51d2
-前処理(特徴量エンジニアリング)~
https://qiita.com/tk-tatsuro/items/793bc3ec181e30803157
-データの理解
--不均衡データ~
https://qiita.com/tk-tatsuro/items/10e9dbb3f2cf030e2119
--外れ値検出~
https://qiita.com/tk-tatsuro/items/a49ccab4441dc1dfc86c
--欠損データ~
https://qiita.com/tk-tatsuro/items/3aaaf7139de19c0d8555
--時系列データ分析~
https://qiita.com/tk-tatsuro/items/16ce74fc954b5a58df00
-テクニック
--数値変換~
https://qiita.com/tk-tatsuro/items/86c0a9ff744f73ad1832
--エンコーディング~
https://qiita.com/tk-tatsuro/items/a06f1fa4f35639bcad8d
--欠損データ~
https://qiita.com/tk-tatsuro/items/3aaaf7139de19c0d8555
--クラスタリング~
https://qiita.com/tk-tatsuro/items/1228c90e8803db378f31
--主成分分析~
https://qiita.com/tk-tatsuro/items/705c865009bc7ccb6b04
--相互作用特徴量~
https://qiita.com/tk-tatsuro/items/49a886cf3290a512aacf
--特徴選択~
https://qiita.com/tk-tatsuro/items/759acd001d4fbb8ef6c5
-データ分析で説明変数間の相関が高いときどうすればよいか(...
https://qiita.com/kenTee/items/03285eb311d16c1e08f3
***モデル構築・適用 [#d8e3c849]
https://qiita.com/tk-tatsuro/items/ec8c1a36582d4bec7924
**Wikipedia [#c3e851cb]
-機械学習~
https://ja.wikipedia.org/wiki/%E6%A9%9F%E6%A2%B0%E5%AD%A6...
***アルゴリズム、モデル [#t9d5d40d]
-[[推計統計(統計的機械学習>統計解析#s6b55a29]]
-[[ベイズ統計>ベイズ統計#t0c0bf17]]
-サポートベクターマシン~
https://ja.wikipedia.org/wiki/%E3%82%B5%E3%83%9D%E3%83%BC...
-ニューラルネットワーク~
https://ja.wikipedia.org/wiki/%E3%83%8B%E3%83%A5%E3%83%BC...
***学習データでの分類 [#c624141e]
-教師あり学習~
https://ja.wikipedia.org/wiki/%E6%95%99%E5%B8%AB%E3%81%82...
-教師なし学習~
https://ja.wikipedia.org/wiki/%E6%95%99%E5%B8%AB%E3%81%AA...
***活用例 [#e42ecd33]
-CRISP-DM~
https://en.wikipedia.org/wiki/Cross-industry_standard_pro...
-エキスパートシステム~
https://ja.wikipedia.org/wiki/%E3%82%A8%E3%82%AD%E3%82%B9...
-事例ベース推論~
https://ja.wikipedia.org/wiki/%E4%BA%8B%E4%BE%8B%E3%83%99...
ページ名: