区分 環境データサイエンス科目 環境情報科目 環境情報基本科目
ディプロマ・ポリシーとの関係
専門性 理解力 実践力
カリキュラム・ポリシーとの関係
専門知識 教養知識 思考力
実行力
カリキュラム全体の中でのこの科目の位置づけ
多様化する環境問題や地域社会の諸問題に関心を持ち、環境・情報・社会に関連する幅広い基礎知識と専門的な理解を深めると共に、学際的な柔軟性を有し、実践的な能力を有する。グローバルな視野と研究調査力を持ち、昨今の情報社会に貢献できる力を有する。企業・地域社会などのあらゆるコミュニティに寄与する組織的な活動能力を有する。
科目の目的
地球温暖化現象を中心とする地球規模の複雑な自然環境問題から交通や物流などの身近な社会課題に至るまで、従来の統計解析手法では、それらの現象の全貌を解明することは不可能であり、より高度な知識と情報技術を活用することが望まれている。本科目では、それら諸問題の解決に向け、環境データサイエンスの根幹となる人工知能について、その発展の変遷を学び、近年における進化を支える機械学習を理解し、実装する技術を修得することを目的とする。
到達目標
人工知能の利活用と発展の変遷を把握すること。機械学習を利用するために、学習形態や手順などの基礎知識を修得すること。深層学習を含め、機械学習の代表的なアルゴリズム(ランダムフォレスト、k近傍法、サポートベクターマシン、ロジスティック回帰、多層パーセプトロン、畳み込みニューラルネットワーク、再帰型ニューラルネットワーク)とPython言語を用いた基本的なコードを理解し、様々なデータを用いて実行することができること。
科目の概要
本科目は、環境データサイエンス学科環境情報領域における重要な応用教育の一つであり、4年次以降の演習でデータ解析を行う場合に活用できる知識と技術を身につけることを目的としている。まず、第1回では、ガイダンスとして授業の進め方と、人工知能、機械学習、深層学習とは何かについて、その発展の変遷を追いながら把握する。第1回を含め第4回までは基礎編で、人工知能の利活用を確認し、その進化を支える機械学習の学習形態と手順を理解する。第5回から第13回は実践編で、第8回までは代表的な機械学習モデルについて、第9回以降は代表的な深層学習モデルについて学び、Python言語を用いてそれぞれの実装を行う。第14回は、近年の動向を把握するために、生成AIに関する代表的なモデルについて学ぶ。第15回では、全ての講義内容をまとめ、復習し、これまでに機械学習を行ったデータもしくは自身で取得したデータに対して独自の機械学習を行い、人工知能の基礎知識とスキルの修得を確認する。
科目のキーワード
教師あり学習と教師なし学習、データ分割・学習・予測・評価、ランダムフォレスト、k近傍法、サポートベクターマシン、ロジスティック回帰、多層パーセプトロン、畳み込みニューラルネットワーク、再帰型ニューラルネットワーク、生成AI
授業の展開方法
教員が作成した資料を配布し、その配布資料を主に用いる。第1回から第4回は基礎編で、パワーポイントによって作成された資料を配布し、教員がスクリーンに投影しながら内容を解説する。第5回から第13回は実践編で、教員がPython言語によるプログラムを共有しながら機械学習を解説し、各自でプログラミング演習(コーディング)を行う。第14回は、基礎編と同様の授業形態に加えて、生成AIサービスを利用する。なお、演習は、各自所有のノートPCで行うため、毎回の授業においては必ずノートPCを持参すること(前日までに充電しておくことも忘れない)。Python言語を修得した状態で受講することが望ましいため、「環境プログラミング基礎」の講義内容等を復習しておくこと。試験においては、人工知能と機械学習の基礎知識に加え、Python言語を用いた機械学習および深層学習についても問う。
オフィス・アワー
【火曜日】1・2・5時限目、【木曜日】5時限目、【金曜日】4・5時限目
科目コード ENS508
学年・期 3年・後期
科目名 人工知能と機械学習
単位数 2
授業形態 講義
必修・選択 選択
学習時間 【授業】90分×15 【予習】90分以上×15 【復習】90分以上×15
前提とする科目
展開科目
関連資格
担当教員名 平山高嗣
主題コマシラバス項目内容教材・教具
1 人工知能とは? 科目の中での位置付け 本科目は、環境問題や社会課題の解決に向け、環境データサイエンスの根幹となる人工知能について、その発展の変遷を学び、近年における進化を支える機械学習を理解し、実装する技術を修得することを目的とする。まず、第1回では、ガイダンスとして授業の進め方と、人工知能、機械学習、深層学習とは何かについて、その発展の変遷を追いながら把握する。第1回を含め第4回までは基礎編で、人工知能の利活用を確認し、その基盤である機械学習の学習形態と手順を理解する。第5回から第13回は実践編で、第8回までは代表的な機械学習モデルについて、第9回以降は代表的な深層学習モデルについて学び、Python言語を用いてそれぞれの実装を行う。第14回は、近年の動向を把握するために、生成AIに関する代表的なモデルについて学ぶ。第15回では、全ての講義内容をまとめ、復習し、これまでに機械学習を行ったデータもしくは自身で取得したデータに対して独自の機械学習を行い、人工知能の基礎知識とスキルの修得を確認する。このようなコマの流れの中の位置付けとして、第1回は、人工知能の概要を学び、機械学習と深層学習の概念を確認する。
①北川 源四郎,竹村 彰通 編,“教養としてのデータサイエンス”,講談社,2021,pp.87-93, 175-199

②有賀 友紀,大橋 俊介,“RとPythonで学ぶ実践的データサイエンス&機械学習”,技術評論社,2019,pp.349-351, 448-455

③北川 源四郎,竹村 彰通 編,“教養としてのデータサイエンス”,講談社,2021,pp.16-19

①〜③教員が配布する資料
コマ主題細目 ① 人工知能の概要 ② 機械学習 ③ 深層学習(ディープラーニング)
細目レベル ① 人工知能(Artificial Intelligence: AI)とは、その名の通り、知能を人工的に作ったものである。学習や推論、言語や視聴覚情報の理解などの知的行動を人間に代わってコンピュータに行わせる技術である。これまでに利活用されているAIは、特定の知的行動だけを人工的に実現する特化型人工知能で、弱い人工知能とも呼ばれる。これに対し、ドラえもんや鉄腕アトムが持つ人間の知能そのもののような汎用人工知能が古くから実現が目指されていて、強い人工知能とも呼ばれる。近年、特化型人工知能の発展が著しいが、後述する機械学習に基づくため、特定の知的行動の中でも特定の範囲にしか対応することができないフレーム問題がある。この問題は、生成AI(generative AI)の普及により、一見して解決されたかのように見えるが、根本的にフレームから大きく離れることはできない。ただし、AIが学習するデータが大規模になり、フレームが巨大化している。問題として他には、ごくわずかなノイズに騙される敵対的事例が指摘されている。また、AIの構造が複雑化し、AIが行う判断の理由を説明することが困難になるブラックボックス化が進んでいて、説明可能なAI(eXplainable-AI: XAI)の研究が盛んに行われている。本講義では、人工知能の発展の変遷を学び、その倫理的課題を含む諸問題を理解し、近年の動向を追う。
② 機械学習(Machine Learning: ML)とは、人間が経験から学ぶように、コンピュータが大量のデータを学習することで、データに潜むパターン(特徴)を抽出し、未知のデータを判断するルール(モデル)を獲得する技術である。機械学習における学習とは、判断の根拠とするための統計的なモデルを形作っていく過程であり、統計的機械学習と呼ばれることもある。機械学習の主な目的は、予測である。ただし、必ずしも時間的に将来の予測ではなく、データ(訓練データもしくは学習データ)に含まれる変数同士の関係を抽出し、その関係をモデル化して新しいデータ(評価データもしくは未知データ)に当てはめることで、特定の変数(目的変数)の値やクラスを推定することである。ここで、将来的な予測は回帰、クラスの推定は分類や識別、パターン認識と明確に区別することも多い。モデル化に際して、「環境プログラミング応用」で学んだように、訓練データに過度にフィットし、評価データで予測を行うと大きな誤差が生じる過剰適合(オーバーフィッティング、過学習とも呼ばれる)に注意する必要がある。本講義では、第3回以降での機械学習の知識と技術の修得に向けた導入として機械学習の概念を学ぶ。
③ 現在、第3次AIブームの最中にあり、その起点は深層学習(ディープラーニング)の登場である。深層学習は、ニューラルネットワークを用いるため、その技術は深層ニューラルネットワークとも呼ばれる。ニューラルネットワークとは、人の脳神経細胞どうしのつながりを極めて単純化し、非線形関数を処理するノードを階層的に結合したものである。3〜4層のニューラルネットワークが主流であった第2次AIブームの後、30年に及ぶ冬の時代が続くが、深層化を可能とする技術が開発され、ビッグデータの獲得と計算機(特にGPU)の性能向上と相まって、画像認識の認識率を一気に向上させた。現在では100層以上のものも存在し、自然言語処理などの他の分野においても性能が格段に向上している。本講義では、第9回以降での人工知能の知識とAIプログラミング技術の修得に向けた導入として深層学習の概念を学ぶ。
キーワード ① 特化型人工知能と汎用人工知能 ② フレーム問題 ③ 説明可能なAI ④ 機械学習 ⑤ 深層ニューラルネットワーク
コマの展開方法 社会人講師 AL ICT PowerPoint・Keynote 教科書
コマ用オリジナル配布資料 コマ用プリント配布資料 その他 該当なし
小テスト
復習・予習課題 【本コマの予習】本コマシラバスの各コマ主題細目についての細目レベルを熟読し、参考書籍やWebサイトを利用して、人工知能とは何か調べ、機械学習と深層学習の概念について確認しておくこと。「環境情報と社会」の第5回講義資料を復習しておくこと。
【本コマの復習】①人工知能、機械学習、深層学習について配布資料を再読しておくこと。②本コマシラバスの各コマ主題細目についての細目レベルを再確認しておくこと。③身の回りにある情報技術やサービスが、学んだ人工知能のどのモデルや機械学習のどの学習形態が導入されているか、さらには、今後どのように進化していくと想定されるかを考えてみること。超スマート社会で活動していくために、その発展に遅れを取らないように、AIの利活用に積極的に参加していくことが重要である。

2 人工知能の利活用 科目の中での位置付け 本科目は、環境問題や社会課題の解決に向け、環境データサイエンスの根幹となる人工知能について、その発展の変遷を学び、近年における進化を支える機械学習を理解し、実装する技術を修得することを目的とする。まず、第1回では、ガイダンスとして授業の進め方と、人工知能、機械学習、深層学習とは何かについて、その発展の変遷を追いながら把握する。第1回を含め第4回までは基礎編で、人工知能の利活用を確認し、その基盤である機械学習の学習形態と手順を理解する。第5回から第13回は実践編で、第8回までは代表的な機械学習モデルについて、第9回以降は代表的な深層学習モデルについて学び、Python言語を用いてそれぞれの実装を行う。第14回は、近年の動向を把握するために、生成AIに関する代表的なモデルについて学ぶ。第15回では、全ての講義内容をまとめ、復習し、これまでに機械学習を行ったデータもしくは自身で取得したデータに対して独自の機械学習を行い、人工知能の基礎知識とスキルの修得を確認する。このようなコマの流れの中の位置付けとして、第2回は、人工知能を利活用する目的、一連の事業活動における人工知能の利活用を理解し、人工知能を利活用した新しいビジネスモデルについて学ぶ。
①北川 源四郎,竹村 彰通 編,“教養としてのデータサイエンス”,講談社,2021,pp.49-58

②北川 源四郎,竹村 彰通 編,“教養としてのデータサイエンス”,講談社,2021,pp.41-49

③北川 源四郎,竹村 彰通 編,“教養としてのデータサイエンス”,講談社,2021,pp.111-114

①〜③教員が配布する資料
コマ主題細目 ① 利活用の目的 ② 事業活動における利活用 ③ 新しいビジネスモデル
細目レベル ① 人工知能は、様々な目的で活用されている。本講義では、主な活用目的として、仮説検証、知識発見、原因究明、計画策定、判断支援、活動代替、新規生成を挙げ、それぞれの目的での活用のされ方について学ぶ。仮説検証は、過去のデータの分析に基づいて仮説を立てて、実験や調査、企画を実施し、その結果として得られたデータに統計的検定を適用して仮説を検証する。知識発見は、例えば、顧客の購買パターンを分析して、顧客が良く同時に購入する商品の組み合わせを新しい知識として見つけ出す。原因究明では、生産性を向上させるために、不良品や設備故障を減らすための原因分析が行われる。計画策定は、従業員のシフト管理の最適化や物流における配送ルートの最適化である。判断支援では、ビジネスにおける意思決定や医療の診断の支援、スポーツの戦術立案に活用される。活動代替は、自動車の運転の自動化、販売業務を効率化するための無人店舗やレジなし店舗、農作物の自動選別や自動収穫などである。また、新規生成として、文章や楽曲、絵画、動画の自動生成にAIが活用されている。
② 人工知能は、様々な事業活動で活用されている。本講義では、その主な活動として、研究開発、購買物流・調達、製造、出荷物流、マーケティング、販売、サービスにおける活用のされ方について学ぶ。研究開発の領域では、技術開発以外に、データから新素材を探索する取り組みがある。医薬品開発においても、創薬のための化合物の探索や臨床試験に活用されている。購買物流・調達の領域では、不要な在庫を抱えすぎないために、製造する製品の需要予測を行い、部品や原材料の発注量を最適化している。調達を行う取引先の選定やタイミング、価格の決定にも活用されている。製造の領域では、検査工程の省力化などによる品質管理や生産計画の最適化による歩留まりの改善活動が行われる。出荷物流の領域では、輸送業務を効率化するために、需要予測により必要な輸送量を把握し、適切な数のトラックやドライバの手配、トラックへの積載量の最適化、輸送ルートの最適化が行われる。倉庫内では、棚の配置の最適化やピッキング業務の効率化に活用されている。マーケティングの領域では、商品推薦や需要と供給に応じた価格調整、優良顧客の育成に関する取り組みが行われている。販売の領域では、販売管理や予算管理、営業活動の効率化に活用されている。サービスの領域では、点検の効率化や異常検知、設備劣化の予測などのメンテナンスに活用されている。また、顧客からの問い合わせ対応の高度化や効率化も進められている。
③ 人工知能は、高精度化、高機能化、多用途化によって、その活用範囲が様々に拡がっている。本講義では、新しいビジネスモデルとして、シェアリングエコノミー、レコメンデーション(推薦)、サーベイランス(監視)、DX(デジタルトランスフォーメーション)への活用についても学ぶ。シェアリングエコノミーは、インターネット上のプラットフォームを介して個人間で共有(賃借や売買など)をする新しい経済の動きであり、対象は場所、乗り物、モノ、人、スキル、金の6つに分類される。AIは、いつ、どこで、どのような共有依頼があるかの予測やリソース(資源)の最適な配分、保有リソースの適正化などに活用されている。レコメンデーションでは、AIは多くの人々の購買パターンや閲覧パターンを人物属性と関連づけて学習し、ユーザの好みを推定する。サーベイランスは、カメラを店舗や街中に設置して、人の動きやモノの動きを観察するサービスである。AIは、セキュリティのための異常検知や、レコメンデーションや販売管理のための顧客分析を行う。DXでは、様々な業務の自動化、効率化のためにAIが導入されている。
キーワード ① 知識発見 ② 原因究明 ③ 計画策定 ④ 判断支援 ⑤ 活動代替
コマの展開方法 社会人講師 AL ICT PowerPoint・Keynote 教科書
コマ用オリジナル配布資料 コマ用プリント配布資料 その他 該当なし
小テスト
復習・予習課題 【本コマの予習】本コマシラバスの各コマ主題細目についての細目レベルを熟読し、参考書籍やWebサイトを利用して、現代社会や身の回りにおける人工知能の利活用について確認しておくこと。「環境情報と社会」の第5回と第13回の講義資料を復習しておくこと。
【本コマの復習】①人工知能を利活用する目的、事業活動における利活用、人工知能を利活用した新しいビジネスモデルについて配布資料を再読しておくこと。②本コマシラバスの各コマ主題細目についての細目レベルを再確認しておくこと。③身の回りにある情報技術やサービスが、学んだ人工知能のどのモデルや機械学習のどの学習形態が導入されているか、さらには、今後どのように進化していくと想定されるかを考えてみること。超スマート社会で活動していくために、その発展に遅れを取らないように、AIの利活用に積極的に参加していくことが重要である。

3 機械学習の学習形態 科目の中での位置付け 本科目は、環境問題や社会課題の解決に向け、環境データサイエンスの根幹となる人工知能について、その発展の変遷を学び、近年における進化を支える機械学習を理解し、実装する技術を修得することを目的とする。まず、第1回では、ガイダンスとして授業の進め方と、人工知能、機械学習、深層学習とは何かについて、その発展の変遷を追いながら把握する。第1回を含め第4回までは基礎編で、人工知能の利活用を確認し、その基盤である機械学習の学習形態と手順を理解する。第5回から第13回は実践編で、第8回までは代表的な機械学習モデルについて、第9回以降は代表的な深層学習モデルについて学び、Python言語を用いてそれぞれの実装を行う。第14回は、近年の動向を把握するために、生成AIに関する代表的なモデルについて学ぶ。第15回では、全ての講義内容をまとめ、復習し、これまでに機械学習を行ったデータもしくは自身で取得したデータに対して独自の機械学習を行い、人工知能の基礎知識とスキルの修得を確認する。このようなコマの流れの中の位置付けとして、第3回は、機械学習の学習形態として、教師あり学習と教師なし学習、そして、教師あり学習における訓練データ不足に対処するための新しい機械学習技術について学ぶ。
①有賀 友紀,大橋 俊介,“RとPythonで学ぶ実践的データサイエンス&機械学習”,技術評論社,2019,pp.352-353

②有賀 友紀,大橋 俊介,“RとPythonで学ぶ実践的データサイエンス&機械学習”,技術評論社,2019,pp.353-354

③有賀 友紀,大橋 俊介,“RとPythonで学ぶ実践的データサイエンス&機械学習”,技術評論社,2019,pp.452-453, 他

①〜③教員が配布する資料
コマ主題細目 ① 教師あり学習 ② 教師なし学習 ③ 新しい機械学習技術
細目レベル ① 機械学習の学習形態は、教師あり学習(supervised learning)と教師なし学習(unsupervised learning)に大別される。教師あり学習は、機械学習の典型的な学習形態と言える。「教師あり」とは、訓練データにおいて目的変数の値、つまり、予測において正解として与えられる実測値(真値)が存在するということである。学習の段階では、このデータをもとに目的変数と説明変数の関係を表すモデルを作り、予測の段階では、未知のデータに含まれる説明変数の値をもとに目的変数の値を予測する。説明変数には、計測値そのものだけではなく、データから抽出される特徴量も用いられる。教師あり学習は、回帰(regression)と分類(classification)に大別される。回帰は、これまでに数学系科目やプログラミング系科目で学んできたもので、数値変数の値を予測する場合、分類は、カテゴリ変数の値を予測(クラスを推定)する場合に使われる。本講義では、教師あり学習の概念を学び、回帰と分類に属する主な手法を確認する。
② 一方で、教師なし学習の「教師なし」とは、訓練データにおいて目的変数の値、つまり、予測において正解として与えられる実測値が存在しないということである。教師なし学習の典型は、「環境ビッグデータ解析」の講義で扱われているクラスタリングである。学習の段階では、既存のデータをグループ化してクラスタを作る。これは、データから特徴を抽出し、特徴の類似度(特徴空間上での距離)に基づいてグループの境界を決めることで行われる。予測の段階では、未知データから特徴を抽出し、どのクラスタに属するかを判定する。また、「環境ビッグデータ解析」の講義で扱われているデータの次元圧縮(特徴的な説明変数の抽出)も、教師なし学習に含まれるとされる。本講義では、教師なし学習の概念を学び、クラスタリングと次元圧縮に属する主な手法を確認する。
③ 教師あり学習の特に分類において問題となることが、訓練データのカテゴリ変数(クラス)の正解であるラベルを付与するコストが高く、データ不足を引き起こすことである。モデルの複雑さに依存するが、精度が良い予測を行うためには大規模な訓練データが必要である。その問題に対処する新しい機械学習技術として、半教師あり学習(semi-supervised learning)や弱教師あり学習(weakly-supervised learning)、自己教師あり学習(self-supervised learning)、能動学習(active learning)が提案されている。半教師あり学習は、ラベルが完全に付与されたデータだけで一度モデルを訓練し、そのモデルで残りのデータのラベル(クラス)を予測して、その予測したラベルを訓練データとして学習を繰り返す。弱教師あり学習は、あるターゲットタスクのために学習する際に、そのタスクに合致したデータではなく、そのタスクに類似して既に大規模な訓練データが存在するデータを活用する。なお、類似の概念は広く、ラベルの付与が不完全なデータや低精度なデータも活用される。自己教師あり学習は、ラベルが全く付与されていない大規模な訓練データを使って、プレテキストタスク(擬似的なラベルが自動生成された代替タスク)を予測するための事前学習を行い、その後に、ターゲットタスク用の訓練データを使って事前学習済みモデルを追加で訓練する。なお、何らかの事前学習を行ったモデルをターゲットタスク用の訓練データを使って追加で訓練することを転移学習(transfer learning)と呼ぶ。能動学習は、半教師あり学習において、予測を誤ったデータに人手でラベルを付与し直して学習を繰り返す。本講義では、教師あり学習における訓練データ不足に対処するための新しい機械学習技術の概要を学ぶ。
キーワード ① 教師あり学習 ② 教師なし学習 ③ 半教師あり学習 ④ 弱教師あり学習 ⑤ 自己教師あり学習
コマの展開方法 社会人講師 AL ICT PowerPoint・Keynote 教科書
コマ用オリジナル配布資料 コマ用プリント配布資料 その他 該当なし
小テスト
復習・予習課題 【本コマの予習】本コマシラバスの各コマ主題細目についての細目レベルを熟読し、参考書籍やWebサイトを利用して、教師あり学習と教師なし学習について確認しておくこと。「環境ビッグデータ解析」や「環境プログラミング応用」の講義資料を確認し、回帰とクラスタリングを復習しておくこと。
【本コマの復習】①機械学習の主な学習形態として、教師あり学習、教師なし学習、半教師あり学習、弱教師あり学習、自己教師あり学習、能動学習、転移学習について配布資料を再読しておくこと。②本コマシラバスの各コマ主題細目についての細目レベルを再確認しておくこと。③身の回りにある情報技術やサービスが、学んだ人工知能のどのモデルや機械学習のどの学習形態が導入されているか、さらには、今後どのように進化していくと想定されるかを考えてみること。超スマート社会で活動していくために、その発展に遅れを取らないように、AIの利活用に積極的に参加していくことが重要である。

4 機械学習の手順 科目の中での位置付け 本科目は、環境問題や社会課題の解決に向け、環境データサイエンスの根幹となる人工知能について、その発展の変遷を学び、近年における進化を支える機械学習を理解し、実装する技術を修得することを目的とする。まず、第1回では、ガイダンスとして授業の進め方と、人工知能、機械学習、深層学習とは何かについて、その発展の変遷を追いながら把握する。第1回を含め第4回までは基礎編で、人工知能の利活用を確認し、その基盤である機械学習の学習形態と手順を理解する。第5回から第13回は実践編で、第8回までは代表的な機械学習モデルについて、第9回以降は代表的な深層学習モデルについて学び、Python言語を用いてそれぞれの実装を行う。第14回は、近年の動向を把握するために、生成AIに関する代表的なモデルについて学ぶ。第15回では、全ての講義内容をまとめ、復習し、これまでに機械学習を行ったデータもしくは自身で取得したデータに対して独自の機械学習を行い、人工知能の基礎知識とスキルの修得を確認する。このようなコマの流れの中の位置付けとして、第4回は、機械学習の手順として、データの分割、学習、予測、モデルのチューニング、評価の方法について学ぶ。
①有賀 友紀,大橋 俊介,“RとPythonで学ぶ実践的データサイエンス&機械学習”,技術評論社,2019,pp.415-418

②有賀 友紀,大橋 俊介,“RとPythonで学ぶ実践的データサイエンス&機械学習”,技術評論社,2019,pp.418, 421-422

③有賀 友紀,大橋 俊介,“RとPythonで学ぶ実践的データサイエンス&機械学習”,技術評論社,2019,pp.419-421

①〜③教員が配布する資料
コマ主題細目 ① データ分割 ② 学習、予測、チューニング ③ 評価
細目レベル ① 機械学習は標準的な手順が定式化されていて、主にはデータ分割、学習(訓練)、予測、チューニング、評価の5つからなる。まず、データ分割は、収集したデータの一部を訓練用(学習用)、残りを評価用に分けることである。機械学習は、モデルの訓練に用いない未知データに対しても良い予測結果が得られることを重視する。そうなれば、汎用性(汎化性能)が高いとみなせる。訓練データと評価データの割合は、6対4から8対2が一般的である。評価データは、さらに、チューニング用の検証データと最終評価用のテストデータに分けられる。データが大規模な場合は、訓練データ、検証データ、テストデータへの分割を1回だけ行うことが多く、ホールドアウト法と呼ばれる。データが小規模な場合や、より汎化性能を重視する場合は、クロスバリデーション(交差検証)法が良く用いられる。クロスバリデーション法は、分割を1回だけで済ませるのではなく、何度か異なる分割で訓練と評価を行い、予測精度の平均を取る。データをk個に分割し、その1つをテストデータとする評価をkパターン行うことをk分割交差検証(k-fold cross validation)と言う。本講義では、機械学習のためのデータ分割方法を学ぶ。
② 学習(訓練)は、モデルを訓練データに適合(フィッティング)させる過程であり、説明変数と目的変数の関係を表すパラメータを最適化する。多様なモデルが日進月歩で開発され、Pythonのモジュールとして公開されている。予測では、学習済みのモデルを使って、説明変数の値から目的変数の値を推定する。また、チューニングとは、できるだけ高い予測精度が得られるように、学習の際に、モデルのハイパーパラメータ(人手で設定する必要があるパラメータ)の値などを変えて、訓練データの学習と検証データに対する予測を繰り返すことである。ただし、ハイパーパラメータの値を当てずっぽうで設定しても、良い予測精度が得られる保証がないため、網羅的に探索するグリッドサーチが良く用いられる。本講義では、機械学習の手順の中での学習(訓練)と予測の位置付けを確認し、チューニングの役割について学ぶ。
③ 評価では、評価データを用いてモデルの予測精度を確認する。その際、回帰と分類で指標が異なる。回帰に対しては、評価データの目的変数の真値(正解値)と予測値との誤差が用いられる。代表的なものとして、平均二乗誤差(Mean Squared Error: MSE)、平均二乗平方根誤差(Root Mean Squared Error: RMSE)、平均絶対誤差(Mean Absolute Error: MAE)がある。これらは、「環境プログラミング応用」でも扱われている。MSEは、誤差を二乗したものについての平均であり、RMSEは、単位をデータのものに揃えるためにMSEの平方根を取ったものである。MAEは、二乗せずに誤差の絶対値について平均を取ったもので、外れ値の影響を受けにくい特徴がある。分類に対しては、主に、正解率、再現率、適合率、F値が用いられる。正解率は、例えば、クラスが2つの2値分類でラベルが0(陰性、negative)と1(陽性、positive)の場合、真値が0を0と予測できたケースである真陰性(true negative)と1を1と予測できたケースである真陽性(true positive)を正解、それら以外を不正解として、全体の評価データ数に対する正解が得られたケース数の割合である。また、真値が0を1と誤ったケースを偽陰性(false negative)、1を0と誤ったケースを偽陽性(false positive)と言い、1(陽性)の全ての評価データのうち、正しく1と予測できた割合が再現率(recall)、1と予測した評価データのうち、真値が1である割合が適合率(precision)である。例えば、陽性の判断を厳しくすれば、再現率が下がり、適合率は上がる。F値は、その両方を考慮した指標で、F値=2*再現率*適合率/(再現率+適合率)として求められる。本講義では、機械学習を評価するための様々な指標とそれらの特徴を学ぶ。
キーワード ① クロスバリデーション ② ハイパーパラメータ ③ 誤差 ④ 再現率 ⑤ 適合率
コマの展開方法 社会人講師 AL ICT PowerPoint・Keynote 教科書
コマ用オリジナル配布資料 コマ用プリント配布資料 その他 該当なし
小テスト
復習・予習課題 【本コマの予習】本コマシラバスの各コマ主題細目についての細目レベルを熟読し、参考書籍やWebサイトを利用して、機械学習の手順について確認しておくこと。「環境統計解析学基礎」や「環境プログラミング応用」の講義資料を確認し、誤差や誤りの概念を復習しておくこと。
【本コマの復習】①機械学習の主な手順として、データの分割、学習(訓練)、予測、チューニング、評価について配布資料を再読しておくこと。②本コマシラバスの各コマ主題細目についての細目レベルを再確認しておくこと。③身の回りにある情報技術やサービスが、学んだ人工知能のどのモデルや機械学習のどの学習形態が導入されているか、さらには、今後どのように進化していくと想定されるかを考えてみること。超スマート社会で活動していくために、その発展に遅れを取らないように、AIの利活用に積極的に参加していくことが重要である。

5 ランダムフォレスト 科目の中での位置付け 本科目は、環境問題や社会課題の解決に向け、環境データサイエンスの根幹となる人工知能について、その発展の変遷を学び、近年における進化を支える機械学習を理解し、実装する技術を修得することを目的とする。まず、第1回では、ガイダンスとして授業の進め方と、人工知能、機械学習、深層学習とは何かについて、その発展の変遷を追いながら把握する。第1回を含め第4回までは基礎編で、人工知能の利活用を確認し、その基盤である機械学習の学習形態と手順を理解する。第5回から第13回は実践編で、第8回までは代表的な機械学習モデルについて、第9回以降は代表的な深層学習モデルについて学び、Python言語を用いてそれぞれの実装を行う。第14回は、近年の動向を把握するために、生成AIに関する代表的なモデルについて学ぶ。第15回では、全ての講義内容をまとめ、復習し、これまでに機械学習を行ったデータもしくは自身で取得したデータに対して独自の機械学習を行い、人工知能の基礎知識とスキルの修得を確認する。このようなコマの流れの中の位置付けとして、第5回は、ランダムフォレストという分類モデルについて学び、Pythonを用いた実装技術を修得する。
①有賀 友紀,大橋 俊介,“RとPythonで学ぶ実践的データサイエンス&機械学習”,技術評論社,2019,4.3.5項

②有賀 友紀,大橋 俊介,“RとPythonで学ぶ実践的データサイエンス&機械学習”,技術評論社,2019,pp.389-390, 392-393

③有賀 友紀,大橋 俊介,“RとPythonで学ぶ実践的データサイエンス&機械学習”,技術評論社,2019,pp.394-396

①〜③教員が配布する資料
コマ主題細目 ① 決定木 ② ランダムフォレストの仕組み ③ ランダムフォレストの実装
細目レベル ① ランダムフォレストは、決定木を応用した分類モデルである。決定木とは、階層的な木構造を用いてデータの分類や回帰を行う教師あり学習モデルであり、訓練データを最も良く分割する説明変数(次元)と境界(閾値)を選んでデータを分割し、分割されたデータに対して同様の処理を繰り返すことで階層が構成される。分割の際にデータの分布を仮定しないため、ノンパラメトリックの教師あり学習である。構成された木の解釈が容易であり、ハイパーパラメータの意味を理解しやすいため、モデルの説明性が高い。一方で、予測性能は高くなく、階層を深くすると過剰適合(過学習)を起こしやすい。Pythonを用いて決定木に基づく分類モデルを実装する場合は、scikit-learnという機械学習用のライブラリに用意されているtreeモジュールのDecisionTreeClassifierクラスを用いると良い。本講義では、ランダムフォレストの基盤である決定木の概念と特徴について学ぶ。
② ランダムフォレストは、複数の決定木を組み合わせて予測を行う。前述のように、決定木には過剰適合を起こしやすいという欠点があるため、アンサンブル学習を用いて、この問題に対処している。アンサンブル学習とは、複数のモデルを使って多数決で予測結果を出すというものである。ランダムフォレストでは、複数の異なる決定木を生成し、これらの予測結果をもとに多数決を行う。個々の決定木を生成する際には、訓練に用いるサンプルを訓練データ全体からランダムに抽出する。また、説明変数もランダムに抽出する。ハイパーパラメータは主に、決定木の数と階層の深さの2つである。数は、一般的には多い方が良い結果が得られやすいが、計算コストが高くなる。深さは、深いほど、粒度の細かな予測が可能になる。本講義では、ランダムフォレストの仕組みと特徴について学ぶ。
③ Pythonを用いてランダムフォレストに基づく分類モデルを実装する場合は、scikit-learnのensembleモジュールに用意されているRandomForestClassifierクラスを用いると良い。その引数に、前述のハイパーパラメータを指定することができ、決定木の数がn_estimators、決定木の階層数の上限がmax_depthである。また、ランダムフォレストは学習の際に、サンプルと説明変数をランダムに抽出するため、実行するたびに異なる決定木が生成されてしまう。そこで、RandomForestClassifierクラスでは、乱数を決める引数としてrandom_stateが用意されていて、その値を固定することで、再実行の際にも同じ決定木を生成することができるようになっている。モデルの訓練は、RandomForestClassifierクラスから生成したインスタンスのfit()メソッド、予測にはpredict()メソッドを用いる。また、ランダムフォレストでは、複数の決定木における結果を統合して、評価データが各クラスに属する確率を計算することで多数決を数値化していて、predict_proba()メソッドを用いて取得することができる。本講義では、Pythonを用いたランダムフォレストの実装方法を学ぶ。
キーワード ① ランダムフォレスト ② 決定木 ③ アンサンブル学習 ④ scikit-learnライブラリ ⑤ RandomForestClassifierクラス
コマの展開方法 社会人講師 AL ICT PowerPoint・Keynote 教科書
コマ用オリジナル配布資料 コマ用プリント配布資料 その他 該当なし
小テスト
復習・予習課題 【本コマの予習】本コマシラバスの各コマ主題細目についての細目レベルを熟読し、参考書籍やWebサイトを利用して、決定木とランダムフォレストの概要について確認しておくこと。「環境ビッグデータ解析」や「環境プログラミング応用」の講義資料を確認し、scikit-learnライブラリを復習しておくこと。
【本コマの復習】①決定木およびランダムフォレストの仕組みと特徴について配布資料を再読しておくこと。②決定木およびランダムフォレストをscikit-learnライブラリを用いて実装し、訓練および評価する方法についての配布資料を再読し、提示された課題に取り組み、完成させておくこと。③本コマシラバスの各コマ主題細目についての細目レベルを再確認しておくこと。④身の回りにある情報技術やサービスが、学んだ人工知能のどのモデルや機械学習のどの学習形態が導入されているか、さらには、今後どのように進化していくと想定されるかを考えてみること。超スマート社会で活動していくために、その発展に遅れを取らないように、AIの利活用に積極的に参加していくことが重要である。

6 k近傍法 科目の中での位置付け 本科目は、環境問題や社会課題の解決に向け、環境データサイエンスの根幹となる人工知能について、その発展の変遷を学び、近年における進化を支える機械学習を理解し、実装する技術を修得することを目的とする。まず、第1回では、ガイダンスとして授業の進め方と、人工知能、機械学習、深層学習とは何かについて、その発展の変遷を追いながら把握する。第1回を含め第4回までは基礎編で、人工知能の利活用を確認し、その基盤である機械学習の学習形態と手順を理解する。第5回から第13回は実践編で、第8回までは代表的な機械学習モデルについて、第9回以降は代表的な深層学習モデルについて学び、Python言語を用いてそれぞれの実装を行う。第14回は、近年の動向を把握するために、生成AIに関する代表的なモデルについて学ぶ。第15回では、全ての講義内容をまとめ、復習し、これまでに機械学習を行ったデータもしくは自身で取得したデータに対して独自の機械学習を行い、人工知能の基礎知識とスキルの修得を確認する。このようなコマの流れの中の位置付けとして、第6回は、k近傍法という分類アルゴリズムについて学び、Pythonを用いた実装技術を修得する。
①有賀 友紀,大橋 俊介,“RとPythonで学ぶ実践的データサイエンス&機械学習”,技術評論社,2019,pp.381-381

②有賀 友紀,大橋 俊介,“RとPythonで学ぶ実践的データサイエンス&機械学習”,技術評論社,2019,pp.359-362, 382-384

③有賀 友紀,大橋 俊介,“RとPythonで学ぶ実践的データサイエンス&機械学習”,技術評論社,2019,pp.362-365, 384-386

①〜③教員が配布する資料
コマ主題細目 ① k近傍法の仕組み ② k近傍法の実装 ③ 決定境界の描画
細目レベル ① k近傍法(k-Nearest Neighbor: k-NN)は、非常に単純な原理でクラス分類を行う教師あり学習のアルゴリズムである。まず、ある特徴空間上に、クラスのラベルが既知である訓練データと分類の対象である未知データを配置する。次に、未知データから近傍に存在する(特徴空間上で距離が近い、特徴の類似度が高い)k個の訓練データを選出する。そして、それらのクラスラベルで多数決を行い、多数派のラベルをクラスの予測結果とする。ハイパーパラメータは、選出するk個の数である。kの値は小さすぎると、偶然に左右される可能性が高くなり、大きすぎると、粒度の細かな分類が難しくなる。kの値は、クロスバリデーションによって、予測の精度と汎化性能のバランスを見て、決定する必要がある。本講義では、まず、k近傍法の仕組みについて学ぶ。
② Pythonを用いてk近傍法に基づく分類モデルを実装する場合は、scikit-learnライブラリのneighborsモジュールに用意されているKNeighborsClassifierクラスを用いると良い。その引数に、前述したハイパーパラメータであるkの値をn_neighborsとして指定することができる。モデルの訓練は、KNeighborsClassifier クラスから生成したインスタンスのfit()メソッド、予測にはpredict()メソッドを用いる。実装上で注意することは、特徴空間を構成する各軸(説明変数、特徴量)のスケールを合わせる(標準化する)ことである。スケールが異なると、距離を計算する際に不公平が生じる。逆に言うと、スケールを調整することで、重視したい特徴を設定することができる。標準化には、scikit-learnライブラリのpreprocessingモジュールに用意されているStandardScalerクラスを用いる。本講義では、Pythonを用いたk近傍法の実装方法を学ぶ。
③ 訓練したモデルの判断根拠を解釈するために、特徴空間上のデータを2次元の散布図として可視化し、その上で決定境界を描くと良い。散布図の描画は、matplotlib.pyplotモジュールのfigure()関数を用いて描画領域を作成し、scatter()関数を用いてデータをプロットする。決定境界を描画するためには、独自に関数を作成する必要があるが、本講義ではplot_boundary()関数が担当教員から提供される。特徴空間が多次元である場合は、主成分分析などを用いて2次元に圧縮する必要がある。ここで、ハイパーパラメータであるkの値を連続的に変更して、決定境界の変化を確認する。決定境界が、地形で表現するところの半島や島のように複雑な形状になっている場合は、過剰適合している可能性がある。なお、ランダムフォレストのRandomForestClassifierクラスと同様に、KNeighborsClassifier クラスにもpredict_proba()メソッドが用意されているので、評価データが各クラスに属する確率を計算することができる。本講義では、訓練データの散布図と訓練した分類モデルの決定境界を描画する方法を学ぶ。
キーワード ① k近傍法(k-NN) ② KNeighborsClassifier クラス ③ 標準化 ④ 散布図 ⑤ 決定境界
コマの展開方法 社会人講師 AL ICT PowerPoint・Keynote 教科書
コマ用オリジナル配布資料 コマ用プリント配布資料 その他 該当なし
小テスト
復習・予習課題 【本コマの予習】本コマシラバスの各コマ主題細目についての細目レベルを熟読し、参考書籍やWebサイトを利用して、k近傍法の概要について確認しておくこと。「環境ビッグデータ解析」や「環境プログラミング応用」、「環境プログラミング基礎」の講義資料を確認し、scikit-learnライブラリとmatplotlib.pyplotモジュールを復習しておくこと。
【本コマの復習】①k近傍法の仕組みと特徴について配布資料を再読しておくこと。②k近傍法をscikit-learnライブラリを用いて実装し、訓練および評価する方法についての配布資料を再読し、提示された課題に取り組み、完成させておくこと。③本コマシラバスの各コマ主題細目についての細目レベルを再確認しておくこと。④身の回りにある情報技術やサービスが、学んだ人工知能のどのモデルや機械学習のどの学習形態が導入されているか、さらには、今後どのように進化していくと想定されるかを考えてみること。超スマート社会で活動していくために、その発展に遅れを取らないように、AIの利活用に積極的に参加していくことが重要である。

7 サポートベクターマシン 科目の中での位置付け 本科目は、環境問題や社会課題の解決に向け、環境データサイエンスの根幹となる人工知能について、その発展の変遷を学び、近年における進化を支える機械学習を理解し、実装する技術を修得することを目的とする。まず、第1回では、ガイダンスとして授業の進め方と、人工知能、機械学習、深層学習とは何かについて、その発展の変遷を追いながら把握する。第1回を含め第4回までは基礎編で、人工知能の利活用を確認し、その基盤である機械学習の学習形態と手順を理解する。第5回から第13回は実践編で、第8回までは代表的な機械学習モデルについて、第9回以降は代表的な深層学習モデルについて学び、Python言語を用いてそれぞれの実装を行う。第14回は、近年の動向を把握するために、生成AIに関する代表的なモデルについて学ぶ。第15回では、全ての講義内容をまとめ、復習し、これまでに機械学習を行ったデータもしくは自身で取得したデータに対して独自の機械学習を行い、人工知能の基礎知識とスキルの修得を確認する。このようなコマの流れの中の位置付けとして、第7回は、サポートベクターマシンという分類モデルについて学び、Pythonを用いた実装技術を修得する。
①有賀 友紀,大橋 俊介,“RとPythonで学ぶ実践的データサイエンス&機械学習”,技術評論社,2019,pp.404-405

②有賀 友紀,大橋 俊介,“RとPythonで学ぶ実践的データサイエンス&機械学習”,技術評論社,2019,pp.405-406

③有賀 友紀,大橋 俊介,“RとPythonで学ぶ実践的データサイエンス&機械学習”,技術評論社,2019,pp.406-413

①〜③教員が配布する資料
コマ主題細目 ① サポートベクターマシンの仕組み ② カーネルトリック ③ サポートベクターマシンの実装
細目レベル ① サポートベクターマシン(Support Vector Machine: SVM)は、複雑な形状を近似的に表現できる関数をデータにあてはめることで、その分布の特徴を捉えてクラス分類を行う教師あり学習モデルである。高い予測精度が得られることが多いため、深層学習が登場する以前は主流のアルゴリズムであった。SVMは、決定境界を決める際に、マージンとサポートベクトルという概念を使う。マージンとは、決定境界とサポートベクトルとの距離のことである。このマージンを大きく取れるなら、未知データに対して予測を行う場合に堅牢性が高くなる。サポートベクトルは、決定境界に最も近い訓練データを示し、SVMはサポートベクトルまでのマージンを最大化するように学習を行う。本講義では、まず、サポートベクターマシンの仕組みと特徴について学ぶ。
② サポートベクターマシンは、決定境界を直線で表現して線形で分離するだけではなく、曲線を用いた非線形な分離も可能である。そのために、カーネル関数と呼ばれる関数を使い、元のデータを高次元空間に射影して分離を行う(元の空間において決定境界を曲線で表現して非線形分離を行うことを、非線形な変換によって高次元空間に射影して、その空間で線形分離を行うことで実現する)。この技術はカーネルトリックと呼ばれる。一般的に良く用いられるカーネルとして、ガウス関数で表現されるガウシアンカーネル、多項式関数で表現される多項式カーネル、シグモイド関数で表現されるシグモイドカーネルが知られている。決定境界を複雑化することによって、過剰適合する恐れがあることには注意が必要である。本講義では、サポートベクターマシンのカーネルトリックについて学ぶ。
③ Pythonを用いてサポートベクターマシンに基づく分類モデルを実装する場合は、scikit-learnライブラリのsvmモジュールに用意されているSVCクラスを用いると良い。その引数に、前述したカーネルをkernelとして指定することができる。カーネルを線形とする場合はkernel=”linear”、ガウシアンカーネルの場合は”rbf”、多項式カーネルの場合は”poly”、シグモイドカーネルの場合は”sigmoid”である。引数に指定することができるハイパーパラメータとして、誤分類コストCと決定境界の複雑さgammaが用意されている。Cは、誤分類のコストを設定し、小さい数値を指定するほど誤分類を許容し、大きい数値を指定するほど過剰適合しやすくなる。gammaは、小さい数値を指定するほど決定境界が直線に近くなる。SVCクラスには、決定境界からデータまでの距離を算出するdecision_function()メソッドが用意されていて、各データに対する予測の確度を推定するために用いられる。本講義では、Pythonを用いたサポートベクターマシンの実装方法を学ぶ。
キーワード ① サポートベクターマシン(SVM) ② マージン ③ サポートベクトル ④ カーネルトリック ⑤ SVCクラス
コマの展開方法 社会人講師 AL ICT PowerPoint・Keynote 教科書
コマ用オリジナル配布資料 コマ用プリント配布資料 その他 該当なし
小テスト
復習・予習課題 【本コマの予習】本コマシラバスの各コマ主題細目についての細目レベルを熟読し、参考書籍やWebサイトを利用して、サポートベクターマシンの概要について確認しておくこと。「環境ビッグデータ解析」や「環境プログラミング応用」、「環境プログラミング基礎」の講義資料を確認し、scikit-learnライブラリとmatplotlib.pyplotモジュールを復習しておくこと。
【本コマの復習】①サポートベクターマシンの仕組みと特徴、カーネルトリックについて配布資料を再読しておくこと。②サポートベクターマシンをscikit-learnライブラリを用いて実装し、訓練および評価する方法についての配布資料を再読し、提示された課題に取り組み、完成させておくこと。③本コマシラバスの各コマ主題細目についての細目レベルを再確認しておくこと。④身の回りにある情報技術やサービスが、学んだ人工知能のどのモデルや機械学習のどの学習形態が導入されているか、さらには、今後どのように進化していくと想定されるかを考えてみること。超スマート社会で活動していくために、その発展に遅れを取らないように、AIの利活用に積極的に参加していくことが重要である。

8 回帰モデル 科目の中での位置付け 本科目は、環境問題や社会課題の解決に向け、環境データサイエンスの根幹となる人工知能について、その発展の変遷を学び、近年における進化を支える機械学習を理解し、実装する技術を修得することを目的とする。まず、第1回では、ガイダンスとして授業の進め方と、人工知能、機械学習、深層学習とは何かについて、その発展の変遷を追いながら把握する。第1回を含め第4回までは基礎編で、人工知能の利活用を確認し、その基盤である機械学習の学習形態と手順を理解する。第5回から第13回は実践編で、第8回までは代表的な機械学習モデルについて、第9回以降は代表的な深層学習モデルについて学び、Python言語を用いてそれぞれの実装を行う。第14回は、近年の動向を把握するために、生成AIに関する代表的なモデルについて学ぶ。第15回では、全ての講義内容をまとめ、復習し、これまでに機械学習を行ったデータもしくは自身で取得したデータに対して独自の機械学習を行い、人工知能の基礎知識とスキルの修得を確認する。このようなコマの流れの中の位置付けとして、第8回は、機械学習を用いてパラメータを推定する代表的な回帰モデルとして、多項式回帰、ランダムフォレスト回帰、サポートベクター回帰、ロジスティック回帰について学び、Pythonを用いた実装技術を修得する。
①有賀 友紀,大橋 俊介,“RとPythonで学ぶ実践的データサイエンス&機械学習”,技術評論社,2019,pp.403-404
チーム・カルポ,“Python統計分析&機械学習マスタリングハンドブック”,秀和システム,2023,pp.352-360

②有賀 友紀,大橋 俊介,“RとPythonで学ぶ実践的データサイエンス&機械学習”,技術評論社,2019,pp.396-397, 413-414

③有賀 友紀,大橋 俊介,“RとPythonで学ぶ実践的データサイエンス&機械学習”,技術評論社,2019,pp.397-403

①〜③教員が配布する資料
コマ主題細目 ① 多項式回帰 ② ランダムフォレスト回帰とサポートベクター回帰 ③ ロジスティック回帰
細目レベル ① 連続的な数値変数の予測問題におけるモデリングである回帰について、これまでにも「環境プログラミング基礎」や「環境プログラミング応用」を通じて、単回帰モデル、重回帰モデル、多項式回帰モデルを学んだ。単回帰と重回帰は線形回帰モデル、多項式回帰は非線形回帰モデルであり、いずれも最小二乗法によってモデルのパラメータである回帰係数を推定することができるため、統計処理の対象として扱われるが、本講義では、そのパラメータ推定を広義の機械学習として捉え、まず、線形回帰を対象にして復習する。また、多項式回帰において、過剰適合を抑制する方法として、正則化を行うのが一般的である。本講義では、正則化を導入した代表的な回帰モデルであるLasso回帰とRidge回帰とその実装方法についても確認する。
② 第5回で学んだランダムフォレストは、分類問題だけではなく、回帰問題に適用することが可能である。それはランダムフォレスト回帰と呼ばれ、各決定木が数値変数を予測する形に拡張し、全ての決定木が算出した予測値の平均を取って、全体での予測値とする。Pythonを用いてランダムフォレスト回帰モデルを実装する場合は、scikit-learnライブラリのensembleモジュールに用意されているRandomForestRegressorクラスを用いると良い。基本的な使い方は、RandomForestClassifierクラスと同じである。また、第7回で学んだサポートベクターマシンも、回帰問題に適用することが可能である。それはサポートベクター回帰(Support Vector Regression: SVR)と呼ばれ、真値と予測値の誤差を閾値内(マージン)に収め、モデルの複雑さを抑えるようにパラメータを推定する。Pythonを用いてサポートベクター回帰モデルを実装する場合は、scikit-learnライブラリのsvmモジュールに用意されているSVRクラスを用いると良い。基本的な使い方は、SVCクラスと同じである。本講義では、ランダムフォレスト回帰とサポートベクター回帰およびそれらの実装方法を学ぶ。
③ ロジスティック回帰は、ある事象が発生する確率を予測し、その確率に基づいて、発生する(ラベル1)か発生しない(ラベル0)を判定する。つまり、回帰モデルであるが、分類問題に適用される。確率を予測するために、回帰式はシグモイド関数で表現され、値域が0から1の範囲に収まる。Pythonを用いてロジスティック回帰モデルを実装する場合は、scikit-learnライブラリのlinear_modelモジュールに用意されているLogisticRegressionクラスを用いると良い。LogisticRegressionクラスには、正則化が実装されていて、引数に正則化の方法をpenaltyとして指定することができる。L1正則化(Lasso)を設定する場合はpenalty=”l1”、L2正則化(Ridge)を設定する場合は”l2”であり、その両方を用いる方法として”elasticnet”も用意されている。また、正則化の程度を調整するハイパーパラメータとしてCの値も引数に指定することができる。Cを小さくするほど強い正則化が働くことになる。本講義では、ロジスティック回帰とその実装方法を学ぶ。
キーワード ① Lasso回帰 ② Ridge回帰 ③ ランダムフォレスト回帰 ④ サポートベクター回帰 ⑤ ロジスティック回帰
コマの展開方法 社会人講師 AL ICT PowerPoint・Keynote 教科書
コマ用オリジナル配布資料 コマ用プリント配布資料 その他 該当なし
小テスト
復習・予習課題 【本コマの予習】本コマシラバスの各コマ主題細目についての細目レベルを熟読し、参考書籍やWebサイトを利用して、ランダムフォレスト回帰、サポートベクター回帰、ロジスティック回帰の概要について確認しておくこと。「環境プログラミング基礎」や「環境プログラミング応用」の講義資料を確認し、単回帰、重回帰、多項式回帰、Lasso回帰、Ridge回帰を復習しておくこと。
【本コマの復習】①ランダムフォレスト回帰、サポートベクター回帰、ロジスティック回帰の仕組みと特徴について配布資料を再読しておくこと。②Lasso回帰、Ridge回帰、ランダムフォレスト回帰、サポートベクター回帰、ロジスティック回帰の各モデルをscikit-learnライブラリを用いて実装し、訓練および評価する方法についての配布資料を再読し、提示された課題に取り組み、完成させておくこと。③本コマシラバスの各コマ主題細目についての細目レベルを再確認しておくこと。④身の回りにある情報技術やサービスが、学んだ人工知能のどのモデルや機械学習のどの学習形態が導入されているか、さらには、今後どのように進化していくと想定されるかを考えてみること。超スマート社会で活動していくために、その発展に遅れを取らないように、AIの利活用に積極的に参加していくことが重要である。

9 ニューラルネットワークの理論 科目の中での位置付け 本科目は、環境問題や社会課題の解決に向け、環境データサイエンスの根幹となる人工知能について、その発展の変遷を学び、近年における進化を支える機械学習を理解し、実装する技術を修得することを目的とする。まず、第1回では、ガイダンスとして授業の進め方と、人工知能、機械学習、深層学習とは何かについて、その発展の変遷を追いながら把握する。第1回を含め第4回までは基礎編で、人工知能の利活用を確認し、その基盤である機械学習の学習形態と手順を理解する。第5回から第13回は実践編で、第8回までは代表的な機械学習モデルについて、第9回以降は代表的な深層学習モデルについて学び、Python言語を用いてそれぞれの実装を行う。第14回は、近年の動向を把握するために、生成AIに関する代表的なモデルについて学ぶ。第15回では、全ての講義内容をまとめ、復習し、これまでに機械学習を行ったデータもしくは自身で取得したデータに対して独自の機械学習を行い、人工知能の基礎知識とスキルの修得を確認する。このようなコマの流れの中の位置付けとして、第9回は、ニューラルネットワークの基本原理および、最も基本的な深層ニューラルネットワークである多層パーセプトロンと深層ニューラルネットワークを支える技術を学ぶ。
①有賀 友紀,大橋 俊介,“RとPythonで学ぶ実践的データサイエンス&機械学習”,技術評論社,2019,pp.468-469
Sebastian Raschka,Vahid Mirjalili,“Python機械学習プログラミング”,インプレス,2020,pp.333-336, 402-408

②北川 源四郎,竹村 彰通 編,“教養としてのデータサイエンス”,講談社,2021,pp.16-17
Sebastian Raschka,Vahid Mirjalili,“Python機械学習プログラミング”,インプレス,2020,pp.336-341

③有賀 友紀,大橋 俊介,“RとPythonで学ぶ実践的データサイエンス&機械学習”,技術評論社,2019,pp.470-472
Sebastian Raschka,Vahid Mirjalili,“Python機械学習プログラミング”,インプレス,2020,pp.528-530

①〜③教員が配布する資料
コマ主題細目 ① ニューラルネットワークの基本原理 ② 多層パーセプトロン ③ 深層ニューラルネットワークを支える技術
細目レベル ① ニューラルネットワーク(Neural Networks: NN)は、第1回で学んだように、ニューロン(脳神経細胞)の構造を模倣している。最も基本的な構成はパーセプトロンと呼ばれ、入力層に入力された入力ベクトルの各要素がネットワークの入力ノードの値となり、それらに個別の重みをかけて総和を取ったもの(重み付き線形和)が出力層の出力ノードに入力される。つまり、線形回帰モデルに相当する。ニューラルネットワークは、入力層と出力層の間に中間層として隠れ層を構成したものである。隠れ層においては、重み付き線形和の値を複製してノードとし、いくつかの活性化関数を適用して、出力層に出力する。出力層では、さらに重み付き線形和を取って、出力する。活性化関数は非線形な計算を行うもので、初期のニューラルネットワークでは、シグモイド関数が適用され、隠れ層がない場合はロジスティック回帰と等価である。各層のノードの数はユニット数と呼ばれる。ニューラルネットワークによる学習とは、訓練データを用いた重み係数の最適化である。その最適化は、勾配降下法や確率的勾配降下法を用いて、予測誤差を最小化するようにエポック(訓練データ全体)ごとやミニバッチ(訓練データのサブセット)ごとに重みを更新していく。予測誤差は、損失関数を定義して計算される。本講義では、まず、パーセプトロンとニューラルネットワークの基本原理を学ぶ。
② 多層パーセプトロン(MultiLayer Perceptron: MLP)は、隠れ層を多層化したものであり、最も基本的な深層ニューラルネットワーク(Deep Neural Networks: DNN)である。隠れ層を1層だけで複雑なネットワークを構成する場合、ユニット数を増やす必要があるが、次元が増えると過剰適合が起きやすくなる。そこで、多層で構成することが試みられた。しかし、ニューラルネットワークに勾配降下法を適用する際、勾配の計算に誤差逆伝播法(勾配を出力層から入力層に向けて逆順に計算していく手法)が用いられるが、層が多いと、入力層に近い隠れ層の重みが更新されなくなるという勾配消失問題が生じる。これを解決する技術が開発され、近年では100層以上の隠れ層を持つDNNも実現している。本講義では、ニューラルネットワークの代表的な訓練方法と多層パーセプトロンの概要を学ぶ。
③ DNNを訓練し、高い予測精度を得るためには、ビッグデータと高性能な計算機が必要であるが、根本的には前述した勾配消失問題を解決する必要がある。本講義では、それを解決する代表的な技術を学ぶ。まず、各層の重みの初期値を適切に設定することで問題が緩和されることが知られている。その一手法として、教師なし学習を行う自己符号化器(オートエンコーダ)を用いた初期化が挙げられる。自己符号化器とは、入力されたデータを特徴抽出により次元圧縮(エンコード)して復元(デコード)するニューラルネットワークで、圧縮する際に使う重みを初期値に流用すると、完全にランダムな初期値よりも問題が緩和される。次に、ReLU関数(Rectified Linear Unit)関数と呼ばれる活性化関数を利用することが挙げられる。シグモイド関数は、入力値が小さい、または大きい際に、勾配がなくなってしまう。ReLUは、入力値が負の場合は出力値が0となり、勾配も消失するが、正の場合は出力値が正比例で勾配は常に1となるため、問題が解消される。また、バッチ正則化も挙げられる。バッチ正規化は、層と層の間に追加する処理で、出力の平均を0、分散を1に標準化し、学習の安定化に寄与する。
キーワード ① 深層ニューラルネットワーク(DNN) ② 活性化関数 ③ 誤差逆伝播法 ④ 自己符号化器 ⑤ ReLU関数
コマの展開方法 社会人講師 AL ICT PowerPoint・Keynote 教科書
コマ用オリジナル配布資料 コマ用プリント配布資料 その他 該当なし
小テスト
復習・予習課題 【本コマの予習】本コマシラバスの各コマ主題細目についての細目レベルを熟読し、参考書籍やWebサイトを利用して、パーセプトロン、ニューラルネットワーク、深層ニューラルネットワークについて確認しておくこと。「環境プログラミング基礎」や「環境プログラミング応用」の講義資料で線形回帰モデルを復習しておくこと。
【本コマの復習】①ニューラルネットワークの基本原理と深層ニューラルネットワークを支える技術について配布資料を再読しておくこと。②本コマシラバスの各コマ主題細目についての細目レベルを再確認しておくこと。③身の回りにある情報技術やサービスが、学んだ人工知能のどのモデルや機械学習のどの学習形態が導入されているか、さらには、今後どのように進化していくと想定されるかを考えてみること。超スマート社会で活動していくために、その発展に遅れを取らないように、AIの利活用に積極的に参加していくことが重要である。

10 畳み込みニューラルネットワークの理論 科目の中での位置付け 本科目は、環境問題や社会課題の解決に向け、環境データサイエンスの根幹となる人工知能について、その発展の変遷を学び、近年における進化を支える機械学習を理解し、実装する技術を修得することを目的とする。まず、第1回では、ガイダンスとして授業の進め方と、人工知能、機械学習、深層学習とは何かについて、その発展の変遷を追いながら把握する。第1回を含め第4回までは基礎編で、人工知能の利活用を確認し、その基盤である機械学習の学習形態と手順を理解する。第5回から第13回は実践編で、第8回までは代表的な機械学習モデルについて、第9回以降は代表的な深層学習モデルについて学び、Python言語を用いてそれぞれの実装を行う。第14回は、近年の動向を把握するために、生成AIに関する代表的なモデルについて学ぶ。第15回では、全ての講義内容をまとめ、復習し、これまでに機械学習を行ったデータもしくは自身で取得したデータに対して独自の機械学習を行い、人工知能の基礎知識とスキルの修得を確認する。このようなコマの流れの中の位置付けとして、第10回は、畳み込みニューラルネットワークの基本原理とそれを支える技術を学ぶ。
①Sebastian Raschka,Vahid Mirjalili,“Python機械学習プログラミング”,インプレス,2020,pp.447-450, 455-462, 465-468

②Sebastian Raschka,Vahid Mirjalili,“Python機械学習プログラミング”,インプレス,2020,pp.451-455, 463-465

③Sebastian Raschka,Vahid Mirjalili,“Python機械学習プログラミング”,インプレス,2020,pp.475-480

①〜③教員が配布する資料
コマ主題細目 ① 畳み込みニューラルネットワークの基本原理 ② 畳み込みニューラルネットワークを支える技術 ③ データ拡張
細目レベル ① 畳み込みニューラルネットワーク(Convolutional Neural Networks: CNN)は、画像認識の性能の向上にブレイクスルーを起こし、第3次AIブームの起点となった深層学習モデルである。CNNは、生物の脳が物体を認識する際に視覚野がどのような働きをするのかにヒントを得ている。一般に、CNNは入力層、複数の畳み込み層とプーリング層(サブサンプリング層)、全結合層、出力層で構成される。畳み込み層とプーリング層は画像から特徴を抽出する。畳み込み層は、入力画像もしくは特徴マップにフィルタ(カーネル)を畳み込む演算を行う。フィルタは重み係数を持ち、CNNの訓練によって、入力層に近い層では低レベルの特徴(エッジ等)が抽出され、後段ほど高レベルの特徴(物体のテクスチャ等)が抽出されるように最適化される。プーリング層は、畳み込み演算後の特徴マップの局所領域から最大値や平均値を抽出して、特徴マップをダウンサンプリング(縮小化)する。前者は最大値プーリング、後者は平均値プーリングと呼ばれる。これにより、計算効率が向上し、過剰適合の抑制も期待される。全結合層は、基本的には多層パーセプトロンが適用される。出力層は、分類モデルの場合はクラスの数のノードで構成し、各ノードにソフトマックス関数が適用されて、対象クラスの事後確率を出力する。本講義では、まず、畳み込みニューラルネットワークの基本原理を学ぶ。
② 畳み込み層のフィルタは、一般的には多数を用意し、畳み込み演算自体も並列処理が可能であるため、GPUが活躍する。畳み込み演算において問題になることは、画像や特徴マップの端において、その外側に値が存在しないため、畳み込むことができず、畳み込み層で処理を行うごとに、プーリングに加えて特徴マップのサイズが小さくなってしまうことである。そこで、その外側を0で埋めるゼロパディングが一般的に実行される。CNNにおいても、多層にするほど過剰適合に陥りやすくなる。CNNに限らず、ニューラルネットワークにL1正則化やL2正則化を導入可能であるが、ドロップアウトと呼ばれる正則化手法が良く用いられる。ドロップアウトは、隠れ層のノードを一定の割合でランダムに不活性化して訓練を繰り返す。訓練の繰り返しには、ミニバッチ学習が用いられる。これは、訓練データをいくつかのバッチ(グループ)にランダムに分割して学習し、パラメータを更新していく手法である。本講義では、畳み込みニューラルネットワークを支える技術について学ぶ。
③ CNNにおいても、多様な訓練データを学習することで性能が向上する可能性が高まる。例えば、物体クラスを分類する場合、同じクラスでも形状やテクスチャが変化したり、カメラとの位置関係や照明条件によって見えが変化する。訓練データが限られている状況では、データを加工して水増しするデータ拡張(data augmentation)が良く行われる。データ拡張は、CNNや画像データに限定されるものではないが、画像のデータ拡張には、その性質に応じた特有のパターンがある。代表的な加工として、画像のランダムな位置や大きさでの切り抜き、水平/垂直方向への反転、ランダムな角度での回転、コントラストや明度のランダムな変更などが挙げられる。本講義では、画像のデータ拡張の方法を学ぶ。
キーワード ① 畳み込みニューラルネットワーク ② プーリング ③ パディング ④ ドロップアウト ⑤ データ拡張
コマの展開方法 社会人講師 AL ICT PowerPoint・Keynote 教科書
コマ用オリジナル配布資料 コマ用プリント配布資料 その他 該当なし
小テスト
復習・予習課題 【本コマの予習】本コマシラバスの各コマ主題細目についての細目レベルを熟読し、参考書籍やWebサイトを利用して、畳み込みニューラルネットワークについて確認しておくこと。「環境プログラミング基礎」や「情報メディア概論」の講義資料で画像処理、フィルタ、畳み込み演算を復習しておくこと。
【本コマの復習】①畳み込みニューラルネットワークの基本原理とそれを支える技術について配布資料を再読しておくこと。②本コマシラバスの各コマ主題細目についての細目レベルを再確認しておくこと。③身の回りにある情報技術やサービスが、学んだ人工知能のどのモデルや機械学習のどの学習形態が導入されているか、さらには、今後どのように進化していくと想定されるかを考えてみること。超スマート社会で活動していくために、その発展に遅れを取らないように、AIの利活用に積極的に参加していくことが重要である。

11 再帰型ニューラルネットワークの理論 科目の中での位置付け 本科目は、環境問題や社会課題の解決に向け、環境データサイエンスの根幹となる人工知能について、その発展の変遷を学び、近年における進化を支える機械学習を理解し、実装する技術を修得することを目的とする。まず、第1回では、ガイダンスとして授業の進め方と、人工知能、機械学習、深層学習とは何かについて、その発展の変遷を追いながら把握する。第1回を含め第4回までは基礎編で、人工知能の利活用を確認し、その基盤である機械学習の学習形態と手順を理解する。第5回から第13回は実践編で、第8回までは代表的な機械学習モデルについて、第9回以降は代表的な深層学習モデルについて学び、Python言語を用いてそれぞれの実装を行う。第14回は、近年の動向を把握するために、生成AIに関する代表的なモデルについて学ぶ。第15回では、全ての講義内容をまとめ、復習し、これまでに機械学習を行ったデータもしくは自身で取得したデータに対して独自の機械学習を行い、人工知能の基礎知識とスキルの修得を確認する。このようなコマの流れの中の位置付けとして、第11回は、系列データのモデル化に利用される再帰型ニューラルネットワークの基本原理と長短期記憶モデルについて学ぶ。
①Sebastian Raschka,Vahid Mirjalili,“Python機械学習プログラミング”,インプレス,2020,pp.486-489

②Sebastian Raschka,Vahid Mirjalili,“Python機械学習プログラミング”,インプレス,2020,pp.489-497

③Sebastian Raschka,Vahid Mirjalili,“Python機械学習プログラミング”,インプレス,2020,pp.497-499

①〜③教員が配布する資料
コマ主題細目 ① シーケンスモデル ② 再帰型ニューラルネットワークの基本原理 ③ 長短期記憶モデル
細目レベル ① 再帰型ニューラルネットワーク(Recurrent Neural Networks: RNN)は、系列データ(シーケンス)のモデル化に用いられる。系列データは、要素が特定の順番で並んでいて、互いに無関係ではないものである(画像においても、隣り合う画素間に関係性があることが多く、系列データとしてモデル化するアプローチもある)。多層パーセプトロンや畳み込みニューラルネットワークは、過去の訓練データの記憶を持たず、パラメータは訓練データが処理される順序とは無関係に更新される。シーケンスモデルは、入力データと出力データの関係に基づいて3つに分類される。まず、多対一モデルであり、シーケンスを入力し、スカラーまたは固定サイズのベクトルを出力する。例えば、SNSに投稿されたテキストに対して「いいね!」数を予測するモデルである。その逆の一対多モデルは、例えば、画像を入力し、そのシーンを表すキャプションを出力する。そして、多対多モデルは、入力データも出力データもシーケンスであり、Seq2Seqモデルと呼ばれる。例えば、音声同時翻訳を行うような同期モデルと、文章全体を読み込んでから翻訳を行うような遅延モデルに分類される。本講義では、系列データの概念と代表例を確認し、シーケンスモデルの概要を学ぶ。
② RNNは、第9回で学んだニューラルネットワークと同様に入力層、隠れ層、出力層で構成されるが、隠れ層には現在の時刻において入力層から得られる情報(入力ベクトル)だけではなく、1つ前の時刻に隠れ層から出力された情報(隠れ層の状態ベクトル)も自己ループして入力される構造(有向閉路)を持つ。このループはリカレントエッジと呼ばれる。これにより、ネットワークが過去の事象に関する記憶を持つことが可能になる。多層パーセプトロンと同様に、RNNは複数の隠れ層で構成されることができる。多層RNNの場合、2つ目の隠れ層への入力は、1つ前の時刻に自身から出力された状態ベクトルと、現在の時刻における前段の隠れ層からの状態ベクトルとなる。各状態ベクトルには個別に重みが掛けられ、線形結合されたベクトルが活性化関数に入力される。重みは学習パラメータであり、時刻に依存せずに、時間軸をまたいで共有されるものとする。本講義では、再帰型ニューラルネットワークの基本原理を学ぶ。
③ RNNにおいても、リカレントエッジが繰り返し処理されると勾配消失問題が生じる。それを解決する手法として、長短期記憶(Long Short-Term Memory: LSTM)モデルが開発された。LSTMの構成要素はメモリセルで、RNNの隠れ層に対応する。メモリセルにはリカレントエッジが存在し、その重みに対応するものがセル状態と呼ばれる。また、メモリセルは、入力ゲート、忘却ゲート、出力ゲートの3種類のゲートで構成される。各ゲートでは、現在の時刻の入力ベクトルと1つ前の時刻の隠れ層の状態ベクトルに個別に重みが掛けられ、線形結合されたベクトルがシグモイド活性化関数に入力される。入力ゲートは、セル状態を更新する役割を持つ。忘却ゲートは、セル状態を更新し続けるだけではなく、リセットすることができる。これはメモリセルを通過させる情報と通過させない情報を判断する役割を持つ。出力ゲートは、隠れ層の状態ベクトルをセル状態に応じて更新する。本講義では、LSTMモデルの構造を学ぶ。
キーワード ① 系列データ ② シーケンスモデル ③ 再帰型ニューラルネットワーク ④ リカレントエッジ ⑤ LSTM
コマの展開方法 社会人講師 AL ICT PowerPoint・Keynote 教科書
コマ用オリジナル配布資料 コマ用プリント配布資料 その他 該当なし
小テスト
復習・予習課題 【本コマの予習】本コマシラバスの各コマ主題細目についての細目レベルを熟読し、参考書籍やWebサイトを利用して、再帰型ニューラルネットワークと系列データについて確認しておくこと。第9回で学んだニューラルネットワークを復習しておくこと。また、「環境ビッグデータ解析」の第5回の講義資料でグラフィカルモデルを復習しておくこと。
【本コマの復習】①再帰型ニューラルネットワークの基本原理と長短期記憶モデルについて配布資料を再読しておくこと。②本コマシラバスの各コマ主題細目についての細目レベルを再確認しておくこと。③身の回りにある情報技術やサービスが、学んだ人工知能のどのモデルや機械学習のどの学習形態が導入されているか、さらには、今後どのように進化していくと想定されるかを考えてみること。超スマート社会で活動していくために、その発展に遅れを取らないように、AIの利活用に積極的に参加していくことが重要である。

12 AIプログラミング 科目の中での位置付け 本科目は、環境問題や社会課題の解決に向け、環境データサイエンスの根幹となる人工知能について、その発展の変遷を学び、近年における進化を支える機械学習を理解し、実装する技術を修得することを目的とする。まず、第1回では、ガイダンスとして授業の進め方と、人工知能、機械学習、深層学習とは何かについて、その発展の変遷を追いながら把握する。第1回を含め第4回までは基礎編で、人工知能の利活用を確認し、その基盤である機械学習の学習形態と手順を理解する。第5回から第13回は実践編で、第8回までは代表的な機械学習モデルについて、第9回以降は代表的な深層学習モデルについて学び、Python言語を用いてそれぞれの実装を行う。第14回は、近年の動向を把握するために、生成AIに関する代表的なモデルについて学ぶ。第15回では、全ての講義内容をまとめ、復習し、これまでに機械学習を行ったデータもしくは自身で取得したデータに対して独自の機械学習を行い、人工知能の基礎知識とスキルの修得を確認する。このようなコマの流れの中の位置付けとして、第12回は、第13回で行う深層学習の実装に必要なツールについて学ぶ。
①NVIDIA グラフィックスカード,https://www.nvidia.com/ja-jp/geforce/graphics-cards/

②Google Cloud,https://cloud.google.com/?hl=ja,Microsoft Azure,https://azure.microsoft.com/ja-jp,Amazon Web Services,https://aws.amazon.com/jp/

③有賀 友紀,大橋 俊介,“RとPythonで学ぶ実践的データサイエンス&機械学習”,技術評論社,2019,pp.474-476
Sebastian Raschka,Vahid Mirjalili,“Python機械学習プログラミング”,インプレス,2020,pp.369-391

①〜③教員が配布する資料
コマ主題細目 ① GPU ② クラウドコンピューティング ③ 深層学習フレームワーク
細目レベル ① 第8回までで行ってきた機械学習の実装も広義のAIプログラミングと言えるが、一般的には、深層ニューラルネットワークが「弱い人工知能」であるとみなされ、その実装がAIプログラミングと言え、本科目でもそれに倣う。深層学習は、第1回で触れたように、超高性能な計算機、特にグラフィックス処理ユニット(Graphical Processing Unit: GPU)を必須とする。GPUは元来、高解像度の映像をスムーズに表示するために、画素単位で高速な並列処理を行うための装置であるが、近年は、画像処理以外にも深層学習などの高コストな計算処理に活用されている。深層学習を行う上で、GPUの重要なスペックは、コアクロック、コアの数(NVIDIA社製のGPUにおいてはCUDAコアの数)、メモリ容量である。CUDAとは、GPUを利用して並列計算を行うためのソフトウェア開発・実行環境である。汎用的な開発・実行環境としてはOpenCLが存在する。本講義では、AIの基盤であるGPUとそれを利用する開発・実行環境について学ぶ。
② GPUが日進月歩で高性能化していて、深層学習モデルの大規模化を促している。近年は、廉価なものでも小規模な深層学習が可能であるが、より高性能なものに頻繁に買い替えて費用対効果が上がるものではない。そこで、クラウド上のGPUサーバなどの計算資源を利用して深層学習を行うクラウドコンピューティングが一般的になってきている。代表的なクラウドサービスとして、Google Cloud、Microsoft Azure、Amazon Web Services(AWS)が広く利用されていて、いずれも人工知能・機械学習に関しては、画像認識、自然言語処理、音声認識、音声合成など20つ程度のプロダクトが提供され、無料での利用枠も用意されている。本講義では、代表的なクラウドコンピューティングサービスを概観し、第13回で行う深層学習の実装に向けて、履修生各自のノートPCでGoogle Colaboratory(Google Colab)をセットアップする。
③ 深層学習の進化を支えているものがGPUやクラウドコンピューティングサービスといったプラットフォームであるが、それを加速することに貢献しているものが開発のためのフレームワーク(枠組み)である。本講義では、代表的な深層学習フレームワークとして、TensorFlow、Keras、PyTorchについて概観する。TensorFlowは、Googleによって開発されたもので、比較的抽象度が低く、ソースコードの記述量が多いため、自由度が高いが、コードが複雑になりがちで初心者には扱いづらいとされる。Define-and-Run方式を採用していて、あらかじめネットワーク構造を記述する必要がある。Kerasは、TensorFlowなどに対応したラッパーライブラリ(元の機能を包むように覆い隠し、機能追加、簡略化するライブラリ)であり、抽象度が高く、自由度が低いが、扱いやすい。PyTorchは、Metaによって開発されたもので、TensorFlowとは異なるDefine-by-Run方式を採用していて、ネットワーク構造を事前記述する必要がないことで、データ長が定まっていない自然言語処理などに適している。なお、これらのフレームワークは、内部でCUDAとOpenCLを利用していて、ユーザがそれらを直接的に扱う必要はない。本講義では、深層学習を開発するためのフレームワークについて学ぶ。
キーワード ① GPU ② CUDA ③ クラウドコンピューティング ④ 深層学習フレームワーク ⑤ TensorFlow/Keras/PyTorch
コマの展開方法 社会人講師 AL ICT PowerPoint・Keynote 教科書
コマ用オリジナル配布資料 コマ用プリント配布資料 その他 該当なし
小テスト
復習・予習課題 【本コマの予習】本コマシラバスの各コマ主題細目についての細目レベルを熟読し、参考書籍やWebサイトを利用して、AIプログラミングの概要について確認しておくこと。「情報メディア概論」の第6回と第11回の講義資料でGPUとクラウドコンピューティングを復習しておくこと。
【本コマの復習】①深層学習の実装に必要なツールとして、GPU、クラウドコンピューティング、深層学習フレームワークについて配布資料を再読しておくこと。②第13回で深層学習を実装し、実行することができるように、Google Colabのセットアップを完了させておくこと。③本コマシラバスの各コマ主題細目についての細目レベルを再確認しておくこと。④身の回りにある情報技術やサービスが、学んだ人工知能のどのモデルや機械学習のどの学習形態が導入されているか、さらには、今後どのように進化していくと想定されるかを考えてみること。超スマート社会で活動していくために、その発展に遅れを取らないように、AIの利活用に積極的に参加していくことが重要である。

13 深層学習の実装 科目の中での位置付け 本科目は、環境問題や社会課題の解決に向け、環境データサイエンスの根幹となる人工知能について、その発展の変遷を学び、近年における進化を支える機械学習を理解し、実装する技術を修得することを目的とする。まず、第1回では、ガイダンスとして授業の進め方と、人工知能、機械学習、深層学習とは何かについて、その発展の変遷を追いながら把握する。第1回を含め第4回までは基礎編で、人工知能の利活用を確認し、その基盤である機械学習の学習形態と手順を理解する。第5回から第13回は実践編で、第8回までは代表的な機械学習モデルについて、第9回以降は代表的な深層学習モデルについて学び、Python言語を用いてそれぞれの実装を行う。第14回は、近年の動向を把握するために、生成AIに関する代表的なモデルについて学ぶ。第15回では、全ての講義内容をまとめ、復習し、これまでに機械学習を行ったデータもしくは自身で取得したデータに対して独自の機械学習を行い、人工知能の基礎知識とスキルの修得を確認する。このようなコマの流れの中の位置付けとして、第13回は、第9回から第11回で学んだ多層パーセプトロン、畳み込みニューラルネットワーク、再帰型ニューラルネットワークをPythonを用いて実装する方法を学ぶ。
①Sebastian Raschka,Vahid Mirjalili,“Python機械学習プログラミング”,インプレス,2020,pp.392-402

②Sebastian Raschka,Vahid Mirjalili,“Python機械学習プログラミング”,インプレス,2020,pp.467-474

③Sebastian Raschka,Vahid Mirjalili,“Python機械学習プログラミング”,インプレス,2020,pp.499-512

①〜③教員が配布する資料
コマ主題細目 ① 多層パーセプトロンの実装 ② 畳み込みニューラルネットワークの実装 ③ 再帰型ニューラルネットワークの実装
細目レベル ① 本講義では、TensorFlow Keras APIを用いて深層学習を実装する。そのために、Pythonコード上でtensorflowをインポートし、Kerasのモジュールにtf.kerasを通じてアクセスする。多層パーセプトロンの設計には、tf.keras.Sequentialクラスを用いてモデルのインスタンスを生成する。その際、引数に複数のtf.keras.layers.Denseクラスを並べることで多層の全結合層を構成することができる。Denseクラスの引数には、ノード数、活性化関数activation、入力層においては入力の形input_shapeを指定する。活性化関数にシグモイド関数を用いる場合はactivation=’sigmoid’、ReLU関数は’relu’、ソフトマックス関数は’softmax’を指定する。次に、生成したインスタンスをcompile()モジュールを用いてコンパイルする。引数には、最適化手法optimizer、損失関数loss、評価指標metricsを指定する。そして、モデルを訓練するために、生成したインスタンスのfit()モジュールを用いる。引数には、訓練データ、エポック数epochs、エポックごとのステップ数(バッチ数)steps_per_epochを指定する。また、モデルの評価には、生成したインスタンスのevaluate()モジュールを引数に評価データを指定して用いる。本講義では、Irisデータセットを用いて花の品種を分類するタスクを例に、Pythonを用いて多層パーセプトロンを構築する方法を学ぶ。
② 畳み込みニューラルネットワークの実装も、基本的には多層パーセプトロンと同様の流れである。まず、tf.keras.Sequentialクラスを用いてモデルのインスタンスを生成する。層の数が多くなる場合は、生成したインスタンスのadd()モジュールを用いて、一層ずつ加えていくと分かりやすい。畳み込み層を加える場合は、add()モジュールの引数に、tf.keras.layers.Conv2Dクラスを指定する。その引数には、フィルタの数filters、カーネルのサイズkernel_size、パディングの方法padding、活性化関数activationなどを指定することができる。最大値プーリング層は、tf.keras.layers.MaxPool2Dクラスで、引数にプーリングのサイズpool_sizeを指定することができる。ドロップアウトも層として設定する形となり、tf.keras.layers.Dropoutクラスを指定する。Dropoutクラスの引数には、ドロップアウトの割合rateを指定する。また、畳み込み層やプーリング層から全結合層に接続する際には、2次元のノード構成を1次元に平坦化する必要があり、全結合層の1つ前にtf.keras.layers.Flattenクラスを追加する。畳み込みニューラルネットワークを設計した後は、生成したインスタンスのbuild()モジュールで、その引数にinput_shapeを指定して、入力層を構成する。そして、compile()モジュール、fit()モジュール、evaluate()モジュールを順に実行する。本講義では、MNISTデータセットを用いて手書き数字を分類するタスクを例に、Pythonを用いて畳み込みニューラルネットワークを構築する方法を学ぶ。
③ 再帰型ニューラルネットワークの実装も、基本的には多層パーセプトロンと同様の流れである。RNNを構成する層としては、基本的なリカレントエッジを持つ全結合リカレント層であるtf.keras.layers.SimpleRNNクラスや長短期記憶(LSTM)を実装するtf.keras.layers.LSTMクラス、LSTMのメモリセルを簡略化したゲート付き再帰ユニット(Gated Recurrent Unit: GRU)が候補となる。さらには、これらをtf.keras.layers.Bidirectionalクラスの引数に指定することで、入力シーケンスを順方向にも逆方向にも処理する機構も良く導入される。また、分類タスクなどを実行するためには、これらの層の後段にtf.keras.layers.Dense()を用いて全結合層を構成する。テキストデータをモデルに入力するためには、数値データに変換する必要がある。単語をタスクに有用な特徴ベクトルに変換する埋め込み(Embedding)は一般的に導入される処理である。埋め込みは表現学習の手法であり、tf.keras.layers.Embeddingクラスとして実装されている。本講義では、yfinanceライブラリを用いてYahoo Financeから株価データを取得し,株価の変化を予測するタスクを例に、Pythonを用いて再帰的ニューラルネットワークを構築する方法を学ぶ。
キーワード ① TensorFlow Keras API ② tf.keras.Sequentialクラス ③ Irisデータセット ④ MNISTデータセット ⑤ 埋め込み
コマの展開方法 社会人講師 AL ICT PowerPoint・Keynote 教科書
コマ用オリジナル配布資料 コマ用プリント配布資料 その他 該当なし
小テスト
復習・予習課題 【本コマの予習】本コマシラバスの各コマ主題細目についての細目レベルを熟読し、参考書籍やWebサイトを利用して、TensorFlow Keras APIについて確認しておくこと。第9回から第11回で学んだ多層パーセプトロン、畳み込みニューラルネットワーク、再帰型ニューラルネットワークを復習しておくこと。
【本コマの復習】①多層パーセプトロン、畳み込みニューラルネットワーク、再帰型ニューラルネットワークの実装について配布資料を再読しておくこと。②多層パーセプトロン、畳み込みニューラルネットワーク、再帰型ニューラルネットワークをTensorFlow Keras APIを用いて実装し、訓練および評価する方法についての配布資料を再読し、提示された課題に取り組み、完成させておくこと。③本コマシラバスの各コマ主題細目についての細目レベルを再確認しておくこと。④身の回りにある情報技術やサービスが、学んだ人工知能のどのモデルや機械学習のどの学習形態が導入されているか、さらには、今後どのように進化していくと想定されるかを考えてみること。超スマート社会で活動していくために、その発展に遅れを取らないように、AIの利活用に積極的に参加していくことが重要である。

14 生成AI 科目の中での位置付け 本科目は、環境問題や社会課題の解決に向け、環境データサイエンスの根幹となる人工知能について、その発展の変遷を学び、近年における進化を支える機械学習を理解し、実装する技術を修得することを目的とする。まず、第1回では、ガイダンスとして授業の進め方と、人工知能、機械学習、深層学習とは何かについて、その発展の変遷を追いながら把握する。第1回を含め第4回までは基礎編で、人工知能の利活用を確認し、その基盤である機械学習の学習形態と手順を理解する。第5回から第13回は実践編で、第8回までは代表的な機械学習モデルについて、第9回以降は代表的な深層学習モデルについて学び、Python言語を用いてそれぞれの実装を行う。第14回は、近年の動向を把握するために、生成AIに関する代表的なモデルについて学ぶ。第15回では、全ての講義内容をまとめ、復習し、これまでに機械学習を行ったデータもしくは自身で取得したデータに対して独自の機械学習を行い、人工知能の基礎知識とスキルの修得を確認する。このようなコマの流れの中の位置付けとして、第14回は、近年、進化が著しい生成AIについて学ぶ。
①Sebastian Raschka,Vahid Mirjalili,“Python機械学習プログラミング”,インプレス,2020,pp.527-534

②https://toukei-lab.com/diffusion-model

③Sebastian Raschka,Vahid Mirjalili,“Python機械学習プログラミング”,インプレス,2020,pp.522-525

①〜③教員が配布する資料
コマ主題細目 ① 敵対的生成ネットワーク ② 拡散モデル ③ Transformer
細目レベル ① 第13回までは、機械学習の従来からの主な対象タスクである分類と回帰を扱ってきた。近年、第1回と第2回で触れたように生成AIの進化が著しく、人工知能の利活用の範囲が文章や楽曲、絵画、動画の自動生成に広がっている。その起点となったモデルが、敵対的生成ネットワーク(Generative Adversarial Network: GAN)であり、深層学習において最も重要なブレイクスルーを起こした。生成モデルは一般に、標準正規分布からサンプリングされたランダムベクトル(潜在変数)から新しいデータを生成する。GANは、それを行うネットワークである生成器(generator)と、生成されたデータが訓練データのクラスに属するかどうか(本物かどうか)見分けるネットワークである識別器(discriminator)で構成され、この2つのネットワークを敵対的に訓練する。つまり、生成器は識別器を騙せるように、一方で識別器は見分ける精度を向上させるようにパラメータを更新する。本講義では、敵対的生成ネットワークの仕組みについて学ぶ。
② 敵対的学習には、学習の不安定さと多様性の欠如が懸念されていて、画像生成のタスクに対して、拡散モデルと呼ばれる生成モデルが台頭している。拡散モデルは、拡散過程(forward process)と逆拡散過程(reverse process)で構成される。拡散過程では、画像に正規分布に従うガウシアンノイズを段階的に加えていき、最終的にガウス分布を得る。この過程には学習パラメータがない。一方、逆拡散過程では、拡散過程を逆にたどり、ガウス分布からガウシアンノイズを取り除いていき、元の画像を復元することができるようにパラメータを最適化する。パラメータ推定には、後述するTransformerというアーキテクチャを利用することが多い。この拡散モデルだけでは生成したい画像を生成することができないため、文章から埋め込み(Embedding)表現を得て、それを条件付けて拡散モデルで画像を生成する手法が提案されていて、例えば、DALL・E2やStable Diffusion、Imagenなどのサービスが公開されている。本講義では、画像生成AIの基盤技術として導入されている拡散モデルの仕組みについて学ぶ。
③ 前述の生成モデルの種に属さないが、自然言語処理分野を席巻し、生成以外の様々なタスクで導入されているTransformerと呼ばれる新しいアーキテクチャがある。Transformerは、シーケンス内の重要な部分に注目することができるSelf-Attentionメカニズムに基づき、入力シーケンスと出力シーケンスの間の全体的な依存関係をモデル化する機構を持つ。また、エンコーダとデコーダで構成される。エンコーダは、例えば、英語の文章を埋め込み表現に変換する。一方、デコーダは、その変換された特徴ベクトルを、例えば、日本語の文章へと変換して翻訳を実現する。従来のシーケンスモデルでは、エンコーダやデコーダにRNNが採用されてきたが、RNNはデータを逐次処理するため速度が遅いことや、シーケンス上の比較的近い部分の依存関係をモデル化するといった弱点があった。それらは、Self-Attentionメカニズムを複数に拡張したMulti-Head Attentionによって解決される。それは、シーケンス全体において同時に複数の部分に注目することができる。Transformerは、これまでに様々な大規模言語モデルに導入されてきた。例えば、BERT(Bidirectional Encoder Representations from Transformers)やGPT(Generative Pre-trained Transformer)であり、ChatGPTなどのサービスが公開されている。本講義では、対話型AIの基盤技術として導入されているTransformerの仕組みについて学ぶ。
キーワード ① 敵対的生成ネットワーク(GAN) ② 拡散モデル ③ Transformer ④ Self-Attention ⑤ 対話型AI
コマの展開方法 社会人講師 AL ICT PowerPoint・Keynote 教科書
コマ用オリジナル配布資料 コマ用プリント配布資料 その他 該当なし
小テスト
復習・予習課題 【本コマの予習】本コマシラバスの各コマ主題細目についての細目レベルを熟読し、参考書籍やWebサイトを利用して、生成AIの概念およびChatGPTやStable Diffusionなどのサービスについて確認しておくこと。第2回で学んだ人工知能の利活用について復習しておくこと。
【本コマの復習】①敵対的生成ネットワーク(GAN)、拡散モデル、Transformerの仕組みについて配布資料を再読しておくこと。②ChatGPTやStable Diffusionなどの生成AIサービスを利用してみること。③本コマシラバスの各コマ主題細目についての細目レベルを再確認しておくこと。④身の回りにある情報技術やサービスが、学んだ人工知能のどのモデルや機械学習のどの学習形態が導入されているか、さらには、今後どのように進化していくと想定されるかを考えてみること。超スマート社会で活動していくために、その発展に遅れを取らないように、AIの利活用に積極的に参加していくことが重要である。

15 まとめ 科目の中での位置付け 本科目は、環境問題や社会課題の解決に向け、環境データサイエンスの根幹となる人工知能について、その発展の変遷を学び、近年における進化を支える機械学習を理解し、実装する技術を修得することを目的とする。まず、第1回では、ガイダンスとして授業の進め方と、人工知能、機械学習、深層学習とは何かについて、その発展の変遷を追いながら把握する。第1回を含め第4回までは基礎編で、人工知能の利活用を確認し、その基盤である機械学習の学習形態と手順を理解する。第5回から第13回は実践編で、第8回までは代表的な機械学習モデルについて、第9回以降は代表的な深層学習モデルについて学び、Python言語を用いてそれぞれの実装を行う。第14回は、近年の動向を把握するために、生成AIに関する代表的なモデルについて学ぶ。このようなコマの流れで人工知能と機械学習についての学びを進め、今回の第15回では、全ての講義内容をまとめ、復習し、これまでに機械学習を行ったデータもしくは自身で取得したデータに対して独自の機械学習を行い、人工知能の基礎知識とスキルの修得を確認する。
①〜③教員が配布する資料
コマ主題細目 ① 基礎編と生成AIのまとめ ② 実践編(機械学習)のまとめ ③ 実践編(深層学習)のまとめ
細目レベル ① 第1回から第4回の基礎編と第14回で扱った生成AIについてまとめる。第1回では、人工知能の発展の変遷を学び、その倫理的課題を含む諸問題を理解し、近年の動向を追った。また、機械学習の知識と技術の修得に向けた導入として機械学習の概念および人工知能の知識とAIプログラミング技術の修得に向けた導入として深層学習の概念を学んだ。第2回では、人工知能を利活用する目的、一連の事業活動における人工知能の利活用を理解し、人工知能を利活用した新しいビジネスモデルを把握した。第3回では、人工知能の基盤である機械学習の学習形態として、教師あり学習と教師なし学習、そして、教師あり学習における訓練データ不足に対処するための新しい機械学習技術について学んだ。第4回では、機械学習の手順として、データの分割、学習、予測、モデルのチューニング、評価の方法と、評価の指標を理解した。そして、第14回では、近年の動向を把握するために、進化が著しい生成AIに関する代表的なモデルとして、敵対的生成ネットワーク、拡散モデル、Transformerの仕組みを学んだ。
② 第5回から第13回の実践編における、第8回までで代表的な機械学習モデルとして扱ったランダムフォレスト、k近傍法、サポートベクターマシン、多項式回帰、ランダムフォレスト回帰、サポートベクター回帰、ロジスティック回帰についてまとめる。第5回では、まず、ランダムフォレストの基盤である決定木の概念と特徴を理解し、次いで、ランダムフォレストの仕組みと特徴を学んだ。第6回では、k近傍法の仕組みを学び、訓練した分類モデルの決定境界を訓練データの散布図上に描画して確認した。第7回では、サポートベクターマシンの仕組みと特徴、さらには、カーネルトリックについて学んだ。第8回では、代表的な回帰モデルとして、多項式回帰、ランダムフォレスト回帰、サポートベクター回帰、ロジスティック回帰、さらには、正則化を導入した回帰モデルとして、Lasso回帰とRidge回帰を学んだ。また、各回では、それぞれの機械学習モデルをPythonを用いて実装する方法を学び、実行した。
③ 第5回から第13回の実践編における、第9回以降で代表的な深層学習モデルとして扱ったニューラルネットワーク、多層パーセプトロン、畳み込みニューラルネットワーク、再帰型ニューラルネットワークおよび、それらを実装するAIプログラミングについてまとめる。第9回では、ニューラルネットワークの基本原理および、最も基本的な深層ニューラルネットワークである多層パーセプトロンと深層ニューラルネットワークを支える技術を学んだ。第10回では、畳み込みニューラルネットワークの基本原理とそれを支える技術、さらには、機械学習のための訓練データを加工して水増しするデータ拡張の方法を学んだ。第11回では、系列データのモデル化に利用される再帰型ニューラルネットワークの基本原理と長短期記憶モデルについて学んだ。第12回では、深層学習の実装に必要なツールとして、GPU、クラウドコンピューティング、深層学習フレームワークについて学び、履修生各自のノートPCで深層学習の開発環境をセットアップした。第13回では、多層パーセプトロン、畳み込みニューラルネットワーク、再帰型ニューラルネットワークをPythonを用いて実装する方法を学び、実行した。
キーワード ① 人工知能 ② 機械学習 ③ 深層学習 ④ ニューラルネットワーク ⑤ AIプログラミング
コマの展開方法 社会人講師 AL ICT PowerPoint・Keynote 教科書
コマ用オリジナル配布資料 コマ用プリント配布資料 その他 該当なし
小テスト
復習・予習課題 【本コマの予習】本コマシラバスの各コマ主題細目についての細目レベルおよび履修判定指標を熟読し、第14回目までの配布資料を見直しておくこと。
【本コマの復習】①第14回目までの配布資料およびコマシラバスの全てのコマ主題細目についての細目レベルを再読すること。②第14回目までに提示された課題を完成させること。③履修判定指標を再確認すること。④身の回りにある情報技術やサービスが、学んだ人工知能のどのモデルや機械学習のどの学習形態が導入されているか、さらには、今後どのように進化していくと想定されるかを考えてみること。超スマート社会で活動していくために、その発展に遅れを取らないように、AIの利活用に積極的に参加していくことが重要である。

履修判定指標
履修指標履修指標の水準キーワード配点関連回
人工知能の基礎知識と発展の変遷の理解 人工知能は、環境データサイエンスの根幹となる技術であり、その基礎知識と発展の変遷を理解できていることが重要であるため、次の項目に基づいて確認する。1.特化型人工知能(弱い人工知能)の性質、2.汎用人工知能(強い人工知能)の性質、3.フレーム問題の概念、4.敵対的事例の問題、5.説明可能なAIとその必要性、6.機械学習の概念、7.予測、8.過剰適合、9.深層学習の概念、10.第3次AIブーム、11.生成AIの代表的なモデルとサービス 特化型人工知能(弱い人工知能)、汎用人工知能(強い人工知能)、フレーム問題、敵対的事例、説明可能なAI、機械学習、予測、過剰適合、深層学習、第3次AIブーム、生成AI、敵対的生成ネットワーク、拡散モデル、Transformer 20 1, 14
人工知能の利活用の理解 環境問題や社会課題を解決するために、人工知能の利活用の目的や具体例を把握していることが重要である。そこで、人工知能の主な活用目的、人工知能を利活用した一連の事業活動、さらには新しいビジネスモデルを理解することができているかどうかを次の項目に基づいて確認する。1.仮説検証、知識発見、原因究明、計画策定、判断支援、活動代替、新規作成の概要とそれぞれの例、2.シェアリングエコノミーの概念、3.レコメンデーションの概念、4.サーベイランスの概念、5.DXの概念 仮説検証、知識発見、原因究明、計画策定、判断支援、活動代替、新規作成、研究開発、購買物流・調達、製造、出荷物流、マーケティング、販売、サービス、シェアリングエコノミー、レコメンデーション、サーベイランスの概念、DX 20 2
機械学習の学習形態と手順の理解 人工知能の基盤である機械学習を環境問題や社会課題に適用する上で、その学習の形態と手順を理解できていることが重要であるため、次の項目に基づいて確認する。1.教師あり学習の概念、2.教師あり学習に属する主な手法、3.教師なし学習の概念、4.教師なし学習に属する主な手法、5.半教師あり学習、弱教師あり学習、自己教師あり学習の概念とそれぞれの違い、6.能動学習の概念、7.転移学習の概念、8.データ分割、学習、予測、チューニング、評価の概要と作法、9.評価指標の定義と特徴 教師あり学習、教師なし学習、半教師あり学習、弱教師あり学習、自己教師あり学習、能動学習、転移学習、訓練データ、評価データ、検証データ、テストデータ、クロスバリデーション、適合、ハイパーパラメータ、予測、チューニング、平均二乗誤差、平均二乗平方根誤差、平均絶対誤差、正解率、再現率、適合率、F値、真陰性、真陽性、偽陰性、偽陽性 20 3, 4
代表的な機械学習モデルの基本原理の理解 機械学習を行う上で、代表的なモデルの基本原理や訓練方法、実装方法を理解できていることが重要であるため、次の項目に基づいて確認する。1.決定木の概念、2.ランダムフォレストの仕組みと特徴、3.k近傍法の仕組みと特徴、4.サポートベクターマシンの仕組みと特徴、5.カーネルトリックの概念と代表的なカーネル、6.多項式回帰、ランダムフォレスト回帰、サポートベクター回帰、ロジスティック回帰の概念、7.Lasso回帰とRidge回帰による正則化の仕組み、8.分類モデルの決定境界の分析 決定木、ランダムフォレスト、k近傍法、サポートベクターマシン、カーネルトリック、ガウシアンカーネル、多項式カーネル、シグモイドカーネル、多項式回帰、ランダムフォレスト回帰、サポートベクター回帰、ロジスティック回帰、Lasso回帰、Ridge回帰、決定境界 20 5, 6, 7, 8
代表的な深層学習モデルの基本原理とAIプログラミングの理解 深層学習を行う上で、代表的なモデルの基本原理や訓練方法、実装方法を理解できていることが重要であるため、次の項目に基づいて確認する。1.ニューラルネットワークの基本原理、2.ニューラルネットワークの訓練方法、3.多層パーセプトロンの構造、4.畳み込みニューラルネットワークの基本原理、5.シーケンスモデルの概念、6.再帰型ニューラルネットワークの基本原理、7.長短期記憶(LSTM)モデルの基本原理、8.データ拡張の方法 ニューラルネットワーク、隠れ層、活性化関数、勾配降下法、勾配消失問題、誤差逆伝播法、エポック、バッチ、多層パーセプトロン、自己符号化器(オートエンコーダ)、畳み込みニューラルネットワーク、プーリング、パディング、ドロップアウト、シーケンスモデル、再帰型ニューラルネットワーク、リカレントエッジ、長短期記憶(LSTM)モデル、メモリセル、ゲート、GPU、クラウドコンピューティング、深層学習フレームワーク、埋め込み(Embedding) 20 9, 10, 11, 12, 13
評価方法 期末試験(100%)により行う。
評価基準 評語
    学習目標をほぼ完全に達成している・・・・・・・・・・・・・ S (100~90点)
    学習目標を相応に達成している・・・・・・・・・・・・・・・ A (89~80点)
    学習目標を相応に達成しているが不十分な点がある・・・・・・ B (79~70点)
    学習目標の最低限は満たしている・・・・・・・・・・・・・・ C (69~60点)
    学習目標の最低限を満たしていない・・・・・・・・・・・・・ D (60点未満)
教科書 特に既成の教科書を使わない。資料を配布する。
参考文献 1.北川 源四郎,竹村 彰通 編,“教養としてのデータサイエンス”,講談社,2021,2.有賀 友紀,大橋 俊介,“RとPythonで学ぶ実践的データサイエンス&機械学習”,技術評論社,2019,3.チーム・カルポ,“Python統計分析&機械学習マスタリングハンドブック”,秀和システム,2023,4.Sebastian Raschka,Vahid Mirjalili,“Python機械学習プログラミング”,インプレス,2020,5.NVIDIA グラフィックスカード,https://www.nvidia.com/ja-jp/geforce/graphics-cards/,6.Google Cloud,https://cloud.google.com/?hl=ja,7.Microsoft Azure,https://azure.microsoft.com/ja-jp,8.Amazon Web Services,https://aws.amazon.com/jp/
実験・実習・教材費 特になし。