スキップしてメイン コンテンツに移動

大学院試験 -外部への道しるべ-

始めに

この度、京都大学大学院情報学研究科システム科学専攻に合格することができました!!!

僕は現在、立命館大学という関西の私立大学に通っているので、外部受験をしたことになります。

さらに、学部は数学専攻で、大学院からは情報学(の中でも機械学習)専攻になるので、専門も変えることになります。

この記事では、外部の大学院、もしくは専攻替えを考えている人向けに書こうと思っているので、目次で気になった項目があれば、ぜひ、読んでいってくださいませ。( *´艸`)

ちなみに、予測点数は線形微積6~7割、専門科目満点、英語かなり低いので内緒です。(笑)
得点開示を要求するので、得点がわかったら、また追記します。

目次
  • 外部受験を目指すまで、目指したきっかけ
  • 外部受検の大変さ
  • 専攻替えの大変さ
  • 合格するために
  • 英語が苦手な人へ
  • 数学科の学部から情報学(機械学習)の大学院を目指す人へ
  • 応援
外部受検を目指すまで、目指したきっかけ

ここでは、自分の大学生活がどんなだったかを書いてるだけなので、興味のない人は飛ばしましょう。(笑)

僕が学部二回生頃に、当時数理科には機械学習の研究をされている先生が一人だけ所属されていました。その先生に、直接弟子入りさせていただき、僕の機械学習への道は始まりました。。。(メインは遺伝統計学の研究でした。)

弟子入りした直後は、タイピングもなめくじのように遅かったですし、gitもpullする前にpushしたこともありました。。。

しかし、その先生は、目的に最先端で届く道のりを用意してくださいました。
プログラミングを初めて一か月ほどで、t-SNEの実装をしたり(遺伝統計学の研究で必要だった)、四か月ほどで、カーネルc-SVMの実装をしたり(やってみなとゆわれて(笑))することができました。その後も、学部二回生、三回生ながら、論文を読んで実装してきました。

学部二回生冬には、遺伝統計学の研究を株式会社パーソルキャリアさん主催のハッチングフェスというデータサイエンティストのためのイベントで、発表しました。

このイベントでは、企業の方もたくさん来られて、知り合えるチャンスがかなりあります!!
(名刺を作っておくと、「えっ、学生なのに名刺持ってるの?!」ってなるので、覚えてもらえます。(笑))
ぜひ、参加してみてください!(回し者ではない。)

ちなみに僕の名刺はこちら。諸事情により、下数センチを切って、載せています。




弟子入りして、一年後にその先生は転職されたので、実質半年ちょっとの弟子入りでしたが、信じられないくらい成長できたと思います。
(質問の仕方とか、チャレンジ精神についてもけっこうばしばしゆわれた。(笑))

その後、京都大学の大学院を考えてみろとゆわれ、意識しだします。
(当時は正直、自分が天下の京都大学?!無理無理!!!って思ってた。)

結局、先生に勧められたことがきっかけでした。


外部受検の大変さ

この記事では、外部受検の大変さという題名ですが、正直なところ外部受験ならではの大変さとして、感じたのは次の二つです。

一つ目は「さみしさ」です。(笑)
意外と、ともに同じ目標に向かって勉強する人がいないことの心細さはすごいです(笑)

他にも、過去問を解いてもどれくらい解けば受験層のどのレベルなのか、というのが全くわかりません。

もう一つは「面接」でした。面接では、大学院で研究したい内容を必ず述べます。それがマッチしている研究室があるかどうか、というのは採用側には重要なファクターになります。その点、内部生は、四回生からその研究室で研究を始めているので、そら面接で強いはずです。


それ以外は、特に外部ならではの大変さは感じませんでした。(内部受けてないからわからんけど)

過去問も京都大学情報学研究科のシステム科学専攻ではホームページに十分な量が公開してありますし、研究室訪問をすれば、先生とお話することが可能です。

なので、ペーパーテストでは、そこまで内部生に後れを取ることはないのでは、と思っています(勉強中心が折れなければ)。



専攻替えの大変さ

自分の場合は数学専攻から、情報学(機械学習)専攻に変えたので、大変なこともありました。(試験においての特別な大変さは特にありませんでした。)

自分はもともとPCを全然触ったことがなかったので、LaTex,git,programingはおろか、エクセルや、パワポなどもビビッて触れなかったです。

専攻替えでは、このように自分の苦手なことにもどんどん挑戦する必要があると思います。

あまり自分には無理だ、と決めつけないで挑戦することが大事です。

周りの(大学の先生も含む)、「~をするにはまず~をしないと!」という発言はあまり参考にしない方がいいです。

というのも、学部一年生から続けている専門科目であれば、まず~をやって、~をやってからじゃないと!という、基礎からしっかりと抑えていく勉強法でもよいと思います。

しかし、我々のような専攻を変える人にとっては、あまりに時間が掛かりすぎます。もともとの情報学専攻の人たちと、同じようにやっていては追いつけません。

無理だ!と思っても、それをやりたい気持ちがあるのであれば、どんどん挑戦すべきです。そして、それを応援してくれる人を大事にしましょう。

たぶんそのような人は希少価値が高いです。(笑)
ですが、そのような、チャレンジしろ!とゆってくれる人が、自分を大きく成長させてくれると思います。



合格するために


研究室訪問

研究室訪問は絶対に行くべきです。

できれば二回。

そして、欲をゆえば、研究室訪問までにいくつかその研究室から出ている論文を読み、訪問した時ある程度内容を話せるようにしておきたいです。

そこでの先生とのお話から、研究課題まで見つかるかもしれません。
現在の研究の問題点などの質問をしてみるべきです。

ここが面接の鍵になると思います。

ほとんどのところで、面接はかなり配点が高いので、しっかり対策し、自分が大学院でどのような研究をしたいかをできるだけ具体的に答えられるようにしましょう。

※備考
過去問を研究室の人にもらいに行くときは、できるだけ申し訳なさそうに行った方がよいかもしれません。(笑)
あと、「ありがとうございます」は言いましょう。(笑)
知り合いの院生の方が、「過去問だけもらってありがとうも言わずに、研究の邪魔だけして帰った」と仰っていたので。(笑)


勉強期間

英語に関しては、もう今、この記事を読み終わった日から始めてください。(戒め)
そして間違っても英語のスコア表が間に合わないという状態にならないように。(戒め)

英語以外の科目は、10月には必ず始めてください
年度が替わってからじゃ遅いです。(初めから過去問8割近くとれる人は別)

専門科目の選び方は、必ず自分の学部の専攻が活きる科目にしましょう。僕であれば、数学科なので、工業数学と確率統計になります。それ以外は一切勉強していません。

これは、自分の強みを最大限生かすためです。全く知らないけど、面白そうだからという理由で、一から選択科目を勉強する、というのはやめたほうがいいです。

例えば、僕は、工業数学(複素解析)よりも制御工学が勉強したかったのですが、工学の人たちは制御工学を学部の間に、すでに一度勉強しているわけです。

必ず負けます。その場合。

必ず、自分の専門を活かせる科目にしましょう。


そして、勉強をスタートする前に過去問を一年分といてください。問題のレベルがわからないと、参考書を選べません。これは九月以内に終わらせて10月から参考書で勉強を開始しましょう。


ちなみに僕が使っていた本の中でも、線形代数、複素解析はかなり実力が付き、高評価だったので紹介しておきます。(受験科目は、線形微積、確率統計、複素解析でした。)

複素解析は、野口潤二朗さんの[複素解析概論」です。
線形代数は、ギルバートストラングさんの[Intorduction to Linear Algebra


微積分については、高木貞治さんの解析概論
確率統計については、 David WilliamsのWeighing the Odds: A Course in Probability and Statisticsをやっていました。
しかし、どちらもよい本ですが、院試対策には向かなかったような気がします。
最終的に、解析演習弱点克服  大学生の確率・統計をささっとまとめて終わりました。



面接対策


  • 面接対策Ⅰ

先ほどにもあったように、研究室訪問までに、いくつか論文を読んで、研究室訪問で、その研究室で行っている研究の現状の課題などの質問をし、面接で具体的な研究内容を答える必要があります。これがまず面接では大前提になってきます。


  • 面接対策Ⅱ

他には、僕は聞かれませんでしたが、前日のペーパーテストについて、聞かれることも多いようです。試験が終わり次第、友達などに手伝ってもらい、できるだけ解けるようにしておきましょう。猶予は一日しかないため(ペーパーテストの次の日が面接日)、事前に友達に協力要請しておくのがベストです。


  • 面接対策Ⅲ
京都大学大学院情報学研究科システム科学専攻では、事前に研究計画書と大学での学習内容を兼ねた小論文なるものを提出します。面接はその小論文をもとに、質問をされることがあるので、自分で書いた小論文の内容は紙を見ずに説明できるようにしておきましょう。

  • スーツ着用について
面接のスーツ着用についてですが、自分は私服でもよいと思って、いざ行ってみれば、受験者の6~7割くらいがスーツで、私服の人も落ち着いた服装でした。自分だけよくわからん黄土色のTシャツ着ていきました。(笑)
受かったので、直接は関係ないと思いますが、試験場で浮く可能性はあります。(笑)


英語が苦手な人へ

英語はみんなある程度得点をとってきます。特に内部生の人は京大生なので、当然京大の英語の試験も突破してきている人たちです。その人たちは少し勉強すれば、すぐに大学受験の感覚を思い出し、高得点をとってきます。


僕のTOEFLのスコアは正直低いです。(あんまいいたくないけど。(笑))

僕はたまたま、専門科目がすべて解けて(線形微積はしくじりましたが)、英語の得点もカバーできたのだと思います。

なので、英語が苦手な人も諦めないでくださいと言いたいです。

ですが、
※やはりTOEFLが低いと、厳しい戦いになりますし、運の要素も大きくなります。やはり60以上はあるといいです。

お隣の専攻ではTOEIC900がデフォルトだそうです。。。
英語は始めるのが早ければ早いほどいいです。。。


数学科の学部から情報学(機械学習)の大学院を目指す人へ


面接対策では、いろいろ(といっても三つくらい)かきましたが、数学科だけは追加で気を付けなければいけないことがあります。

それは、「卒業'研究'」がない場合です。

数学科にはもしかしたら多いかもしれません。僕の大学でもそうでした。

しかし、研究をしたことがない学生が、大学院でいきなりどのような研究をしたいかを考えるのはかなり時間がかかります。

なので、かなり早めから、志望研究室の論文を読むようにしましょう。できれば、今からすぐです。

周りの内部の数学科院進学者の「なんとなく大学院へ行く」、「もっと勉強したいから大学院へ行く」というのに絶対流されないようにしてください。他の学部生は論文を読み始めています。

研究室訪問の重要性はこういった意味から数学科の人は特に必要になるのではないかと考えています。

応援

中学校で成績2をとっていたような学生、滋賀の偏差値50の高校にぎりぎり合格できた学生、

大学受験では、前期試験全落ちの後、後期受験でぎりぎり第一志望の立命館に合格した学生。

それが僕です。

そんな僕でも、京都大学の大学院に合格できました。


みなさんのほうが間違いなく100倍優秀です。応援しています!!!

なにかご質問がございましたら、TwitterでDMを送ってください!
アカウント名は@ma_le_takutoRiです!








コメント

このブログの人気の投稿

K-means 理論編

Introduction English ver 今日はK-meansアルゴリズムの理論について書きます。 K-meansアルゴリズムはクラスタリングのためのアルゴリズムです。 K-meansの実装の記事は カーネルK-meansの実装 を御覧ください。 この記事はカーネルK-menasの実装についての記事ですが、通常のK-meansの実装も行っています。カーネルK-meansについてはまた、今度別の記事で紹介したいと思います。 概要 1 of K 符号化法 プロトタイプ 歪み尺度 最適化 1 of K 符号化法 K-meansはK個のクラスについて分類することを考えます。 K-meansでは $x_n$がkのクラスに属していることを次のように表します。 ベクトル$r_n:1 \times K$ を $$r_n := (0,0,..,1,..,0)$$ このベクトルはk番目にのみ1を持ち、それ以外は0を要素に持つようなベクトルです。 こののような表現の仕方を1 of K符号化法と呼びます。 プロトタイプ K-meansではプロトタイプと呼ばれるベクトルを選びます。このベクトルは各クラスに一つあり、そのクラスの代表のようなベクトルです。 K-means ではそのようなベクトルは各クラスの平均ベクトルとなります。これは目的関数から自然と導かれます。 歪み尺度 プロトタイプベクトルを $\mu_i ~\forall k \in K$とします。 この時、k-meansの目的関数は次のようになります。 $$J = \sum_{n=1}^{N} \sum_{k=1}^{K} r_{nk} ||x_n-\mu_k||^2$$ ここで、 $r_{nk}$ は$r_n$のk番目の要素です。 この目的関数について少し説明をします。$r_{n}$は$x_n$が属しているクラスのラベルの場所だけ1で他は0であるので、 $$J = \sum_{n=1}^{N} ||x_n - \mu_{x_n}||$$ ここで、$\mu_{k_n}$は$x_n$が属しているクラスのプロトタイプです。 よって、 $$J = ||x_1 - \mu_{x_1}|| + ||x_2 -\mu_{x_2}|| + ...

カーネルk-meansの実装

Introduction   English ver 今日はカーネルk-meansの実装をしました。k-menasアルゴリズムはクラスタリングのためのアルゴリズムです。僕がカーネルk-meansを実装しようと思ったのには一つ理由があります。それは僕の友人がk-meansのプレゼンを、僕がカーネルのプレゼンをしていた時に、k-meansにカーネルを適応できないかと思ったからです。そこで、カーネルk-meansについての論文を探しました。 ここのpdf を主に参考にさせていただきました。うまくカーネルk-meansを実装できたと思います。ここでは、普通のk-meansとカーネルを用いた,kernel k-meansについての実装の結果を紹介します。 また、この記事では実装結果のみ書きますが、理論のほうも別の記事で書くつもりです。書き終えたらリンクをこの記事にも貼っておきます。 #  理論編書きました。K-means 理論編 概要 dataset   ちょっとだけ理論の説明  k-means    kernel k-means   Dataset   English ver 今回使うのは二つのデータセットです。一つ目は、普通のk-means用のデータです。二つ目はkernel k-means用のデータセットです。 一つ目のデータは、三つのグループで構成されており、次元は2で、サンプル数は300です。以下のような分布になっています。 二つ目のデータは二つのグループで構成されており、次元は2でサンプル数は300です。   this page にデータセットを作ったコードを載せています。 ちょっとだけ理論の説明 k-meansとは、k-平均法とも呼ばれています。初めに、適当なクラスに分け、各クラスの中で平均となるベクトルを求めます。そして、各データに対して、すべての平均ベクトルとの距離を求めます。そして、最小となる距離になるクラスに改めて、そのデータをクラスタリングします。そして、新たに得られたクラスの中でそれぞれ平均ベクトルを求め、これを繰り返し、平均ベクトルが動かな...

Bayes' theorem

Introduction sorry, this page is Japanese only.   今回はベイズの定理について書こうと思います。 ベイズの定理とは、イギリスのトーマス・ベイズによって発見された、条件付き確率に関する定理です。現在のベイズ推定で用いられる重要な定理です。どのような定理かを解説していこうと思います。 ベイズの定理 ベイズの定理とは 確率P(B|A):事象Aが起こった後での事象Bの確率(事後確率) 確率P(B):事象Aが起こる前の事象Bの確率(事前確率) とするとき以下が成り立つことを示しています。 $$P(B|A) = \frac{P(A|B) P(B)}{P(A)}$$ 例 例えば、次のように事象A、事象Bwo定義します。 事象A:あるYoutuberが動画を投稿したとき、再生回数が100万回を超える 事象B:あるYoutuberがお金を50万円以上使う動画を投稿する この時確率P(A|B)、つまり50万円以上を使った動画が再生回数100万回を超える確率は、youtube内の50万円以上使っている動画を根こそぎ集め、その再生回数を得ることによって推定できそうです。では確率P(A|B)がわかった時、確率P(B|A)もわかる。これがベイズの定理の強みです。(当然確率P(A)とP(B)がわかっている必要はあります。) 確率P(B|A)とはあるYoutuberの動画が再生回数100万回を超えたとき、その同がで50万円以上使っている確率となります。これがわかれば、100万回動画が再生される原因は本当に50万円以上お金を使うことなのかがわかります。 確率P(A|B)が低い時を考えてみましょう。 つまり、50万円以上使った動画は再生回数100万回を超える確率は高い。しかし、100万回再生回数を突破したとき、その動画が50万円以上使っている可能性は低い。この状況はベイズの定理の式を考えいると理解しやすいです。 ベイズの定理の式を見てみると、P(B|A)は低く、P(A|B)が高いということは、確率P(A)が著しく高い。もしくは、P(B)が著しく低い。この二つがあげられます。 つまり、あるYouruberが100万回再生を突破する確率がかなり、高い。もしくは、あるYoutuber...