AWS 認定機械学習 – 専門知識（MLS）：合格への近道

# AWS 認定機械学習 – 専門知識（MLS）に向けて、下記の通り対策すれば合格できます！
AWS MLSは、AWS周りで関連する機械学習のサービスや、機械学習そのものの知識が問われます。
一般的な機械学習の資格と違い、問われるのは知識であるため、用語を理解すれば合格できます。
試験名が名前負けしていると言いますか、そこまで難しい試験ではないので、
データサイエンス未経験の方は、これを機に機械学習とはどういうものかといった知識を蓄えられるチャンスです٩( 'ω' )و

まず初めに「1」に取り掛かってから、「2」「3」を同時並行で進めてください。
いきなり、「2」「3」から取り掛かると、わけがわからず挫折する可能性があります。

※機械学習経験済みのデータサイエンティストの方は「１」を飛ばして、「2」「3」で合格できます。

[1. 機械学習の参考書を一つ読み込む](#1-機械学習の参考書を一つ読み込む)
[2. 問題集を解く](#2-問題集を解く)
[3. AWSサービスや機械学習の意味を理解する](#3-awsサービスや機械学習の意味を理解する)

# 1. 機械学習の参考書を一つ読み込む

**書籍：「Pythonではじめる機械学習 ―scikit-learnで学ぶ特徴量エンジニアリングと機械学習の基礎」**
Pythonと書いてありますが、読書として活用できます！
**１〜５章を読んでください。**
Pythonを理解する必要はなく、ざっくりこういうことをしている程度の理解で大丈夫です。
逆に簡単すぎる機械学習の書籍を読むと、理解に苦労する場合があるので、こちらの書籍がおすすめです。

https://www.amazon.co.jp/Python%E3%81%A7%E3%81%AF%E3%81%98%E3%82%81%E3%82%8B%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92-%E2%80%95scikit-learn%E3%81%A7%E5%AD%A6%E3%81%B6%E7%89%B9%E5%BE%B4%E9%87%8F%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3%83%AA%E3%83%B3%E3%82%B0%E3%81%A8%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92%E3%81%AE%E5%9F%BA%E7%A4%8E-Andreas-C-Muller/dp/4873117984/ref=pd_lpo_2?pd_rd_i=4873117984&psc=1

**書籍：深層学習教科書 ディープラーニング G検定(ジェネラリスト)公式テキスト 第2版**
どうしてもPythonに抵抗がある方は、こちらの書籍でも十分合格できます！
**1〜7章を読んでください。**

https://www.amazon.co.jp/%E6%B7%B1%E5%B1%A4%E5%AD%A6%E7%BF%92%E6%95%99%E7%A7%91%E6%9B%B8-%E3%83%87%E3%82%A3%E3%83%BC%E3%83%97%E3%83%A9%E3%83%BC%E3%83%8B%E3%83%B3%E3%82%B0-G%E6%A4%9C%E5%AE%9A-%E3%82%B8%E3%82%A7%E3%83%8D%E3%83%A9%E3%83%AA%E3%82%B9%E3%83%88-%E5%85%AC%E5%BC%8F%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88/dp/4798165948/ref=asc_df_4798165948/?tag=jpgo-22&linkCode=df0&hvadid=342399115614&hvpos=&hvnetw=g&hvrand=9853105402543378248&hvpone=&hvptwo=&hvqmt=&hvdev=c&hvdvcmdl=&hvlocint=&hvlocphy=20636&hvtargid=pla-1210749857408&psc=1&th=1&psc=1

# 2. 問題集を解く
こちらの問題集のみで十分に合格できます。
問題数も100~200問程度なため、そこまで時間を要さないのがとてもコスパが良いです。
<font color="Red">**しかし、問題集に出てくる用語の理解は必要です。**

**☆ CloudTech**

https://kws-cloud-tech.com/

# 3. AWSサービスや機械学習の意味を理解する
下記は書籍や問題集に出てきた用語を簡単にまとめたものですが、そのまま参考にしないことをお勧めします。
<font color="Red">**用語が出て来るたびに、メモ帳などで用語を自分でまとめながら進めていくと、頭に入りやすいです！**
**実際に学習していくときは、「２」と並行して進めながら、用語を理解していけば、合格できます！**</font>

### AWS Polly
テキスト文を読み込み音声が行われる。

https://qiita.com/moko_ss/items/fbadf84ead4060fb8a23

### Amazon Transcribe
音声をテキスト文に変換する。

https://qiita.com/shimizu-nowhere/items/2508f2e87daee8cb1083

### Amazon Lex
会話型チャットボット。

https://qiita.com/hayao_k/items/268c333f3f383125fd30

### Amazon Comprehend
指定したテキストを分析し、キーフレーズの検出や感情の判定などを行う。

https://dev.classmethod.jp/articles/add-japanese-analyzing-on-comprehend/

### Amazon Translate
自動翻訳サービス。

https://dev.classmethod.jp/articles/re-introduction-2020-amazon-translate/

### 推論パイプライン
前処理、モデル、後処理における、３つの機械学習の順序を一貫して、行う。
事前にパイプラインを作成することで、自動化の実装も可能となる。

### Word2Vec
文章中の単語を数値ベクトルに変換してその意味を把握する自然言語処理の手法。

https://ainow.ai/2021/04/08/254071/#Word2vec

### BlazingText
BlazingTextは単語ベクトルを生成する手法であるWord2Vecの実装。
単語ベクトル生成の用途としては、単語の分類や文章の意味解析の前段で使用すること。

https://dev.classmethod.jp/articles/getting-started-amazon-sagemaker-built-in-algorithms-blazingtext/

### Object2Vec アルゴリズム
高次元のベクトルを、できるだけ情報量を減らさずに次元削減し、類似した物体を近距離に配置する。

https://dev.classmethod.jp/articles/getting-started-amazon-sagemaker-built-in-algorithms-object2vec/#sec1

### DeepAR 予測
再帰型ニューラルネットワーク (RNN) を使用してスカラー (1 次元) 時系列を予測するための、教師あり学習アルゴリズム。

https://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/deepar.html

### 再帰型ニューラルネットワーク(RNN)
・数値の時系列データなどのシーケンスデータのパターンを認識するように設計されたニューラルネットワークのモデル
・自然言語で成果を上げている

https://qiita.com/kiminaka/items/87afd4a433dc655d8cfd

### ARMA・ARIMAモデル
時系列分析を行う際に使われるモデル。

https://qiita.com/ngayope330/items/0b6e779dded3271bf857

### TF-IDF
文書を分類する際の単語の重要度の推定を行う。

https://dev.classmethod.jp/articles/yoshim_2017ad_tfidf_1-2/

### N-gram
テキスト文書の分割を行う。

https://qiita.com/kazmaw/items/4df328cba6429ec210fb

### Bag-of-Words
テキスト文書に出現した単語の回数。

https://qiita.com/kazukiii/items/d717add45bbc76a71430#bag-of-words

### 直角のスパースなバイグラム (OSB) 変換
OSB は、テキスト上で n サイズのウィンドウをずらし、ウィンドウの最初の単語を含む、各単語ペアを出力することにより生成。

https://docs.aws.amazon.com/ja_jp/machine-learning/latest/dg/data-transformations-reference.html#orthogonal-sparse-bigram-osb-transformation

### クラス分類
既存のデータにラベルの設定をすることで、そのラベルに対して予測する教師あり学習。

### 回帰
数値などの連続値を予測する教師あり学習。

### 因数分解機
分類と回帰の両方に使用できる汎用的な教師あり学習。

### K-最近傍法
新しい点に最も近い点を訓練データから探し、新しい点に最も近かった点のラベルを、新しいデータポイントに与える。

https://qiita.com/yshi12/items/26771139672d40a0be32

### 多変量回帰
ある対象から得られたお互いに関連のある多種類のデータ（変数、変量）を総合的に要約したり、将来の数値を予測したりといった解析作業の「総称」

https://www.intage.co.jp/glossary/056/

### ナイーズベイズモデル
線形モデルやSVCより高速に処理が可能であるが、性能が劣る可能性が高い。

### XGBoost
決定木の手法を用いる。

https://qiita.com/tomoxxx/items/d859bd917503767a912f

### アンサンブル法
複数の機械学習モデルを組み合わせて、性能を向上させる手法。

### ランダムフォレスト

アンサンブル学習のバギングをベースに、少しずつ異なる決定木をたくさん集めたもの

https://qiita.com/Hawaii/items/5831e667723b66b46fba

### クラスタリング(K-means)法
グループごとの規則を分類する手法。

https://qiita.com/DS27/items/fca4cf34fc50a2344695

### エルボー法
クラスタ数を変えながら上記のSSEを計算し、結果を図示することで最適（と思われる）クラスタ数を推定する手法。

https://qiita.com/panda531/items/4b5504a3949eacb7ab19#%E3%82%A8%E3%83%AB%E3%83%9C%E3%83%BC%E6%B3%95%E3%81%A8%E3%81%AF

### ランダムフォレストカット
異常検知を行う、教師なし学習。

https://dev.classmethod.jp/articles/yoshim-sagemaker-rcf/

### エポック数
訓練データの繰り返し回数。過学習が起きないエポック数、汎化性能が優れているエポック数を発見することが重要である。

https://www.st-hakky-blog.com/entry/2017/01/17/165137

### seq2seq
機械翻訳や文章要約などの分野で成果あり。
EncoderとDecoderを備えたEncoder-Decoderモデルを使って、系列データを別の系列データに変換するモデル

https://qiita.com/m__k/items/b18756628575b177b545

### 汎化性能
学習データではなく、テストデータの性能。

### 過学習
学習データのモデルが良すぎるあまり、汎化性能が落ちてしまうこと。

### L1正則化(ラッソ回帰)・L2正則化(リッジ回帰)
過学習を防ぐための手法。
Lasso(alpha=${})・Ridge(alpha=${})

https://qiita.com/c60evaporator/items/784f0640004be4eefc51

### モンテカルロシミュレーション

数値計算手法の一つで、乱数を用いた試行を繰り返すことにより近似解を求める手法。

### Amazon Mechanical Turk

裏側の人間がクラウドソーシングを介して、色々な作業を行うことで、データを集めることができるツール。

### 勾配ブースティング回帰
複数の決定木を組み合わせて、性能を向上させる手法。

### 強調フィルタリング
ある対象者が普段利用する類似製品を出力する手法。

https://www.albert2005.co.jp/knowledge/marketing/recommendation_basics/collaborative_filtering#:~:text=%E5%8D%94%E8%AA%BF%E3%83%95%E3%82%A3%E3%83%AB%E3%82%BF%E3%83%AA%E3%83%B3%E3%82%B0%E3%81%A8%E3%81%AF%E3%80%81%E3%81%82%E3%82%8B,%E3%81%93%E3%81%A8%E3%81%8C%E3%81%A7%E3%81%8D%E3%82%8B%E6%89%8B%E6%B3%95%E3%81%A7%E3%81%99

### 正規化
全てのデータを0~1の間になるよう変換する。

https://qiita.com/yShig/items/dbeb98598abcc98e1a57

### 標準化
データに対して平均値が０、標準偏差が１になるよう変換する。

https://qiita.com/yShig/items/dbeb98598abcc98e1a57

### アプローチ
オーバーサンプリング(障害発生や異常値などの少ないデータを増やす)を行う。

### RMSE(平均二乗誤差)

https://qiita.com/chun1182/items/c4d546764864839355ce

### 評価指標

https://aiacademy.jp/texts/show/?id=34

### 正解率
全体のうちどれだけ正解したか

### 感度・再現率
全ての陽性データのうち、どれだけ陽性と分類できたか

### 適合率
陽性データと判断されたうち、どれだけ陽性と分類できたか

### 特異性
陰性データと判断されたうち、どれだけ陰性と分類できたか

### AUC曲線/ROC曲線
偽陽性を横軸に、真陽性を縦軸にプロットしたもの。

https://qiita.com/osapiii/items/a2ed9f638b51f3b22cd6

### 混同行列

https://qiita.com/emiki/items/9f138e5b42948e77d541

### サニタイズ
利用者が入力した文字データを受け取る際に、プログラムにとって特別な意味を持つ可能性のある文字や文字列を検知して、
一定の規則に従って別の表記に置き換えること

### 転移学習
転移学習に学習済みモデルを転用することで、大量のデータと学習にかかる時間を削減することができる。

https://i-common.jp/column/corporation/transfer-learning/#:~:text=%E3%83%BB%E8%BB%A2%E7%A7%BB%E5%AD%A6%E7%BF%92%E3%81%A8%E3%81%AF%E3%80%81%E5%8A%B9%E6%9E%9C,%E5%89%8A%E6%B8%9B%E3%81%99%E3%82%8B%E3%81%93%E3%81%A8%E3%81%8C%E3%81%A7%E3%81%8D%E3%82%8B%E3%80%82

### 学習率/バッチサイズ
学習率とは一回の学習で重みパラメータをどれくらい変化させるか、という指標になります。これが大きいと一気にパラメータが更新され、逆に小さいとチビチビと進んでいくイメージです。
ミニバッチ学習は、複数のデータの塊（ミニバッチ）に対する損失関数の微分を計算し重みを更新します。ミニバッチのサイズが大きいとデータの特徴が平均化されてしまい、データの個性が失われるリスクがあります。

https://dajiro.com/entry/2020/04/15/221414

### データドリフト
環境や時代の変化などにより、学習データのモデルとテストデータのモデルに乖離が発生してします事象。

https://atmarkit.itmedia.co.jp/ait/articles/2202/21/news033.html

### ドロップアウト
ニューロンを消去して、性能を向上させる手法。

https://qiita.com/shu_marubo/items/70b20c3a6c172aaeb8de

### t-SNE
高次元データを2次元又は3次元に変換して可視化するための次元削減アルゴリズム。

https://qiita.com/g-k/items/120f1cf85ff2ceae4aba

### 勾配消失問題
勾配が消失することで学習ができなくなってしまう問題

https://ai-kenkyujo.com/term/gradient-loss-problem/

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

### オブジェクト検出アルゴリズム
単一のニューラルネットワークを使用して、イメージ内のオブジェクトを検出及び分類するアルゴリズム。

### 線形学習アルゴリズム
分類や回帰の問題を解決するために使用される、教師あり学習アルゴリズム。

https://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/linear-learner.html

### 潜在的ディリクレ配分 (LDA) アルゴリズム
一連の観測値を異なるカテゴリの混合として記述しようとする教師なし学習アルゴリズム。

https://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/lda.html

# 最後に
**用語が出てくる度に、Google検索やYoutubeなどをみて、理解していく方法が一番の近道です！**
<font color="Red">**CloudTechの問題集に出題される用語は、理解にそこまで苦労するものではないため、こちらだけは手を抜かずに、お願いします🙇‍♂️**</font>