福岡県立城南高等学校

スーパーサイエンスハイスクール

   ホーム  >  スーパーサイエンスハイスクール [ 理数DS・SS情報統計 ]

令和5年度 理数DS(データサイエンス)について

あらゆる領域において導入が進むAI(人工知能)は、私たちの生活に必要不可欠な存在となりつつあります。業務効率化(業務負担削減)や生産性向上、そして人手不足解消を実現できるというメリットもあり、AIの導入は加速していくことが予測されます。このようなAIを取り巻く状況の中で、注目を集めている技術が機械学習やディープラーニングを活用した「画像認識」です。

 理数DSでは、「画像認識」を行っています。Pythonのデータライブラリである「scikit-learn」を利用し、手書き数字のデータセットを読み込み、画像認識を行うことで、手書き数字の判定を行うというものです。また、データセットからダウンロードした手書き数字のデータを学習用のデータとして活用し、AIに学習させます。その後、自分達で書いた手書き数字を画像に変換し、正しく判定ができるか検証していきます。もちろん、機械学習ですので、最初は上手くいかず、悩んでいる生徒もいましたが、プログラムのコードを改良することなど、粘り強く機械学習に取り組んでくれています。今は、多くの生徒が互いに協力し合いながら、機械学習を通して、コンピュータを動かすことの楽しさや面白さを感じてくれています。

 世の中には、人間が一生かけても処理ができないビッグデータが多く存在しますが、それらを利用して、分析・実験を行いながら自分自身の未来を自らの手で切り開き、問題解決に進んで立ち向かうことができる人材の育成を目指し、AIの活用方法について楽しく学んでいます。


                            

               プログラムを実行している様子                         課題について話し合っている様子
















令和4年度 1年理数DS(データサイエンス)について

今や生活の一部となった顔検出技術。顔検出とは、カメラが取得した画像や映像から人の顔を探し出す技術です。検出した顔画像は、様々な用途に使われています。例えばお店に入るとき、入口に設置されたカメラ付きの小型コンピュータに顔を近づけると、顔を検出し体温を計測してくれます。コロナ禍で、顔検出を利用したこのシステムは急速に広まっていきました。「顔」を使った技術・サービスは今後も広がりを見せることが予想されます。

 2年の理数DSでは、「顔検出」を行いました。画像の中から人の正面顔を探すアルゴリズムとしてHaar-like特徴量という矩形領域の明暗差から求める特徴量を用いました。例えば、目元は暗く、頬は明るいといった矩形の中の明暗差の特徴を組み合わせていきます。得られた顔の特徴量を識別するカスケード分類器を使い、顔を検出していきます。

 プログラミング言語には、Pythonを用いました。人の正面顔を学習したHaar-like特徴量カスケード分類器は、画像処理ライブラリOpenCVが提供しているものをGithubからダウンロードして、顔検出プログラムを実行しました。また、自分たちの顔やインターネットから気になる画像に変更したり、瞳検出に書き換え、ファイルへの書き出し、人だけでなく猫の顔を検出する課題に取り組みました。実習中はエラーメッセージに頭を悩ませたり、解消したエラーの解決方法を説明する生徒や理解を深めるため、さらに調べたり話し合いながら協力して課題を進めて行く生徒の姿が見られました。


             

  顔検出プログラムを実行している様子   課題について話し合っている様子


























理数DS(データサイエンス)について

自分の未来を知りたいと思ったことはありませんか?『未来を予測する最良の方法は、未来を創ることだ』という有名な言葉があるように、大抵のことは必要な努力を重ねることができれば個人の未来はコントロールできます。しかし、自然界や私たちの身の回りにある不確実性には人間が予測できないことがたくさんあります。気象、寿命、犯罪、漁獲量など複雑すぎて人間には予測は難しいといわれてきました。この不確実性を克服するために活用されているのがAI(人工知能)です。例えば、人体の詳細なデータを入力することで可能な寿命の予測。犯罪が起こる時間帯と場所を予測する犯罪予測。海水温などから特定の生物の生息域をリアルタイムで予測することで、漁獲量をコントロールすることなどが可能になり始めています。

 第2学年の「理数DS」では、Pythonのデータ解析ライブラリ「Pandas」を利用し,天気予報に取り組んでいます。まずは、過去の気象庁のデータから、気温の予測を行いました。それぞれ自分の気になる地域のデータをダウンロードしてAIに分析させます。人間が一生かけても処理できないビッグデータが世界にはたくさん存在します。そのデータをscikit-learnLinearRegressionクラスを利用して,直線回帰分析を行い,気温予測ができました。理数DSでは自分の未来をより豊かなものに変えていくことができる人材を目指して、AIの活用方法を楽しく学んでいます。 


          

  過去9年分のデータを利用した気温予測   プログラムのエラーを探している様子   



◆1年理数DS(データサイエンス)

3学期 機械学習「回帰」

 回帰では、ブドウの葉の面積と気孔の数のデータから一次関数(y=ax+b)の 式を作成し、葉の面積が 30 ㎜2の時の気孔の数を予測するプログラムを作成し ました。この応用として気温とアイスクリームの支出金額から販売数の予測を行 うプログラムの作成課題に挑戦しました。また,回帰の活用事例としてオートバ イの衝突実験のデータを見ました。(理数コース2期生である電気通信大学の川 野秀一先生からご指導いただきました。)

  生徒たちは、うまくいかないと「なんで~!エラーが…」「どこが間違ってい るのかわからない」「これで合っているのかな…」と頭を悩ませ、互いに教え合 いながら、みんなでデバッグ(エラーを修正する作業)を行っていました。エラ ーが解消されたり、結果が得られたりすると「できた!」と嬉しそうな声が上が っていました。 


<非線形回帰について> オートバイ衝突実験データ
 回帰の物理分野での利用例としてオートバイ衝突実験データを見ました。現象とデータの対応を指で追い,データを式として表現できるとどのようなことに活用できるのか考えました。
   


<発展課題:気温とアイスクリームの支出金額>

 回帰は販売予測に用いられる手法の一つです。そこで,気温とアイスクリームの支出金額のデータを利用するプログラムへの書き換えを行いました。プログラムで求めた一次関数を利用して,気温からアイスクリームの支出金額を予測。予測ができているかどうかは,プロットした回帰直線を見て判断するのですが,「できた!」「1.1円!?なんか違う…」など様々な声が上がっていました。


<データ出典>気象庁,一般社団法人日本アイスクリーム協会



<参考文献>
 『パソコンで簡単!すぐできる生物統計―統計学の考え方から統計ソフトSPSSの使い方まで』
  Roland Ennos (著), 打波 守 (翻訳), 野地 澄晴 (翻訳),発売日 2007/8/1,出版社 羊土社 

2学期 プログラミング・機械学習

 2学期はプログラミングの基本文法と機械学習の中の『数値分類』を行いました。『数値分類』では3種類のアヤメのデータをプログラムに学習させ,まだ学習を行っていないデータに対して,3種類のアヤメのうちどのデータなのか判定するプログラムを実行しました。また,発展課題として,野球の球種分類のプログラムへの書き換えを行いました。


<発展課題①:分類アルゴリズムの変更> サポートベクタマシン ⇒ k-近傍法

 課題研究へ発展させることを考え,分類のアルゴリズムの変更を課題としました。サポートベクタマシンをk-近傍法へ書き換えるためには何行目を変更すればよいかという課題です。この課題の狙いは,アルゴリズムを変更することができることを知ること。課題研究での分類を行う場合に複数のアルゴリズムを比較できるようになることを狙いとしています。


<発展課題②:データの変更> アヤメのデータ ⇒ 野球の球種

 授業で行ったアヤメのデータを基に,課題研究で自ら収集するデータを利用するためにデータを変更した場合,どのようにプログラムをどのように書き換えれば利用できるのかを課題とした。データは,田中将大投手の「フォーシーム」・「シンカー」・「スプリッター」の投球データを利用。

(データ出典:BrooksBaseball.net)

 本校の野球部がサイバーメトリクスに力を入れているため,これを機に研究したいと思ってくれる生徒が出ることを期待しています。





<アヤメの品種分類プログラムの作成>

 今回は,分類のアルゴリズム(※)にSVC(非線形も分類できるサポートベクタマシン)というモデルを利用しました。入力して,正答率の結果が出ると「なにこれ?合ってるの????」という声が上がっていました。初めて動かす機械学習のプログラムにこれで完成しているのか判断がつかず,戸惑っているようでした。そこで,学習していないデータを与えたときに品種名を結果として返すプログラムを追加し実行を行いました。実行結果に「setosa」と表示されると,データから品種分類できていることが実感できたようでした。(※アルゴリズム…問題を解決するための処理手順のこと。)

 

プログラムを入力                 課題に取り組む様子


※実行環境の変更について

 令和2年度は『Jupyter Notebook』をプログラムの実行環境として行っていましたが,エディタを『Spyder』に戻しました。ネットワークドライブへのパスの指定が行えない,実行に時間がかかる,実行がうまくいかないなどの実習する上でプログラム自体のエラー以外で時間を取られることが多かったためです。Jupyter Notebook』はコードセル内にプログラムを記述するため,過去の実習を振り返ることができたり,pdfファイルに変換することができるので,学習の記録に適しているのではないかと採用したのですが,現在の実習環境とは相性が悪かったです。

 『Spyder』はエラー箇所が生徒にもわかりやすく,ネットワークドライブで個人フォルダを管理している場合でも,ファイルの保存にも苦労することが少ないかと思います。


<データセットのダウンロードと情報の視覚化>

「fisher」のアヤメデータのダウンロードから行いました。ブラウザで「The iris dataset github」と入力し,検索をかけると出てきます。このデータには,「setosa」,「versicolor」,「virginica」という3種類のアヤメの花びらの長さと幅,がく片の長さと幅の4つの特徴量がそれぞれ50個入っています。


 ダウンロードしたテキストファイルをプログラムで使用するCSVファイルにして保存しました。

 また,ダウンロードしたデータから,特徴量を組み合わせて散布図にすることで,どんな分布なのか,分類できそうなのかを可視化して確認をしました。特徴量の組合せによる分布の違いに,「全然違う!」という声があがっていました。また,直線を引いて分類できそうか問いかけると,同じ特徴量の組合せでも人それぞれ直線の引き方に違いがあり,どのように分類する基準を決めるのかに興味を持ったようでした。


 

      Excelでのプロット方法を確認               自らデータを組み合わせてプロット       


 

<プログラムの実行と基本文法>

 1学期に学習したアルゴリズムの基本構造をプログラムで実行するところから始めました。初めてのプログラミングに悪戦苦闘しています。エラーメッセージを見ては,どこが間違っているのか懸命にプログラムの修正(デバッグ)を行っていました。

 

教えあいながら理解を深めていきます

 

  数学科の先生からのアドバイス              プログラムを入力している様子    


 情報は全ての授業を情報科教員と数学科教員の2名(TeamTeaching)で行うため,実習中のつまづきにも個別に対応しています。


<プログラムの実行環境について>

 プログラムの開発環境の準備には『Anaconda』をインストールしました。昨年度は実行環境(エディタ)に『Spyder』を使用しましたが,今年度は『Jupyter Notebook』を利用しています。生徒にとって利用しやすく,教員にとって指導しやすい実行環境はどのような環境なのか模索しています。


<Pythonでのプログラミングについて>

 本校では,これまでVBAでのプログラミングを長年行ってきましたが,昨年度からPythonに変更しました(昨年度はSS情報統計2年生で実施)。Pythonは書きやすく,読みやすい言語であり,ライブラリの活用により複雑な課題に対しても容易にプログラムを記述することができるという特徴があるからです。理数DSでは,Pythonで人工知能の基礎技術である機械学習に取り組んでいきます。生徒達が機械学習を利用した問題解決に興味・関心が持てるよう取り組んでいきたいと考えています。


<情報科準備室のフローチャート>

 理数クラスだけでなく,生徒達にフローチャートが身近になるようにと,情報科準備室での教員の呼び出し手順をフローチャートにして張り出しています。

 用件を伝えに来た生徒が「えーっと…」とフローチャートを確認している様子が準備室の中に伝わってきます。








1学期 アルゴリズム

あなたは、クラスの男女の人数をそれぞれ求める際、どのようにして求めますか?あなたの考えをコンピュータに伝えるには、普段何気なく行っている思考や判断(男女の判断、計算、計算結果の記憶など)をコンピュータがわかるように、一つ一つの手順として表現することになります。このように課題を解決するための手順を『アルゴリズム』といいます。

1学期は、自らの考えを整理し、表現する力を高めるため、アルゴリズムを中心に学習を行いました。アルゴリズムを記号(フローチャート)で表現する方法や、値の変化を追って正しい結果が求められるか確認する方法などを学びました。最初は、普段何気なく行っていることを一つ一つの記号にして整理することに苦戦しているようでした。また、考え方次第で答えが一つでないことに戸惑っていましたが、互いの考えを説明しあう中で、「そういうことか!」と相手の考えに納得する声が上がっていました。

2学期から、プログラミングが始まります。コンピュータに自らの考えを実行させるための基礎を学んでいきます。

  

アルゴリズムの課題に取り組む様子


◆1年SS情報統計◆

2学期 コンピュータによるデータの分析

 2学期は数学Ⅰで学んだ『データの分析』をもとに,コンピュータを用いたデータの分析を行います。

<グラフの特徴と選択
 データを適切に表現するグラフはどのグラフなのかを実習を通して考えました。データをみて,どのグラフで表現するのか,タイトルを何にするのか,必要なグラフ要素はなんなのかを考えてグラフの作成を行いました。どのグラフを選択するかプレビューを見ながら悩んでみたり,自分が作成したグラフと周りの生徒が作成したグラフを見て,あれこれと意見を交わしていました。どのグラフを選択したのか尋ねると,同じデータでも複数の意見が出ました。表現したいことによって,選択するグラフが異なるなど新しい発見があったようです。


1学期 表計算ソフトウェアの実習

 1学期は,表計算ソフトウェアの基本的な使い方の実習を行いました。度数分布表の作成や二次関数のシミュレーション,自由落下運動のデータから重力加速度を求める実習を通して,数学や理科での表計算ソフトウェアの活用方法について学びました。






◆2年SS情報統計◆

プレゼンテーション実習

 プレゼンテーション実習を行いました。今回の実習では1人1台タブレットが配布されることを想定して,タブレットアプリを提案する『説得』を目的としたプレゼンテーションを行いました。


<良いプレゼンテーションとは> KJ法による意見交換

 グループ発表や代表者の発表を通して気づいた,良いプレゼンテーションの特徴についてKJ法で意見を出し合いました。
 KJ法では,それぞれが気づいたことを付箋に書き出し,意見を言いながら付箋を貼って近い内容をグループ化していきます。付箋がまとまる部分もあれば,グループに入らない付箋もあります。集中する意見だけでなく,グループに入らない意見も新たな気づきとして,良い振り返りができました。

 
気づいたことを付箋に書き出す                書き出した項目をグループ化
 
班でまとめた内容を発表

<グループ代表者によるクラス発表会>

 各グループから選出された代表者によるクラス発表会を行いました。代表者の工夫を凝らした発表に,盛り上がったりと楽しみながらも感心した様子でした。代表者のプレゼンテーションでは,自らアンケートで収集したデータだけでなく,自ら実験した値を提示したり,インターネットに公開されている統計データと比較したり,SDGsの課題解決につながるとの提案などを行っており,社会的な課題に向き合う姿勢が養われてるのを感じました。授業後,「ちょっとした課題研究ですよね!」と声をかけてくれる生徒の言葉が印象的でした。

 
 
クラス発表会の様子

<プレゼンテーションのグループ発表>

 例年,パソコン教室のみで実施していたグループ発表会ですが,コロナ禍の影響もあり,数学科の先生方のご協力を得て,2教室に分かれて実施しました。これが実現できたのは同窓会から「感染症対策用」にノートパソコン一式を10セット寄贈いただいたおかげです。Microsoft社のTeamsを活用したアンケート実習をいれたことで,全体的に収集したデータを根拠にした説得力のあるプレゼンテーションとなっていました。授業中はもちろんのこと,放課後や昼休みも熱心に準備してきた成果だと思います。


 
パソコン教室での発表会の様子
 
同窓会のパソコンを利用した発表会

 

<プレゼンテーション資料の作成>

 それぞれが作成したプランニングシートにしたがって,『PowerPoint』のスライドを作成します。タイトル一つとっても,それぞれの表現力が問われます。また,アンケート結果を表現するか,1年生の総合的な論証を踏まえてどのような展開にするかなど,悩みながらの作業が続きます。「みんなと同じようなデザインテンプレートになりそうでつまらない!」や「人とは違った提案の仕方をしたい!」など様々な声も聞こえてきます。が,ひとたび考えがまとまると教室中が静まり返り,キーボードとマウスの音だけが響く,生徒の集中力に驚かされてます。

 

     アンケートの結果を確認し,プランを立てる          プレゼンテーション資料を作成


 

グラフやスマートアートなど様々なオブジェクトを利用して工夫を凝らしています


<オンラインでのアンケート調査>

 自らの主張したいことに対するデータを収集します。インターネットなどでデータが見つからない場合やクラスの意見を集めたい場合はアンケート調査を行います。今回は,Microsoft 社のTeamsを利用してオンラインでアンケート調査を行っています。


  

 回答を投稿        アンケート投稿画面       アンケートの入力


 アンケート調査では,さまざまな留意点があります。例えば,『回答を誘導するような文言を避ける』,『選択肢に重複や漏れがないようにする』などです。生徒たちは,『これは誘導になるか』や『自転車通学者だけに回答してもらいたい場合はどうしよう』など様々なことを考えながら,アンケートを投稿しています。アンケートに回答する中で,「この選択肢のどれにもあてはまらない…」などの声も聞こえてきますが,これも課題研究を行うための練習です。このアンケートを作成する側,回答する側の両方の経験を,生徒たちは今後のESD課題研究で生かしてくれると期待しています。


<アンケート実習で利用しているアプリについて>

 福岡県で導入しているMicrosoft社の『Teams』上のアプリ『Forms』を使ってアンケート実習を行っています。

 授業時間内に終わらない回答は,自宅のパソコンやスマートフォンで回答を行ってもらっています。「自分が使っている端末(スマートフォン)だとうまく回答できませんでした」等,生徒たちはどのようにうまくいかないかを含めて報告をしてくれます。各個人の情報機器を使っての宿題は,一人一人の環境が異なるため,さまざまな配慮が必要だということを実感しているところです。





 早速,2年生は新型コロナウイルスの影響により対面でのアンケート調査が難しいため,ESD課題研究にオンラインでのアンケート行いたいと考える班がいたようです。実現するかどうかは調査対象によるかと思いますが,授業で学んだことをいち早く取り入れて実践しようとする城南生の『進取』の姿勢に感心させられます。


<課題の発見>

 As is/To be 分析(ギャップ分析)を行いました。学校生活の中で「こうなったらいいな」という『理想』と『現状』との差である『課題』を発見し,その課題を解決するためのアイディアを挙げていきました。

  


<現状分析>

 タブレットの機能や使用する上でのメリット・デメリット,他校での活用事例などをインターネットで調査しました。

  

 ホーム
福岡県立城南高等学校
〒814-0111福岡県福岡市城南区茶山6-21-1
Tel:092-831-0986  Fax:092-823-0386
Copyright (C) 福岡県立城南高等学校. All rights reserved