講義内容詳細:情報テクノロジー輪講Ⅰ

戻る
年度/Academic Year 2021
授業科目名/Course Title (Japanese) 情報テクノロジー輪講Ⅰ
英文科目名/Course Title (English) Seminar in Information Technology Ⅰ
学期/Semester 前期 単位/Credits 1
教員名/Instructor (Japanese) 大原 剛三
英文氏名/Instructor (English) OOHARA Kouzou

講義概要/Course description
Recently, a huge amount of electronic data are flooding in various domains due to the synergistic effect of the rapid growth of high-speed information communication networks, improvement of the performance and functionality of computer systems, and increase of memory density. Knowledge discovery from database or data mining is a discipline that intends to discover practically useful knowledge or rules from such a huge amount data. To automatically or semi-automatically do this task by using computers, it is necessary to utilize basic techniques in related disciplines including machine learning, probability statistics, and database, as well as the domain knowledge in a target domain. An expert who engages in such analytical tasks is called the data scientist. In this lecture in turn, you learn about basic techniques of data processing and analysis required for a data scientist with sample programs and libraries written in Python.

情報通信ネットワークの急速な普及と計算機システムの高性能化・高機能化、記憶媒体の高密度化などの相乗効果により、今日、大量の電子化データが様々な分野で氾濫している。そのような大量の電子化データから実際に使える有用な知識、もしくは法則性を見つけ出そうとする学問がデータマイニングである。データマイニングでは、人工知能における機械学習、確率・統計、データベース技術など複数の関連分野における基礎技術を取り入れ、また、対象分野における制約・領域知識を活用し、膨大なデータ、多様なデータから計算機を用いて自動的、もしくは半自動的に知識を発見することを試みる。そのような技能をもつ技術者はデータサイエンティストと呼ばれる。本輪講では、データサイエンティストが知っておくべき基本的なデータ処理・分析技術についてPythonによって書かれた実際のプログラムやライブラリの利用を交えて学ぶ。
達成目標/Course objectives
This course aims at learning basic techniques of data processing and analysis for a data scientist and practically applying those techniques to a small problem by using a programming language Python. Besides, it is required to learn basic skills necessary for research activities such as the way of gathering information about given topics, the way of making a good presentation material, and the way of making a good presentation.

到達目標:データサイエンティストにとって基礎的なデータ処理・分析方法を学ぶとともに、Pythonと呼ばれる言語を用いてその方法論を実践する。また、輪講を通して、与えられたトピックに対する情報収集方法、発表資料のまとめ方、および発表方法などの研究活動の基本を習得する。
授業計画/Lecture plan
1
授業計画/Class [Orientation] explanation of this course
本輪講の進め方についてのガイダンス。(対面での実施)
事前学習/Preparation Review of programming
事後学習/Reviewing Read the textbook
2
授業計画/Class [Introduction of Python] preparation of the programming environment for Python, and leaning its basic operations
Pythonの開発環境の準備とプログラミングの基本について学ぶ。
事前学習/Preparation Read the corresponding chapters of the textbook and implement sample codes.
事後学習/Reviewing Review of Python programs
3
授業計画/Class [Visualizing Data and Linear Algebra] bar charts, line charts, and scatterplots
棒グラフ、折れ線グラフ、散布図などの基本的なデータの可視化方法を学ぶ。
事前学習/Preparation Read the corresponding chapters of the textbook and implement sample codes.
事後学習/Reviewing Review of Python programs
4
授業計画/Class [Statistics] fundamental statistics, correlation, and causation 
基本統計量、相関関係,相関関係と因果関係の違いなどについて学ぶ。
事前学習/Preparation Read the corresponding chapters of the textbook and implement sample codes.
事後学習/Reviewing Review of Python programs
5
授業計画/Class [Probability] basics of probability including conditional probability, Bayes's theorem, and normal distribution
条件付き確率、ベイズの定理、正規分布などの確率の基本について学ぶ。
事前学習/Preparation Read the corresponding chapter of the textbook and implement sample codes.
事後学習/Reviewing Review of Python programs
6
授業計画/Class [Working with Data] data cleaning and dimensionality reduction
データクリーニング、次元圧縮などについて学ぶ。
事前学習/Preparation Read the corresponding chapter of the textbook and implement sample codes.
事後学習/Reviewing Review of Python programs
7
授業計画/Class [Machine Learning] the overview of machine learning
機械学習の概要、過学習、属性選択などについて学ぶ。
事前学習/Preparation Read the corresponding chapter of the textbook and implement sample codes.
事後学習/Reviewing Review of Python programs
8
授業計画/Class [k-Nearest Neighbors] k-nearest neighbors and the curse of dimensionality
k-最近傍法、および高次元データの扱いなどについて学ぶ。
事前学習/Preparation Read the corresponding chapter of the textbook and implement sample codes.
事後学習/Reviewing Review of Python programs
9
授業計画/Class [Naive Bayes] learning Naive Bayes through spam filter
スパムフィルタを例題としてナイーブベイズ分類モデルについて学ぶ。
事前学習/Preparation Read the corresponding chapter of the textbook and implement sample codes.
事後学習/Reviewing Review of Python programs
10
授業計画/Class [Simple Linear Regression] simple linear regression model, gradient descent, and maximum likelihood estimation
単回帰分析、およびそれに関連する勾配降下法、最尤推定について学ぶ。
事前学習/Preparation Read the corresponding chapter of the textbook and implement sample codes.
事後学習/Reviewing Review of Python programs
11
授業計画/Class [Multiple Regression] multiple regression model, bootstrap, and regularization
重回帰分析、およびブートストラップ法、正則化の概要について学ぶ。
事前学習/Preparation Read the corresponding chapter of the textbook and implement sample codes.
事後学習/Reviewing Review of Python programs
12
授業計画/Class [Logistic Regression] logistic function, logistic regression model, and support vector machine
ロジスティック関数、ロジスティック回帰、およびサポートベクターマシンの概要について学ぶ。
事前学習/Preparation Read the corresponding chapter of the textbook and implement sample codes.
事後学習/Reviewing Review of Python programs
13
授業計画/Class [Decision Tree] entropy, decision tree, and random forest 
情報量に基づく決定木の構築、およびその応用であるランダムフォレストについて学ぶ。
事前学習/Preparation Read the corresponding chapter of the textbook and implement sample codes.
事後学習/Reviewing Review of Python programs
14
授業計画/Class [Neural Networks] feed-forward neural networks and backpropagation
フィードフォワード型ニューラルネットワークと誤差逆伝搬法の概要について学ぶ。
事前学習/Preparation Read the corresponding chapter of the textbook and implement sample codes.
事後学習/Reviewing Review of Python programs
15
授業計画/Class [Clustering] k-means and hierarchical clustering
非階層的なクラスタリング手法であるk-means法と階層的クラスタリングについて学ぶ。
事前学習/Preparation Read the corresponding chapter of the textbook and implement sample codes.
事後学習/Reviewing Review of Python programs
授業方法/Method of instruction
Each student is assigned a part of the textbook, and required to make a presentation about its content with the explanation of sample programs included in the part. Students who are not a presenter have to join the Q&A session and the discussion after the presentation, and are required to implement and test the sample programs on their own laptop during the class.

各自、割り当てられたパートに対してテキストに従い方法論をプレゼンテーションするとともに、Pythonによる実践についても説明をする。発表者以外の受講者は、プレゼンテーション後の質疑応答・討議に参加するとともに、授業中に実際に自身のノートPC上でサンプルコードを動かす。

成績評価方法/Evaluation
1 100% The final score of this course is determined based on the quality of the presentation material (40%) and the presentation itself (40%), and the activity in questions and answers (20%). Basically, it is required to attend all the classes to pass this course.

発表資料の内容(40%)、発表方法(40%)、および質疑応答への参加状況(20%)を総合して評価する。原則すべての回に出席することが単位認定の前提条件である。
教科書/Textbooks
 著者名
Author
タイトル
Title
出版社
Publisher
出版年
Published year
1 Joel Grus Data science from scratch, 2nd edition O'REILLY 2019