AWS Certified Machine Learning – Specialty＿勉強メモ（５日目）

# はじめに
標記の資格試験に向けた勉強メモ（５日目）です。

# 勉強メモ
・SageMaker 画像分類アルゴリズムに推奨される入力形式は、Apache MXNet RecordIO（.jpg または .png 形式の RAW 画像を使用することも可能）。

・SageMaker 画像分類アルゴリズムは、ファイル モードでのトレーニングでは RecordIO ( application/x-recordio) と image ( image/png、 image/jpeg、およびapplication/x-image) コンテンツ タイプの両方をサポートし、パイプ モードでのトレーニングでは RecordIO ( application/x-recordio) コンテンツ タイプをサポートする。

https://docs.aws.amazon.com/sagemaker/latest/dg/image-classification.html

・ポアソン分布は、指定された期間内にイベントが何回発生する可能性があるかを示すために使用される確率分布。

・ベルヌーイ分布は、ベルヌーイ試行、つまり 2 つの結果 (通常は「成功」または「失敗」と呼ばれる) のみを持つランダムな実験の離散確率分布（例：コイントス）

・二項分布は、複数回繰り返される実験または調査における単に成功または失敗の結果の確率（ベルヌーイ分布に従う物事の結果の合計）。

・t分布の際立った特徴は、正規分布よりも太い裾を持つこと。

・カイ二乗分布は、正規分布する値の二乗和の分布。これはカイ二乗検定の基礎となる分布であり、それ自体が正規分布するはずの差の二乗和に基づいている。

・ガンマ分布は、指数分布とカイ二乗分布の両方を一般化したもの

※ 統計分布を噛み砕いた説明については、以下の記事を参考にされたし。

https://medium.com/@srowen/common-probability-distributions-347e6b945ce4

・必要なシャード数 = max (incoming_write_bandwidth_in_KB/1000, outgoing_read_bandwidth_in_KB/2000)

・LDA ： Amazon SageMaker 潜在ディリクレ割り当て (LDA) アルゴリズムは、一連の観測値を異なるカテゴリの混合として記述しようとする教師なし学習アルゴリズム。LDA は、テキスト コーパス内のドキュメントで共有されるユーザー指定の数のトピックを検出するために最も一般的に使用される。

・Random Cut Forest (RCF) - Amazon SageMaker Random Cut Forest (RCF) は、データセット内の異常なデータポイントを検出するための教師なしアルゴリズム

・因数分解マシン (FM) - 因数分解マシン アルゴリズムは、分類タスクと回帰タスクの両方に使用できる汎用の教師あり学習アルゴリズム

・SageMaker IP Insights は、IPv4 アドレスの使用パターンを学習する教師なし学習アルゴリズム。これを使用することで、異常な IP アドレスから Web サービスにログインしようとしているユーザーを識別できる。

・SageMaker トレーニング タスクを送信するときに指定する必要がある必須パラメータ
 -SageMaker がユーザーに代わってタスクを実行することができる IAM ロールの Amazon リソースネーム (ARN) 
 -モデルのトレーニング用にデプロイするリソース、ML コンピューティング インスタンス、および ML ストレージ ボリューム
 -トレーニングされたモデルが保持される Amazon S3 バケット上の出力パス

・Kinesis Firehose は、サーバーをプロビジョニングせずにデータを Parquet 形式に変換し、S3 に保存できる。

・Glue ETL ジョブはソース データを Parquet 形式に変換できるが、バッチ ETL のユースケースに最適であり、ほぼリアルタイムのデータを処理することを目的としていない。

・Rekognition Image を使用すると、数百万の画像を検索、検証、整理するための強力なアプリケーションを簡単に構築できる。

・Rekognition Video を使用すると、保存されたビデオまたはライブ ストリーム ビデオからモーション ベースのコンテキストを抽出し、分析することができる。

・Amazon Mechanical Turk (MTurk) は、個人や企業がプロセスや仕事を、仮想的にこれらのタスクを実行できる分散した労働力に簡単にアウトソーシングできるようにするクラウドソーシング マーケットプレイス。

・SageMaker はリソースベースのポリシーをサポートしていない。

・SageMaker リソースにタグを添付したり、リクエスト内のタグを SageMaker に渡したりできる（リソースタグに基づく認可をサポートしている）。

・SageMaker では、CSV ファイルにヘッダー レコードがなく、ターゲット変数が最初の列にあることが必要

・AWS Glue は、新しいデータが到着すると ETL ジョブを実行できる。

・AWS Glue は、ソース入力タイプとして Timestream をサポートしていない。

・Amazon Elastic Inference (EI) を使用すると、Amazon SageMaker がホストするモデルとしてデプロイされた深層学習モデルからリアルタイム推論を取得する際のスループットを高速化し、レイテンシーを短縮できる。（GPUインスタンスを使用する場合に比べて、コストも大幅に削減可能）

・SageMaker Inference Pipeline は2 ～ 15 個のコンテナをサポートできる。

・SageMaker NTM は、ドキュメントのコーパスを統計的分布に基づいた単語グループを含むトピックに編成するために使用される教師なし学習アルゴリズム。

・SageMaker DeepAR 予測アルゴリズムは、リカレント ニューラル ネットワーク (RNN) を使用してスカラー (1 次元) 時系列を予測するための教師あり学習アルゴリズム。新製品のパフォーマンスの予測に便利。

・自己回帰統合移動平均 (ARIMA) や指数平滑法 (ETS) などの古典的な予測手法は、単一のモデルを個々の時系列に適合させ、将来の時系列を推定。

・線形回帰モデルの最も重要な仮定は、残差が独立しており、正規分布しているということ。

・残差がゼロ中心の釣鐘型を形成していない場合は、モデルの予測誤差に何らかの構造が存在する。

・tf は、特定の「文書」内の任意の「用語」の頻度を表す。

・idf はコーパスごとに一定であり、その特定の「用語」を含む文書の比率を表す。

・多数の観測値と特徴を含むデータセットにPCAを使う場合は、ランダム化モードを使用する必要がある。

　・地理的ヒート マップは、何かが発生している場所を特定し、密度の高い領域と低い領域を示す対話型の方法。

・Xgboostは組み込みアルゴリズムとしても、独自のカスタマイズされたスクリプトを実行するためのフレームワークとしても使用できる。

・Apache Spark は、Amazon EMR クラスターを使用した機械学習、ストリーム処理、グラフ分析の実行に役立つ分散処理フレームワークおよびプログラミング モデル

・Amazon EMR は、Hive、Pig、HBase、Presto、Impala などの Hadoop エコシステムのアプリケーションを使用して、大量のデータを簡単に処理および分析できるようにする Web サービス

・Apache Spark (このユースケースでは EMR クラスター上で実行されている) は、出力を RecorIO-Protobuf 形式で書き込むことが可能。

・AWS Glue は、分析、機械学習、アプリケーション開発のためのデータの検出、準備、結合を容易にするサーバーレスデータ統合サービス。

・AWS Step Functions は、AWS サービスの調整、ビジネスプロセスの自動化、サーバーレスアプリケーションの構築に使用されるローコードのビジュアルワークフローサービス

・Lambda は、1TB データを RecordIO-Protobuf 形式に変換するタスクなど、長時間実行されるプロセスには適していません。

・Amazon Lex は、音声とテキストを使用して会話型インターフェイスを構築するためのサービス

・Amazon Polly は、テキストを本物のような音声に変換するサービスで、会話するアプリケーションを作成したり、まったく新しいカテゴリの音声対応製品を構築したりできる。

・Amazon Comprehend は、機械学習を使用して非構造化データ内の情報を明らかにする自然言語処理 (NLP) サービス

・Amazon Connect は、顧客とエージェントに音声とチャットにわたるシームレスなエクスペリエンスを提供する、使いやすいオムニチャネル クラウド コンタクト センター。

・ Amazon Translate は、高速、高品質、手頃な価格のカスタマイズ可能な言語翻訳を提供するニューラル機械翻訳サービス

・Softmax は、シグモイド活性化関数の拡張。Softmax 関数は出力に非線形性を追加する。
ソフトマックス関数は、マルチクラス分類に使用される、より一般化されたシグモイド 活性化関数。

・RELU は、最もよく使用される活性化関数の 1 つ。ニューラル ネットワークの隠れ層では RELU を使用することが推奨される。出力の範囲は 0 から無限大まで。

・Tanh はシグモイド活性化関数の拡張。Tanh を使用することで出力に非線形性を追加できる。出力は -1 ～ 1 の範囲内になる。tanh 関数は主に 2 つのクラス間の分類に使用される。

※ 活性化関数についての詳細は以下の記事を参考にされたし。

https://medium.com/fintechexplained/neural-network-activation-function-types-a85963035196

・Amazon Redshift は、エンタープライズ レベルのペタバイト規模のフルマネージド データ ウェアハウジング サービス。大規模な並列処理、列指向のデータ ストレージ、および非常に効率的で対象を絞ったデータ圧縮エンコード スキームの組み合わせを通じて、効率的なストレージと最適なクエリ パフォーマンスを実現できる。

・COPY コマンドは、Amazon S3、Amazon EMR、Amazon DynamoDB、またはリモートホスト上の複数のデータソースからデータを並行してロードする。COPY は、INSERT ステートメントを使用するよりもはるかに効率的に大量のデータをロードし、データもより効果的に保存できる。

・モデルが過学習している場合は、トレーニング データを追加したり、正則化を追加したり、使用する機能を減らしたりすると、根本的な問題の解決に役立つ。

・Amazon Elastic Inference を活用することで、低コストの GPU によるアクセラレーションを Amazon EC2 および Sagemaker インスタンス、または Amazon ECS タスクに接続でき、ディープラーニング推論の実行コストを最大 75% 削減できる。

・推論パイプラインは、データの推論リクエストを処理する 2 ～ 15 個のコンテナの線形シーケンスで構成される Amazon SageMaker モデル。

・推論パイプラインは、リアルタイムの予測を行ったり、外部の前処理を行わずにバッチ変換を直接処理したりするために使用できる Amazon SageMaker モデルと考えることができる。

・Amazon Elastic Inference (EI) は、Amazon EC2 CPU インスタンスにアタッチしてディープラーニング (DL) 推論ワークロードを高速化できるリソース

・自動スケーリングは、ワークロードの変化に応じて、モデルにプロビジョニングされるインスタンスの数を動的に調整する。

・ターゲットを持たない教師なし学習アルゴリズムを実行するには、コンテンツ タイプでラベル列の数を指定する。
（例）'content_type=text/csv;label_size=0'

・AWS Glue ML Transforms を使用して、機械学習変換を作成してデータをクレンジングできる。

・CloudWatch は、SageMaker モニタリング統計を 15 か月間保持する。ただし、Amazon CloudWatch コンソールは、検索を過去 2 週間に更新されたメトリクスに制限する。

・SageMaker モニタリングメトリクスは、CloudWatch で 1 分間隔で利用可能。

・Amazon CloudWatch は、AWS リソースと AWS 上で実行されるアプリケーションをリアルタイムで監視する。メトリクスを収集および追跡し、カスタマイズされたダッシュボードを作成し、指定したメトリクスが指定したしきい値に達したときに通知したりアクションを実行したりするアラームを設定できる。さらに、Amazon CloudWatch Logs と CloudWatch Events を使用して、モニタリング プロセスを強化可能。

・AWS CloudTrail は、AWS アカウントによって、またはその代理として行われた API 呼び出しと関連イベントをキャプチャし、指定した Amazon S3 バケットにログ ファイルを配信する。どのユーザーとアカウントが AWS に電話をかけたか、通話の発信元 IP アドレス、通話がいつ発生したかを識別できる。

・CloudTrail コンソールでイベント履歴を表示することで、過去 90 日間の運用およびセキュリティ インシデントのトラブルシューティングを行うことができる。

・CloudTrail は InvokeEndpoint への呼び出しを監視しない。

・対数変換では、大きさの差が正規化されるため、外れ値の影響が減少し、モデルがより堅牢になる。

・シャード数 = max (受信書き込み帯域幅 (KB 単位)/1000、送信読み取り帯域幅 (KB 単位)/2000)

・受信書き込み帯域幅 (KB 単位) = 平均レコードサイズ * 秒あたりのレコード数

・送信読み取り帯域幅 (KB 単位) = 受信書き込み帯域幅(KB 単位) * コンシューマー数

・Kinesis Data Analytics を使用すると、受信データを分析してすべてのトランザクションの異常スコアを計算するカスタムクエリの開発が必要になる。

・モデルの特異性が高い場合は、すべての誤検知 (誤報と考えてください) が除去されたことを意味する。
特異度 = (真陰性 / (真陰性 + 偽陽性))

# 参考
https://www.udemy.com/course/aws-certified-machine-learning-specialty-full-practice-exams