neverjpのぶらり日記

コンピューター関連の記事とぶらりと出かけた先の写真など

7ヶ年計画Revise up(ver4.0)-2021_12開始

f:id:neverjp:20211130165029p:plain
f:id:neverjp:20211130165433p:plain
f:id:neverjp:20211130165602p:plain
f:id:neverjp:20211130165804p:plain
f:id:neverjp:20211130165915p:plain
f:id:neverjp:20211130170039p:plain
f:id:neverjp:20211130170150p:plain
カテゴリ一覧(21/12/06)

7ヶ年計画Revise up(ver4.0)-2021_12開始

AIエンジニアになるための道程表(5ヶ年計画)をリバイズアップした。

有用な記事感謝いたします。

 

layout: "post"

title: "7ヶ年計画ver4.0"

date: "2021-12-06 13:00"

 

AIエンジニアに最低限必要な知識

まずは、AIエンジニアに最低限必要な知識を大きく6つに分けて見ました。

ここでは大きく分けて6つの内容の基礎知識の全体像を把握してください。

 

①プログラミングスキル

- Python

- numpy、pandas、matplotlib、scikit-learn、TensorFlowやkeras

 

この中で特にpandasを使いこなせると良いです。

機械学習を行う上で、データ前処理が必須なのですが、データ前処理を行う上で便利なライブラリです。

 

②数学

- 微分線形代数、ベクトル、行列、確率など

 

③統計の知識

- 標準偏差、分散、確率分布、推定、検定などなど

 

機械学習の基礎知識

 

教師あり学習教師なし学習

前処理、特徴量設計、学習と評価

単回帰、重回帰分析、最小二乗法、パーセプトロン、ロジスティック回帰

決定木、ランダムフォレスト、サポートベクトルマシン、K-means

ディープラーニングの実装スキル及び知識

scikit-learn

TensorFlowやKerasなどのフレームワークの知識。

scikit-learnで学習済みモデルを作るまでの流れなど。

1.データの収集とデータの前処理欠損値の補完や外れ値の削除。

2.特徴量の設計(特徴量の選択)

3.モデル開発(モデルの選択と学習)

4.モデル評価・・・交差検定、混合行列で評価など。

SQLを使ってデータベースを操作する知識。

- select、insert、update、delete、where、like、limit、sum、avg、max、group by、having、order by、テーブル結合、ビュー、サブクエリ、caseなどなど。

 

クラウドの知識

- AWSGCPやAzureなどのクラウドインフラ回りの知識。

 

大きく6つもあり以外と多いなと思われたかもしれませんが、一度に全てやるのではなく、まずは①と④の2つに絞ることをお勧めします。

理由は、実際にプログラムを書き、目に見える形にすることで継続して学びやすくなるからです。

はじめに理論から入ると独学だと挫折してしまうので。

 

人工知能を独学で勉強するオススメの方法

必要な知識は前の節で紹介しましたが、どのようにそれらを学べば良いのでしょうか。

①から⑥を学ぶ上で、以下のような順で知識を身につけていくことをお勧めしています。

 

フェーズ1 pythonによる機械学習プログラミングと人工知能概論を学ぶ。

フェーズ2 機械学習プログラミング。

フェーズ3 Kaggleに挑戦。

フェーズ4 SQLスクレイピングクラウドなどの技術も身につける。

フェーズ5 機械学習スキルを活用してプロダクト制作をする。

フェーズ6 教える(多分これはしないと思う)。

 

このフェーズごとに学んでいくことがもっとも自分自身に負荷をかけず、楽しく学ぶことができると考えています。

 

フェーズ1ではプログラミング初学者の方を指しております。

もし、プログラミングを初めてという方は是非フェーズ1から目を通してください。

 

フェーズ2では実際にフェーズ1で学んだ内容をベースに、機械学習プログラミングに関する勉強方法を説明して参ります。

既にscikit-learnを使った機械学習プログラミングを行なっている方は飛ばして頂いても構いません。

 

フェーズ3ではKaggleといったコンペティションを通じて実践的なプログラミングを学ぶ方法を記述しています。(これもしないと思います)

 

フェーズ4 機械学習をやる上で、データベースからデータを取り出すことは頻繁に行われますので、SQLの知識は必須です。ここでは、SQLの他にスクレイピング(データ収集用)、クラウドなどの技術の身につけ方を紹介します。(まずはAccessから)

 

フェーズ5 機械学習スキルを活用してプロダクト制作に取り掛かりましょう。このレベルまで到達した方は、プロダクトを通じて学ぶことが多いです。

 

フェーズ6 人に教えることで自分の分かっていなかったことが明確になることがあります。なので、友人などに機械学習を教えて自分の理解を深めることもよいでしょう。

 

以降、6つのフェーズごとに、どのようにこれらに取り組めば良いのか、お勧めの書籍などを紹介しながら説明していきます。

 

 

# 開発環境構築

 

  1. PCにIpython、PythonAtom設定

AtomではPython単体でデバッグ

・WSLとemacsでWebの練習問題をコピペで開発

・WEBのTopページをデザインおよび開発

・Topページ(index.html)の下でdemo.py demo.html demo.css demo.jsを開発

・各demoxx.pyデザイン、demoxx.htmlデザイン、代表.cssデザイン

・モジュール名を標準化

・モジュール一覧表を作成

 

  1. Git、GitHub設定ー協力者選定

GitHubを勉強(バインダーのもの)

 

  1. ドキュメント計画策定

・モジュール一覧表を作成

Pythonプログラム・ジャーナル整理

・HTMLジャーナル整理

・JSプログラム・ジャーナル整理

 

  1. 開発計画

 

  1. Python習得計画
  2. 実機練習
  3. Pythonプログラミング(コマンドプロンプトとWSL上で)
  4. デバッグ
  5. モデル構築
  6. Ipytonデバッグ(WSL上でJupyternotebook)それをAtom環境下で開発(numpy,pandasの習得)

 

 PCにIpython、Pyton、Atom設定

 

- Toshiba dynabook Satellite B554/K 使用

- ドキュメンテーション

- 開発環境下でテスト

- 逐一ブログアップ

 

# Git、GitHub設定ー協力者選定

 

- GiTHub学習

- 協力者要請

 

# ドキュメント計画策定

 

- 7ヶ年計画

- 1年間のスケジュール

- 3年間のスケジュール

-  7年間のスケジュール

- 最終計画

 

# 読書計画

 

- Qiita掲載中のドキュメント精読(仕掛中)

- オブジェクト指向で何故作るのか(購入済み)

- 新しいLinuxの教科書(購入済みー実機で参照したのち熟読)

- みんなのPython(購入済みー仕掛中、早めに)

- 日経Linux(購入)

- ゼロから作るDeep LearningPythonで学ぶディープラーニングの理論と実装(購入済みー熟読)

- Access学習(住所録作成・MySQL Queryを中心に学習)

- Qiitaでコピペしたドキュメント勉強(仕掛中)

- (プログラミング(Python)、統計的機械学習、深層学習(Deep Learning)、機械学習のための数学、確率・統計)

- やさしく学ぶ 機械学習を理解するための数学のきほん

- Ipython Interactive Computing and Visualization Cookbook(購入済みー最後に)

- その他

人気ブログランキングへ←人気ブログランキングに参加しています。ポチっと1票を!