はじめに
ひょんなことから、
「スタアカ (スタビジアカデミー)」というAI・データサイエンスのオンデマンドスクールの紹介
をすることになりました。
(下記画像はスタアカ公式サイトの広告リンクです)
スタアカは最安プランで月額1280円から始められるサービスです。
本記事筆者のILab-01も自腹で加入してみましたが、データサイエンティストになるための学習項目が十分に網羅されているように感じました。
特に数学が苦手な人でも理解できるような解説になっており、学習のスタート地点としてスタアカは最適だと感じました。
スタアカが他のスクールに比べてどのように良いのかという比較は、他サイトで多数紹介されているため、本サイトではそのような紹介の仕方はしないことにします。
では、本サイトではどのような紹介をするのかというと、スタアカの課題を実際に1つ1つやってみて、本サイトが行うデータサイエンス教育 (本記事) の教科書として参照してみる、という紹介の仕方を試みます。
つまり、本記事では学習ロードマップの一例を示し、読者の皆様にはそのロードマップの途中でスタアカの課題に取り組んでいただきます。
もちろん、スタアカのWebサイトにも学習ロードマップの提示はありますが、「どのようなビジネスパーソンになりたいか」という視点からまとめてあるように感じたため、本サイトでは「AIやデータサイエンスについて未経験の大学生が、AI活用・AI研究を行う前準備として必要な学習内容は何か」という観点で学習ロードマップをまとめてみたいと思います。
もちろん学生だけでなく、社会人の方にもご活用いただけます。
また、スタアカだからこそ得られる意外な発見も多数あったと筆者は感じており、その内容もネタバレしない程度に簡単に触れていきます。
なお、本記事にはスタアカの広告リンクが含まれており、広告リンク経由で契約をすると本サイトに何らかの利益が発生する仕組みになっています。記事の公平性という観点であらかじめご了承ください。
※本記事は2014年11月4日時点のスタアカの講義資料を基に作成したものです。
※本記事の中で解説している内容については当サイト (Independent Laboratory (ILab)) に責任がありますので、誤りの指摘や修正依頼などは本記事執筆者のILab-01にご連絡ください。
社会の需要を知る: デジタルトランスフォーメーション (DX)
導入: DXとは
さて、近年ではデータサイエンスという言葉が注目されており、それに関連してデジタルトランスフォーメーション (DX) という言葉も重要視されています。
このDXとは何なのでしょうか。
DXといえば、通常は身の回りの様々な業務を「デジタル化すること」、そして「デジタル化によって業務を効率化すること」という意味になります。
しかし、スタアカによると、この曖昧な考え方がDX実現の失敗の原因とされています。
では、DXをどのように捉えればDXの実現につながるのでしょうか。
スタアカ: 01.DX概論
スタアカ > コース > 01.DX概論
から、DX実現に必要な要素を見ていきましょう。
まとめ: DXとは
スタアカによると、DXを成功させる要素として4つの要素がありました。
4つの要素をざっくりとまとめると、「組織で意識合わせをしながらDXを進めることが大切」ということになります。
さて、DXの実現に必要な考え方は分かりましたが、DXで得られた結果 (データ) を有効活用できる人がいないとDXのメリットはあまり無いのかもしれません。
DXで得られた結果を有効活用できる人、例えばデータサイエンスと呼ばれる人はどのような人のことでしょうか。
データサイエンティストとは
導入: データサイエンティストとは
業務のDX化が進みデータが集まってくると、今度はそのデータを活用して何かの意味のある活動をしたくなるものです。
そこで必要となるスキルがデータサイエンスのスキルです。
「データサイエンスとは何か」を簡単に言うと、データから何らかの意味を導き出し、その意味をもとに課題を解決することだと言えます。
そして、データに基づいて課題を解決する人としてデータサイエンティストがいます。
一方、データアナリストという人もテレビやその他メディアにはよく登場します。
データサイエンティストとデータアナリストの違いは何でしょうか?
スタアカの「02.データサイエンス」の章では、データサイエンティストとデータアナリストの違いが説明されています。
スタアカ: 02.データサイエンティスト
スタアカ > コース > 02.データサイエンティスト
から、データサイエンティストの理解を深めてみましょう。
まとめ: データサイエンティストとは
スタアカによれば、データサイエンティストもデータアナリストもデータを分析するという観点では同じ役割でしたが、データ分析後の守備範囲がそれぞれ異なるということが分かりました。
本記事では、データサイエンティストを目指すことを目的として、先に進みたいと思います。
Python基礎
導入: Python基礎
データサイエンティストがよく使うプログラミング言語にはR言語やPythonがあります。
R言語は統計処理に特化したプログラミング言語で、あまりソフトウェア開発には用いられていません。
一方、Pythonは、もともとソフトウェア開発を目的に作られた言語であるため、データサイエンスの処理やAI開発に加えて、ソフトウェア開発、Web開発にも便利な言語となっています。
加えて、Pythonにはライブラリと呼ばれる作り置きプログラムが豊富にあるため、AI開発を効率的に行うことや、開発したAIプログラムを製品としてサービス展開するための基盤が整っています。
今回はPythonを使いこなすための基礎を学んでいきましょう。
スタアカ: 03.Python基礎
スタアカ > コース > 03.Python基礎
から、Pythonの基礎を学びましょう。
まとめ: Python基礎
Pythonの基礎文法として、簡単な演算から関数の構築まで、様々な文法を学んできました。
しかし、これだけでPythonが便利に使えるようになるわけではありません。
Pythonを便利に使用するためには、作り置きプログラムであるライブラリを駆使し、データ分析や可視化などを素早く実現できるようになる必要があります。
ライブラリには何があるのか、ライブラリはどのように使うのかを次章で学んでいきましょう。
データの加工・集計・可視化
導入: データの加工・集計・可視化
Python以外の伝統的なプログラミング言語の場合、データの加工や集計・可視化を行うためには自力で膨大な量のコードや複雑なコードを書く必要があることが多いです。
一方、Pythonのライブラリを使うと、データの加工や集計、可視化を少ないコード量で実現することができます。
実際にデータの加工・集計・可視化を体験してみましょう。
スタアカ: 04.データ加工集計可視化
スタアカ > コース > 04.データ加工集計可視化
から、Pythonのライブラリの使い方を学びましょう。
まとめ: データの加工・集計・可視化
Pandas、Matplotlib、Seaborn、NumPyの使い方を学びました。
これら4つが使えるだけでもデータ分析のかなりの部分を実現することができます。
この時点で既に皆さんはデータサイエンティストの卵になれたわけです。
では、もっとデータに関する知識を深めていくために、統計学の分野に進んでみましょう。
統計学概要
導入: 統計学概要
統計学を活用すると、データそのものにどのような傾向があるのか、データ同士の関係として何が読み取れるのか、ある行動の実行前と実行後ではデータに変化があったか、などを数学的根拠を基に検証することができるようになります。
まずは、スタアカで統計学の全体像を見てみましょう。
スタアカ: 05.統計学概要
スタアカ > コース > 05.統計学概要
から、統計学の基礎を学びましょう。
まとめ: 統計学概要
スタアカを通じて統計学とは何かが分かったのではないでしょうか。
スタアカでは統計学の説明を「概要」に留めることで、説明の分かりやすさを重視しているようです。
一方、統計的検定 (t検定、カイ二乗検定) の仕組みを深く理解しようとすると明瞭でないと感じる部分もあったのではないでしょうか。
そこで、本記事では統計的検定をより深く学ぶための補助教材として、表現が分かりやすい、かつ、徐々に深い部分を学んでいくことができる下記の書籍も合わせて紹介します。
なお、下記リンクは広告リンクですのでご了承ください。
さて、統計学についての理解は深まったと思いますが、データサイエンティストに必要な知識としては統計学だけでなく機械学習の知識もあります。統計学と機械学習の違いは何なのでしょうか。
次の章では統計学と機械学習の違いについて解説があります。
機械学習概要
導入: 機械学習概要
前述のとおり、データサイエンスに密接に結びつく言葉として機械学習があります。
加えて、AIや統計学という言葉もあります。
では、統計学・AI・機械学習の違いは何なのでしょうか?
また、機械学習手法として様々な手法があることは、勘の良い人は薄々感じているかと思いますが、具体的にどのような機械学習手法があり、それぞれどのような特徴があるのか、も気になるところです。
スタアカの次の解説で上記の疑問を解消していきましょう。
スタアカ: 06.機械学習概要
スタアカ > コース > 06.機械学習概要
から、機械学習概要を学び、先ほどの疑問を解消していきましょう。
まとめ: 機械学習概要
統計学とAIの違いやAIと機械学習の位置づけが分かったのではないでしょうか。
また、機械学習には手法の分類として教師あり学習と教師なし学習があることも分かりました。
特に教師あり学習の解説では、決定木という基本となる手法がアンサンブル学習によって改良されていること、その改良型の1つであるXGBoostが具体的な問題解決に活用できることが解説されていました。
さらに発展的な内容として、決定木モデルでは、他のモデルでは必要とされている、とある前処理が不要になるという解説もありました。
その他の手法としては、k近傍法、サポートベクターマシンの解説があり、k近傍法の仕組みやサポートベクタとは何かなどの説明がありました。
機械学習実装
導入: 機械学習実装
ここまでで、ニューラルネットワーク以外の伝統的な機械学習手法について学んできました。
ここまでは座学がメインとなっていましたが、本章ではPythonによる機械学習の実装方法を学んでいきます。
スタアカ: 07.機械学習実装
スタアカ > コース > 07.機械学習実装
から、Pythonによる機械学習の実装方法を学んでいきましょう。
まとめ: 機械学習実装
機械学習の実装の流れとして、CRISP-DMが解説されていました。
また、モデルの評価方法についても解説があり、分類の評価方法については、Precision (適合率) やRecall (再現率) などの解説がありました。
PrecisionとRecallについては、直感的に理解するのが難しい内容ですので、本記事筆者のILab-01の方でも少し補足をしてみたいと思います。
まず、PrecisionとRecallの直感的な捉え方は下記のとおりです。
- Precision (適合率) : モデルが陽性 (動画では異常) と予測した場合の的中率。
- Recall (再現率): 陽性 (動画では異常) であるデータが存在したときに、モデルが陽性と判断できた際の、陽性の取りこぼしのなさ
次に、使い分け方として、コロナウイルスの検査キットでPrecisionとRecallのどちらを重視すべきかを考えてみましょう。コロナウイルスの検査キットの場合、その検査キットを使ったときに陽性と判断されたことが必ず正しいこと (Precisionが高い) よりも、多少陽性が間違って出てしまっても真に陽性の患者は絶対に陽性と言い当てられる (Recallが高い) 方が、感染拡大防止の観点では嬉しいかと思います。このような場合には、Recallを重視するとよいかと思います。
一方、Precisionを高めるべき場合としては何があるでしょうか。あまり上手な例えではないですが、麻薬検査キットなんかはどうでしょうか。麻薬検査キットでは、陽性判断をしたからには必ず陽性であってほしいと筆者は考えました。なぜなら、陽性と判断をしたにもかかわらず、検査対象者が本当は陰性だった場合には冤罪で逮捕されてしまうからです。このような場合には、モデルの陽性的中率が高くなるようにPrecisionを重視すべきではないでしょうか。
ILab-01による補足は以上です。
コースの後半では、ウォルマートのデータを用いて実際にEDAを体験しました。
更に、分析した結果を機械学習のコンペティションサイトであるKaggle (カグル) に投稿する方法も学びました。
ここまでで、伝統的な統計学や機械学習手法を学んできましたが、次の章では最近注目を集めているニューラルネットワークやディープラーニングについて学んでいきます。
ディープラーニング
導入: ディープラーニング
AIには様々な種類・分類があることを学習しましたが、最近の社会の中ではAI = ディープラーニングという雰囲気があるように感じます。
では、ディープラーニングとは何なのでしょうか。どのような仕組みで動き、何を実現できるのでしょうか。
次の解説ではディープラーニングの仕組みについて学んでいきます。
スタアカ: 08.ディープラーニング
スタアカ > コース > 08.ディープラーニング
から、ディープラーニングの仕組みについて学んでいきましょう。
まとめ: ディープラーニング
古い時代からディープラーニングの元となる技術が既に存在していたというのは意外な事実だったのではないでしょうか。
とはいえ、元の技術ではできない判別処理も存在していました。
その制約を乗り越えて今のディープラーニングが生まれたということを学びました。
具体的な仕組みの解説として、損失関数や活性化関数、畳み込みニューラルネットワークに関する解説がありました。
ディープラーニングでできることとして画像処理が挙げられていましたが、単純な画像認識だけでなく、より高度な画像処理ができることも解説がありました。
最後の実装の体験では、ディープラーニングを用いた画像認識の一例を体験することができました。
本記事のまとめ
ここまでで、統計学や伝統的な機械学習、ディープラーニングについて学びました。
大学でAIを活用・研究するための知識の下地ができたのではないでしょうか。
しかし、本当の意味でのデータサイエンティストを目指すためには、最近話題の大規模言語モデルの知識やジェネラティブAIの知識に加え、データベースの操作技術や具体的なアプリケーションの実装能力も必要になります。
スタアカでは、本記事で紹介した講座以外にも様々な講座があり、大規模言語モデル、ジェネラティブAI、データベース操作、アプリケーション実装などについても解説があります。
ぜひ学習のお供としてスタアカを使用し、独学のスピードアップを目指してみてはいかがでしょうか。
気になった方は以下のスタアカの広告リンクを見てみてください。
コメント