Archive for the ‘コラム記事’ Category

目的のためには手段を選ぼう(昔話)

金曜日, 1月 15th, 2016

私が学部生だった頃(1994〜1997)は、まだPC(文字通りのパーソナルなコンピュータ)というものの広まり始めという状況で、今みたいに「入学時にノートPC買って」とかしてる時代ではありませんでした。プログラミングの授業とかコンピュータを使う時間帯は「保管庫に閉まってある学科共通のノートPCを取り出して設置して使う」というのを毎回やってて。どのPC使うかは決められてたけど個人のものじゃない(複数学年で共有)ので、個人データはFDに保存するのがデフォルト。それでもソースコードとかのテキストファイルばかりなら1MBはとても広大だったのだよ。非テキスト扱うようになってすぐにイライラするようにもなったけど。

その共通のノートPCはどちらかというと「端末」としての用途で、コンパイラは学科サーバ(ワークステーション)側にあって、telnet(暗号化されてないsshと思えば間違いない)接続してそこでコンパイル&実行するという使い方。ここの資料でいうところのp.2「UNIXワークステーション」あたりの時期ですね。比較的高速なワークステーションを複数人でタイムシェアリングして使ってる状態。

ちなみにその頃初めて購入したPCはMacintosh LC630で、33MHz, 16MB(メモリ), 250MB(HDD)だったかな。Xcodeの前身とでもいうかCodeWarriorを借りて試してみたら「Hello World出力するだけのCプログラム」をコンパイルするのに1分、実行するのに1分という恐ろしい時代でした。共有利用してる学科のワークステーションでも数秒で済むのに、PCだと1分。それだけしか試さなかったのだけど、今思えばライブラリのロードやらに時間かかってるだけだろうから数百行ぐらいのコードでも同程度の時間で済んだんだろうにね。その頃はそういうことにも考えが及ばず、レポート作成マシンになりました。

ということもあって、もっぱらプログラミングやらする際には学科か総報センターのPCルーム(だと思い込んでいた部屋)を利用することに。実際にはPCルームではなく「端末室」が正しくって、目の前にあるPCっぽいものはあくまでもワークステーションを利用するための最小限の機能しか揃ってなくて、CPUやらメモリやらは全てワークステーション側のリソースを使ってるような端末がズラーッと並んでて。

私「よし、今日はいっぱい端末空いてるな!」

とばかりに5,6台端末同時にログインしてニューラルネットなシミュレーションを端末ごとに5,6個回し始めたわけですよ。

私「スゲー!コマンドに&付ければバックグラウンドで処理してくれるんだ!」

と覚えたてのスキルの試したさと、一つずつのシミュレーション終了を待って実行することのだるさ(スクリプト組むまでは知識がなかったらしい)とで、端末ごとに複数ジョブ投下したわけですよ。自分では1台あたり5,6個のジョブを同時に実行させてるだけのつもりなんですが、実際には1,2台のワークステーションで全て動いてて。その数分後には。

隣のサーバ室からやってきた管理者さん「急に重くなったんだけど何かやってる?」

と質問に来たので状況説明して。それで済めば話は早かったんですが、ジョブを殺そうにもログインできないぐらいにリソースが使われてたたり、ログインしてた端末からも操作受け付けない(実際には強制終了操作は入力されてたと思われるが、その処理にリソースが割り振られる様子が見られない)という状況になってて。結局 fg + Ctrl-C で終了するまでにかなり時間がかかったんだったか、ワークステーション自体を強制終了して再起動したんだったか、そんな感じの事態になってました。

うん、すまんかった。

という話を書いたのは、今回実験2でだしてる課題のシミュレーションを学科サーバでやったという学生がいたらしく、注意してなくてごめんなさい。

という話でした。ちゃんちゃん。

(不定期コラム) 読誦せよ vs. 行動せよ、というより適度に両方をやる

金曜日, 7月 31st, 2015

情報工学科では授業評価アンケートが一般公開されてます。今学期のはまだ回答受付真っ最中ということもあってまだコメント数が少ないですがこんな感じらしいです。「先生が遅れてくる」「前回やると言っていた内容を忘れていたり」「わかってる前提」とかとか、学生の生の意見がそのまま出ててなかなか面白いです。改善すべき点は改善したいしね。一方で「教科書をあまり使わないので買わせないで欲しい」「配布資料に関しては文章量が多く読みづらい」みたいな意見も。いやいや教科書は自分で使うものだってば。本/文章読まずに勉強なんてできるわけない。教科書が使えない(内容がおかしい、過不足が激しい、質に疑問がある)といった指摘なら分かりますのでそういうのは随時「授業期間中」に先生なり先輩に突っ込んでみよう。良い参考文献教えてもらえるはず。答えを教えてもらうというよりは、勉強の仕方を身につけられるような指導をして貰える、という意味ですね。それが大学。

(タコみたいな本もあるけど)良質な本は、それを作成するのに膨大な時間が割かれているだけあって「それを繰り返し何度も読む」ことで学べるものがとても大きい。ただし、どんな本にも「これで十分」とか「誰にとっても適切なレベル」とは限らないので、同じ分野・テーマについて多読することでインプットの質を高め、深さを担保することが望ましい。選書したりしてますが、自分のバイブルを早いうちに見つけられたら幸せだよね。そのためにも多読しよう。何読んだら良いか分からないなら先輩・教員なりに聞こう。似たようなことに興味があるからこの学科に集まってるのだろうし。就職説明会とかに来ている企業さんに聞いてみるのも手でしょう。どういう文献を推薦するかでそ企業さんの中身を間接的に観察できるできるということにも繋がるし。

ラーニング・パターンでいうところの学びの竜巻量は質を生むにも言えることだけど、守破離の守をやらないと「何かしら壁に打ち当たったときにそれを打破する方法が思いつかずに途方に暮れる」という結果になりがちかな。ただし何事にも表裏一体の良し悪しがあって,一般的な大学の講義のように「基礎をみっちりやってから専門を」とやってると、具体的に興味を持てる所に辿り着くまでのモチベーションが続き難いとかデメリットもあるわけで。

似たような話が読誦せよ vs. 行動せよ。どちらか片方だけやってても良いわけではなく、適度にインプット・アウトプットを切り替えながら前進し続けることができると、ベターなんでしょう。

【ご利用は】メリハリをつけた生活【計画的に】

水曜日, 6月 3rd, 2015

m_20150603081632556eb7e09e99c

すべての人に平等なリソースが「時間」。24時間働く・勉強することできないし、適度なりフレッシュはあった方が良いけど、何をやるにせよ有限な時間をどう配分するかは個々人の決断に帰着するわけで。このあたりの話は1回目の新入生向けLTで触れましたが、学部生の4年間〜修士2年間まで含めて自分で配分できる時間が1万時間強あります。これで何するのか?でその後(卒業後)が大きく変わります。それは当然だよね。愚直に時間費やすだけでも積み重なるものはあるし、その過程で得られた様々な出会いを通して better な費やし方に遭遇するかもしれないし。それが、私の場合は遠藤先生の講義「人工知能」や山田先生の「知能ロボット」で。授業で出会えたのは(先生方の努力があるとはいえ)ラッキーだったんだろうと思います。

丘を探そうとかバイブル探そうとかコラム記事とか提供してるのは全て切っ掛け作り。何か見つかったのなら、突っ走ろう。それをやれる時間が、今なら用意しやすいし、頭が柔軟なうちに取り組めた方が尖りやすい(と思う)。

研究に限った話じゃないけど他のことを最優先にしてて時間にメリハリをつけられてない人。時間は有限ですよ?

(日々ウン時間遊んでもその道を自分で選んだのなら良いけども、無意識のうちにそういう生活になってる人は注意しよう)

(不定期コラム) 地図が無ければ描けば良いじゃない(サーベイ)

火曜日, 3月 31st, 2015

久しぶりのコラム記事

ここ数日は新配属生らの興味キーワード関連の事例集をピックアップ紹介する記事作成してます。これ全部読め〜という訳ではなく、あくまでもアドバイス。「取りあえずやってみて」で丸投げするのも一つの方法で実際やってる部分もあるんですが、それとは別に「例えばこういうのがあるよ」と具体的な調べ方or実際の情報源を提示することで出発点や視点を増やす意味合いでやってます。例えば(不定期コラム) 機械学習 #ieryukyu_readingsみたいなやつですね。

あれこれ目を通して欲しいという気持ちもあるし、掘り下げて欲しいというのもあるし。新しい世界を歩むには何らかの方法で世界地図を作り上げて行く必要があるけれども、その方法は必ずしも自明でもなく。実社会に根ざしている話でもあるように月日と共に地図が書き換えられてるこっともあれば、自身の変化に伴って見えてくる側面が増えてきて色鮮やかになったり。調べ終えたはずのことが月日と共に結果が変わることもあるし、ただのヒューマンエラーで実は違ってたということが改めて浮き彫りになることもあるし。手足を動かして追体験してみることもあれば、又聞きという形で情報収集することもあるし。「地図を描く」ためには多くの資料を読み進める必要があるわけで、一般的にはこれらの作業を調査研究とかサーベイと呼びます。いや、調査研究というとこっちのような一段上の意味合いで捉えることの方が多い?かも。ということでここではサーベイと呼んでおきますが、読むだけじゃなくてそれらを自分なりに咀嚼し直す(何らかの形でアウトプットする)のが大切。イメージしやすいように「地図」と表現してますが、目的に応じて地図が多種多様あるように、自分の目的に応じて作り上げて行くことになります。目的自体が分からないなら「手探りで進む」ことになるのでしょう。その試行錯誤を通して少しずつ「使いやすい地図」が形作られていくはずですし、その具体例としては「サーベイ論文」や、「個々論文の関連事例との兼ね合い」を複数見ていくことでイメージしやすくなると想像します。

web上にも「サーベイ 方法」ぐらいでググると一杯引っ掛かりますね。

あたりも参考になるんじゃないかと。

「Proc.って何ですか?」と質問してた日が懐かしい〜。

(不定期コラム) こんなレポートは嫌だ

土曜日, 6月 28th, 2014

先日実験1のレポートチェックを終えましたが、今年ならではのという話ではなく、私が教員として大勢の学生を相手にチェックするようになってからずーーーーーーっと続いてる普遍的な傾向。つまりは例年やってるレポート指導。折角なのでまとめておこう。

傾向を大別して「一般的なレポートとしてのおかしさ」と「LaTeX文書としてのコマンド等のおかしさ」に分けてみました。


一般的なレポートとしてのおかしさ

悪い点まで含めて丸々コピペ。
先輩等含めて他人のレポート参照するのは推奨してます。理解して自分で書くなら。理解もせずにコピーするのは「コピー機」でしかなくて、何の勉強にもなっていないのだけど、高い授業料払ってそれで良いの?。電子ファイルは複製しやすいですが、それと同じぐらいコピペ判定も簡単なのを分かっていないのだろうなとも思う。「悪い点」までコピペする(それを採点するコストを他人に強要する)というのは喧嘩を売ってるということだよね?
日本語の文章になっていない。
見出しでもなく本文中に「結果」と一言書いて図表掲載してるだけとか、文章が日本語になっていないというケース。報告書以前の問題なので、まずは文章書けるようになってください。参考文献としては「知へのステップ―大学生からのスタディ・スキルズ」、「大学生のためのリサーチリテラシー入門」とか? いや、まずは「文章で説明しろ」というだけの話なんですが。
句読点の使い方がおかしい。
補足も何もあったものではないですが、文字通り「句読点が無い文章」や「本文中の句読点が不揃い」というケース。個人的なメモなら自由にやってくれて構いませんが、レポート(報告書)ならそれなりの文章を書こう。
パラグラフを意識していない。
ツイートとかの short message 系ツールに慣れ親しんでるから、という訳でもなくこれも昔っからある傾向ですが、パラグラフが存在していないケース。句読点で改行されてることが多いけど、無関係に改行が入ることも。パラグラフで書けないということは、報告書が構造化されていないのと同等なので、意識して(章節や段落という意味で)構造化文書を心がけよう。構造化文書書けない人はプログラミングも苦手だろうなと思う。どう心がけたら良いかの具体例としては、「やればできる 卒業論文の書き方」か「レポートの組み立て方」あたりを一度は読んでみるとか。
本文の無い節がある(箇条書きだけ/図表だけ/本当に何も無い)。
これも見出しだけで言い切ってますが、「2.2 結果」と見出しに加えて図や表はあるもののそれに関する説明文等が本文中に一切無いケース。派生ケースに「自由課題に取り組んでる割には目的/手段を述べずにいきなり結果を示してる」ものも。一般的に、報告を受ける人はエスパーじゃないので文章でストーリーを説明してください。
図表や参考文献を本文中で参照していない。
授業レベルのレポートではそれでも良いかなとも思えるのですが、正式には「どこで参考にしたか」を参照して示すべき。例えば web でリンク張る時に無関係の所にリンクが用意されててもムカつくよね?
図表にタイトルが無い or 同一タイトルの図表がある。
原則として同一タイトルで異なる図表が同一レポート内に存在するというのは不適切。違う意図があって作図したからこそ複数掲載しているはずなので、図表事に適切なタイトルを付けよう。
折れ線グラフ等の軸ラベルが小さすぎて読めない。
ベクター形式になってるなら拡大して読めますが、それでも本文の文字サイズと比べてラベルの文字サイズが小さすぎるなら、改めましょう。誰でも読み易くない報告書は読みたくないよね?
(ソースコードではなく)本文中で用語等をダブルクォーテーションで囲う際に向きを気にしない。
“ここを強調したい”のようなケースでカギ括弧や丸括弧は剥きに気を使うのに、本文中のクォート類で向きを無視する人多数。プログラミング言語では剥きが無いことケースも少なくないからだとは思うけど、文章中ではちゃんと剥きを整えよう。
結果を現在形で書く。
分かった事実は過去形で書こう。関連して、事実とそうでないもの(考察等)は文章から明確に区別できるように書こう。

LaTeX文書としてのコマンド等のおかしさ

texを使う理由は、数式等を綺麗に出力したいからだけではなく、目次生成/図表文献番号の整理等を自動化するためでもあります。例えば、途中で図表を中間に追加したり文献追加したりする度にそのインデックスを自分の手で書き直すのは嫌ですよね?

図表のインデックスを手動で書いている。
図表なら caption で図番号&タイトル付けると共に、label でユニークなラベル名を付けよう。本文中から参照するには ref。参考文献なら bibitem と cite。
PDF/EPSといったベクター形式で作図したのに、PNG等のラスター形式に劣化させたあげくファイルサイズを数十MBにして掲載する。
お願いだから辞めてください。ebbでbounding box情報を抽出して、テンプレートを参考に埋め込めるようになろう。
目次を手動で書いている。
tableofcontents 使おう。勿論、section/subsection 等で見出しを書いていることが前提になります。(こういうのを自動生成するために目印を付けるのが section等のコマンドな訳だ)
section, subection 等を使っていない。
前述の目次にも絡む理由で、見出しにはちゃんとコマンドを使おう。言い換えると見出しと本文を明確に区別しよう。
\\ で改行しまくる。
新しいパラグラフを始めるなら「空行」をいれよう。\\ では「新しく段落が始まる」ということを tex が認識してくれないので、「段落始まりである時下げ(スペース)」を自動で入れてくれません。
本文を verbatim で書く。
気持ちは分かる。けど、それ何の解決にもなってないネ。似たケースに table や何かしら罫線で囲う人も。こうして罫線文化が生まれているのかなぁ。。本文は環境使わずにそのまま書こう。
本文中で記号をエスケープせずに全角で書き直して出力する。
verb なりエスケープするなりして半角のまま記号を出力しよう。

その他:担当教員名の誤り。

(年次指導でもあるのに。しくしく)

(不定期コラム) 情報をシェアするには見える形でのアウトプットが必要 / 卒研ノートを更新中

金曜日, 5月 16th, 2014

午後はここ最近手をつけ始めてる研究ノートのシステムへのテコ入れをやってました。テコ入れというかライブラリ更新に追従するのが置く的ですが。現状はまだDjango 1.3で、恐らく当時作成した小野くんが使ってたバージョンから1回だけしかメジャー更新対応はしてないかも。細かいバグフィックスはある程度継続してやってたけど、数年ぐらいで落ち着いて目立ったバグが見つからず。と思いきや、去年、松田くんが日付け周りのバグ指摘&修正してくれたんだよな。ありがとうございます。

NAL研的には、研究室立ち上げ当時(2005)に「研究ノートを付けよう、最低限これこれの項目は書かせよう」という議論が学科会議で出て、やり方は研究室にお任せという話になってました。どうせなら「情報工学科を卒業するならwebサービスを作る/立ち上げるぐらいの経験は必要だよね?」ということで毎年「新しく作るか、過去のを引き継いで運用保守するか」を学生に選ばせる形でやらせてました。1回目は玉城さんがpukiwikiで準備してくれて、それでやってました。日誌だけじゃなくてToDoとかあれこれ活用してたらしい。2006年には宮城くんがrailsで開発してくれました。が、サーバー自体は現時点では消失。でも単に無くなったのではなくて、2007年に小野くんがDjangoで開発したものにデータは移行されてます。こうして振り返れる/積み重ねることは、研究室だけでなく社会に出てからも必要なことで、研究室に入って一ヶ月強経ったばかりの4年次もちゃんと日々の記録を「自分のPC内だけじゃなくて、その組織で閲覧できる形」でアウトプットするようにしよう。別に全公開しろと言ってる訳じゃなく研究室限定公開でも良いから、同じメンバ内では見れるようにしよう(産官学連携とかで公開限定せざるを得ないものについては別途内部でやってたりします)。シェアすることの凄さはwwwだけでも分かるでしょ?。1年次〜3年次はレポートでひーひー言ってるようですが、あれも「特定の読者(レポートを課した先生ら)と対象とした人向けに報告書としてやったことをまとめる練習」です。自分だけにしか分からないメモ書きだとレポートとしては不十分。このあたりは理科系の作文技術だとか、やればできる 卒業論文の書き方とかを一度は読んでみよう。良き先人に学ぼう。

関連: SNSやチャットはコミュニケーションチャンネルの拡張だと思った

話を元に戻すと、Django の最新版は 1.6.5 で既に削除されたモジュールが結構あるのでそれらを書き直し中。これも学生に「勉強しろ〜」と丸投げしてみるのが良かったんだろうと思うけど、久しぶりに自分で触ってみたくなったので自分でやっちゃってます。もう大まかな部分は終わりつつあるのだけど、認証周りが謎挙動でうまくいかず。具体的には「ログイン処理した後で別画面に移動すると認証が切れてる(が、ログイン画面に再度アクセスするとログイン済みになってる)」という。django shell で試す限りでは問題無く、http経由でやった時だけの現象なんだよな。どこでおかしくなってるんだろう〜。

P.S.
オープンキャンパス2回目の委員会が午前中にありました。1回目の会議では学科毎の説明を短縮とかいう話だっのが、5分で話すぐらいなら省略して学部長にまとめて概要説明して貰った方が良いだろうということで学科説明自体を省略する方向に。ぱちぱち。個人的には学部長挨拶も省略したかったのだけど、そこは難しそう。好きな時に来て好きに見て帰る、のがお互い楽だと思うんだけどそこまではやれず。それでもそこに向けて方向転換できつつあるのは割と嬉しいです。細かいことは学科内で個別にやれば良い話しでもあるし。ということで、少し案内パンフレットにも仕込みを入れることを検討中です。ぐふふ。

(不定期コラム) シス管への誘いが届いていないというよりは広告不足とマッチングと意識の違いの問題

月曜日, 5月 12th, 2014

放置されてるVMへの不正アクセスがまだ続いていたor新しく発覚したらしく、初期パスワードを変更せずまま使ってたとかで外向けトラフィックが通常KB〜MB/s(?)程度に対してGB/sぐらいになってたとか。サーバ名が(特定の人には)分かり易いネーミングで、そのネーミングがどこぞのブラックリスト入りされてたりしたらとか考えると胸熱(違)。ま、失敗経験をがしがし積めるというのは学生特権なので、(経験活かして)気にせず行動しよう。


今回は、スイッチで該当IPの学科外通信を停止した上で対応(問題点を解消)し、その対応が正しく機能しているかを確認するためにフィルタを停止するつもりで誤ったフィルタを適用。(恐らく)学科全体が外と繋がらないという状況に。授業中だったら泣いてた先生いただろうなw でも、これも含めて「(責任は教員が取るから)頑張れ!」というのがシステム管理班な訳で。長田先生を筆頭に、学生中心に学科サービスの運営やれるというのは、そっち方面に興味がある学生にとってはとても楽しい環境だと思います。これだけの設備規模を個人ベースで用意するのはまず無理だし、実際に使ってもらってるサービスという点でもドキドキするだろうし。

ということで、興味があるならどんどん参加したら良いじゃんと思うのですが、現状学部生は2年次からの参加がいないらしい(昼食時にあっとんくんから聞いた話)。興味あるという学生居たはずなんだけど、おかしいな。と思うものの、シス管の活動が良く見えないというのも大きなネックの一つだろうとは思う。勿論興味ある学生は自分から情報仕入れろよとも思うんだけど。このブログ殆ど更新されてないし、ura.ie.comp.adminは業務連絡的なのが多い(たまに違うのもあるけど)し、毎週開催しているらしい活動報告(月曜9時@会議室っぽい)は限定された人(ML)にしか配信されてないしで、接点が少ない。学科の規模自体が小さいこともあって人同士での接点はそれなりにあるんだろうけど、それだと限られた条件でしか遭遇できないし。(繰り返しになるけど)興味あるなら自分から行動しろ(教員/先輩に聞けば良いだけ)とは思うのだが。

今回のトラブルも、ある意味広告するには良いタイミングだろうと思うんですが、具体的な話はMLでも出て来ず。ちらほらTimeline/Twitterであったぐらいか。そのタイミングを逃した人は目にしてない訳で、少し広告にも力入れたらどうかなーと思いつつ、側面支援的な意味での日記を書いてみました。うちのサーバにも先月sshアタックがあったんですが、そっちはこんな感じで対応の流れを書いてました。

という訳(?)でクイズです。

  • クイズ1: 本日1回目のインシデント(大量な外向けトラフィックの発生)に、どうやって気づいたのだろうか?
  • クイズ2: そのインシデントに対する解決方法を2個以上提案せよ。
  • クイズ3: 今回のインシデントの原因は「初期パスワードのまま使い続け、放置した」ことにある。管理者としてはどのようなアクションを起こすことが類似インシデントを効果的に防ぐことに繋がるか、400字程度で提案せよ。

m_201405121816265370916a9cdf2

中の人が美味しく頂きました。

(不定期コラム) プログラミング #ieryukyu_readings

日曜日, 1月 19th, 2014

「何かしらの専門分野に関する読み物の紹介」第3段は、ややベクトルの異なる「分野」ですが1年次から比較的多かったキーワード「プログラミング」を取り上げてみます。


今回紹介するのは、プログラミングについて学べるサイト3件「ドットインストール」、「CodeIQ」、「CodingBat」です。

ドットインストール (3分動画でマスターする初心者向けプログラミング学習サイト)
  • トップページの解説文の通りですが、様々なプログラミング言語・データベース・Webサービス・iPhoneアプリ開発等々についての「3分動画集」です。講義形式に近いですが、好きなタイミングで動画を止めれますし、勿論戻ることも可能と良いことずくめ。講義でもやってるC言語やJavaもあります。
  • iOS アプリの実機テストには iOS Developer Program への登録が必要ですが、情報工学科は河野先生のお陰で学科で教育機関登録されているため無料です(やりたい人は河野先生or當間までメールください)。
  • webサービス関連だと、いわゆる(外部から見れない)クローズドなサイトではなく、学科としてグローバルIPアドレスが大量に確保されてて簡単に申請できるし、ブレードサーバで仮想OSを動かすことも簡単にやれるので、サーバ立ててあれこれ試してみるのも無料でやれます。どれだけ使っても無料なので、使えば使うほど得します。どしどし使おう。
  • Windows / Mac OS X / iOS / Androiod 等、多数の環境で動作する統合型ゲーム開発環境Unityもあるらしい。公式サイトにもチュートリアルありますが。
CodeIQ (ITエンジニアのための実務スキル評価サービス)
  • ドットインストールが講義に近い位置付けなのに対して、CodeIQはドリルに近い。基礎を勉強するというよりは課題解決を通して学ぶという取り組み方ができます。
  • トップページにあるように「問題に解答する->(受付中の問題なら)フィードバックを受ける」が基本的な流れですが、過去問も残ってるのであれこれ探してみると良いかと。中にはプレゼント特典がついてる問題があることもあります。
  • 取りあえず眺めてみたいという場合にはwebマガジンRSS@codeiqあたりを眺めてみると良いかと。
CodingBat (Online code practice)
  • 用意された問題毎にコードをオンラインで提出(フォーム入力)し、その出力が正しいか(テストを通るか)を確認しながら学ぶスタイルのサイト。必ずしもブラウザ上で書きながらではなく、好きなエディタで書いたのを貼付けても良いですが。
  • 例えば Java だとJUnitと呼ばれるユニット・テスト(単体テスト。クラスやメソッドが正しく動くかを確認するためのコード)がありますが、CodingBatでは用意された問題には最初からテストも用意されており、動作結果が正しいかを確認できます。
  • オマケ要素としては英語の勉強にもなるかとw

P.S.
#ieryukyu_readingsを誰か他にも書かないかな〜 :)

(不定期コラム) 機械学習 #ieryukyu_readings

日曜日, 12月 29th, 2013

前回のコラムから始まった「何かしらの専門分野に関する読み物の紹介」第2段として機械学習を取り上げてみます。


紹介ページ: 機械学習 はじめよう

今回紹介するのは「機械学習」です。機械学習そのものに限らず、ニュアンスが近い設定としての「人工知能」や単に「学習」というキーワードはマンガ/アニメ等でも出てきますね。耳にする事が少なくないキーワードですが、実体としては良く分からないことが多いのではないかと思います。

人工知能学会における説明としては「観測センサーやその他の手段で収集されたデータの中から一貫性のある規則を見つけだそうとする研究です.数学の統計の分野と強い関連があります.また,機械学習はAIの他のほとんどの分野で利用されています.」と説明されていますが、事典ぐらいの説明に留まっているためあまり具体的ではなく、良く分からないかもしれませんね。

機械学習の実体を連載解説しているページが前述の「機械学習 はじめよう」です。例えば第1回の記事ではどういうところで活用されているか、基礎知識として何が必要か、機械学習におけるもの見方が概説されています。例えば応用例&必要な知識についてピックアップしてみると以下のように紹介されています。

出典: 第1回 機械学習 ことはじめ

[応用例について]

  • 物理,化学,生物,医学など様々な科学観測全般。センサーが拾えない情報の再現,解像度の向上。
  • ロボット。センサー読み取り,バランスを保つための予測等々,ロボットのソフトウェアは機械学習の固まり。
  • ゲーム制作や3D映画の撮影に使われているモーションキャプチャー。見えない場所にあるマーカーの位置の推測。
  • エレベータの動きの制御。混雑を可能な限り少なく,かつ省エネとなるように最適化。
  • 未知のコンピュータウイルスの検出。ウイルスかどうかの閾値の推論。
  • 検索結果のランキング。クエリーやコンテキストから求められている情報の推測。
  • コンテンツに合わせた広告の表示。

ここで,実はこれら応用例の大半について,機械学習が使われ始めたのは最近5年10年の話,というと意外に感じるのではないでしょうか?

[基礎知識について]
中でも線形代数(行列)と解析(微積分) は必須です。これらは本連載では説明しませんので,必要に応じて書籍などで別途勉強してください。参考になりそうなページを紹介します。

解説しているだけあって具体的な数式への落とし込み方やその解釈、随所で想定されている仮定などを一歩ずつ進めているため、全体のボリュームはかなりありますし、数式がしがし解いていくところも出て来るので本気で取り組めばかなり力がつくテキストでもあります。その積み重ねで人工知能分野における「機械学習」が具体的に何をしているのかも理解できるようになりますので、興味のある人は是非トライしてみてください!

P.S.
先輩らも後輩に向けてオススメ本/webページなり紹介して見ると良いのではなかろうか。という気持ちを込めてタイトルに「#ieryukyu_readings」を付けてみました。

(不定期コラム) 読みやすそうなものから手をつけてみる

土曜日, 12月 21st, 2013

2013年度入学生も大学生活に慣れ、少しずつ時間に余裕が出始めて来る時期に差し掛かりました。1年次後期は情報工学科カリキュラム的には最も時間にゆとりのある時期でもあります。講義関連への課外時間(自習時間)を増やしてより理解を深めるのも良いし、折角の機会なのでこれまでにやったことのない新しいことにトライするのも良いでしょう。年次指導教員としては「成績を良好に保ちつつ」とか言いますが、成績以上に大切な何かを見つけたのならそれを優先して突き進んで欲しいし、夢の実現をサポートできる環境を用意したいというのが個人的なアドバイスです。矛盾したことを言う事もあるかと思いますが、それをどう受け止め、どう選択するか(必ずしも 0 or 1 じゃない)は皆さん次第です。

ということで何かしらこの時期を計画的に時間を使って欲しいという思いを含めて個人面談中ですが、全員に向けた共通アドバイスを不定期コラムとして取り上げていきたいと思います。暫くは面談時にも伝えている「何かしらの専門分野に関する読み物の紹介」になる予定です。


久しぶりの不定期コラム(15回目らしい)は、情報工学科らしく(?)「情報処理学会」から毎月発行されている学会誌から、無料で読める巻頭コラムの紹介。

リンク先を眺めてもらえれば分かるように「ぱっと見」では学術らしくもなく、情報工学に無関係にも見えるような人やタイトルが並んでいますが、そもそも情報処理/情報工学/情報技術における「情報」は分野を問わずどの現場にでも存在します。より具体的な現場における利活用を取り上げたいと思ったらその分野毎の現場で働いている人と触れ合うのが一つのアプローチの仕方でしょう。必ずしも直接的何かを得られるとは限りませんが、「これまでの自分自身の体験では感じた事の無い世界」を少しは味わえるはずですし、特にこのコラムについていえば何らかの意味で情報処理に関係を含む側面が比較的強く、その分野におけるキーワードも出てくるので興味があるならその先を調べていくこともできます。擬似的な体験ですが、ラーニング・パターンでいうところの「フィールドに飛び込む」や「まずはつかる」への第一歩(取っ掛かり)として参考になれば。

コラム記事でコラムを紹介するのもアレですが、取っ付きやすさやその著者らの熱量を味わうという意味で取り上げてみました。1記事あたりたかだか2ページ&文字数もとても少ないので、気になる人orタイトルだけでも眺めてみてはどうでしょう。

もう少しまとまった分量のものを読みたいという人は、書籍になりますが例えばブルーバックスや新書を探してみるのも一つの手です。検索する限りではブルーバックスは図書館にもあるらしい。勿論ジュンク堂を歩き回るのも良いでしょう。

(次回からは少し分野を絞った紹介をしていく予定です)