racoon_chanの日記

プログラミング初心者がAtCoderで水色になるまで。

Pythonで始める機械学習に着手(Udemyのことも書いてるよ)

こんばんは。先週より機械学習の勉強を始めました。

まず最初にやってみたのはUdemyの動画講座です。

みんなのAI講座 ゼロからPythonで学ぶ人工知能と機械学習

こちらの動画を選んだ理由としては

  • 数学的な知識が弱くても進められる。
  • インプット型ではなく、ハンズオンで学べる。
  • ニューラルネットの実装をライブラリに丸投げでなく、1つ1つ解説付きで進められる。

それぞれについて説明します。

数学的な知識が弱くても進められる。

学部で物理系の研究をしていたこと、大学院入試で数学はミッチリと詰めたとは思うが、それでも未知の分野ということで、数学的な難易度は下げたかった。
まずはできるだけ難易度を下げ、ある程度機械学習の世界観に親しんできたと実感できたら、パターン認識と機械学習なり、アルゴリズムの詳細な説明を数学的に示している参考書に移行する、といった計画だ。(ほぼ無計画)

インプット型ではなく、ハンズオンで学べる。

そして、自分はインプットだけでは飽きてしまうので、「ああ〜、こんな実装すんのね〜」的な、具体例をイメージしながらモチベーションを維持できる。
なんとも、受験勉強はほぼインプットだったのでつまらなかったのだ。
何度もプログラミングに挫折した私が4月にPythonを始め、実務で開発を進められるようになってきたのも、「手を動かしている」からだと思っている。
インプットだけではつまらないし、続かない(Pythonが簡単ってのもあるけどね)

ニューラルネットの実装をライブラリに丸投げでなく、1つ1つ解説付きで進められる。

個人的にはこれが大きいと思っている。
ニューラルネットと聞くと、「ほえ〜なんだか凄そう」的な、なんだか雲を掴むような、抽象的な概念だな感じていたのですが、
ソースを見てみると、「ああ、なんだ。ニューラルネットをそうモデル化してるのね」と、目に見える形になると現実感が増します。

だってwikipediaニューラルネットワークの説明ってこんな感じだもの。

ニューラルネットワークシナプスの結合によりネットワークを形成した人工ニューロン(ノード)が、学習によってシナプスの結合強度を変化させ、問題解決能力を持つようなモデル全般を指す

何言ってるかちょっとわかんないですよね。
でも、ソースを見れば、「ああ、なんだ。そんなことか」ってなるんです。
最初は多少厳密でなくても、「理解できそう」「自分でもイケそう」って思えるほうが前に進めますよね。
それが間違った理解でも。

続きを読む

アダルトチルドレン

今回はプログラミングとは全く関係ないのだが、私自身の幼少期について、話そうと思う。

 

今思えば、恵まれた家庭で育ったと、胸を張って言えないのかもしれない。

家庭内では、父と母が大声を出しながら喧嘩するのが日常で、そんな時は目立たないように兄と共用の部屋に逃げ込んでいた気がする。

「好きな色は何?」と言われても、明確な答えが無く、兄が迷いなく「緑が好き」と答える姿に、没個性、焦り、無価値感を感じる。

そうして、そんな色好きでも惹かれてもいないのに、「黄色」と答える。兄と識別するための色が「黄色」になる。好きではないので愛着が沸かない。

小学二年生の頃に野球を始めた。それは「兄がやっていたから」と、ただそれだけだったと思う。明確な理由は覚えていない。

高校1年生まで続けた野球を、「好き?」と聞かれても、自信を持って「好きだ」とは言えない。ただ無心に続けていた。

それでも、小学生の頃は4年生からエースピッチャーだったし、数多いチームの中でも優勝も何度もしたのだ。それなのに、「好き」とは言えない。

 

話が脱線してしまったが、もしかしたら十分な愛情を受けて育たなかったのかもしれない。

小学生、中学生の頃は家が落ち着かず、外でばかり遊んでいた。暗い団地の一階で、タバコ臭い環境で育ったのだ。

悪いこと、今思えばそれは悪いことなのか、何をしてしまったのかすら思い出せないが、いつも怒られていた記憶がある。褒められた記憶は殆どない。

兄からも暴力を受け、父からも暴力を受け、母からも暴力を受け、気がつけば心の拠り所がなくなっていたのかもしれない。それでも、「普通の家庭で過ごしている」と無意識化で認知していた。

「家庭内のことは口に出すな」と父から躾けられ、欲しいゲームは買ってもらえず、服はお下がりと、個性からは程遠い幼少期を過ごした気がする。

 

そんな中、自分が選択した自分自身の性格は、「おちゃらけ」だった。ホントバカバカしいのだが、おちゃらけている時は、心の底から明るく振る舞えた。楽しかった。心の鬱憤が晴れるようだった。それまでは心は暗く、淀んでいたのに、パァっと晴れるようだった。周囲もそれに応えてくれる。自分を見てくれる。家庭だと、自分は序列の一番下。次男だからだ。読みもしない新聞を取りに生かされるのも、決まって自分。自分が飲むわけでもないビールを取りに生かされるのも、決まって自分。「嫌だ」と言うと、叱られていた記憶が薄っすらと残っている。

 

ただ、そうして「おちゃらけ」を演じている間だけは、自由に振る舞えた。そうして現在も、辛い時はおちゃらけているのだが、それはアダルトチルドレンの特徴らしい。

アダルトチルドレンの特徴は以下の通り。

自分の考えや行動が「これでいい」との確信が持てない

物事を最初から最後までやり遂げることが困難

本当のことをいったほうが楽なときでも嘘をつく

自分に情け容赦なく批判を下す

楽しむことがなかなかできない

まじめすぎる

親密な関係を持つことが大変難しい

自分には、コントロールできないと思われる変化に過剰反応する

常に、他人からの肯定や受け入れを求めている

10

自分は、人とは違うといつも感じている

11

常に責任をとりすぎるか、責任をとらなさすぎるかである

12

過剰に忠実である

13

衝動的である。他の行動が可能であると考えずに1つのことに自らを閉じ込める

参照: 

http://www.yamanashi.med.or.jp/tsuru/onepoint/onepoint17.htm

 

 

全ての傾向が私に当てはまっている。勿論、こんな少ない項目で判断することなんてできないし、その時々の精神状況で選ぶ項目も変わってくるんだろうと思う。

それでも、全ての傾向が当てはまっているのだ。

 

全てが家庭のせいだとは言えない。自分が至らなかったことは多々ある。

それでも今の生き辛さをどうにかしたいのだ。

 

中途半端かもしれないが、今回はここで投稿を止める。

ここまで目を通していただき、ありがとうございます。

自分の境遇

お久しぶりです。

前回競プロについてお話してから、はや一ヶ月。この一ヶ月な主な活動はこんな感じです。

  • LineBotを作ってみた。
  • データベースを自分のパソコンに導入した。
  • 機械学習の学習を始めた。

LineBotについては、まだ簡単な機能しか実装していないのですが、一人で環境を構築してみたいという、ただそれだけの思いでやってみた。

 

今後、Qiitaかこちらのブログで、環境構築の段取りを説明しようと思う。

 

機能としては本当に単純で、、、式を入力すると、微分なり積分なりを返してくれるって、ただそれだけなんだけれど、自分が作ったものが動く、って事実が楽しい。

 

学部生の頃は物理の研究に憧れて、ただ物理ばかり考える毎日を送っていて、それはそれで充実感はあったのだけれど、いつしか好奇心が底をついていた。

やっぱり自分はものづくりが好きだ。しかも、その対象は機械設計でも、プログラミングでもなんでもいい。それが分かっただけでも、今年は大きな収穫だ。

 

考えるだけ、ではなく、考えて「形」にする。そこに幸せを感じる。

日々感じる無力感から逸脱できる。

それが何故なのかは分からない。

ただ、自分の傾向がそうである事実は受け止めよう。

 

さて、今日は機械学習の勉強をしよう。久しぶりにワクワクしている。

この気持ちを大事にしたい。

ブログはじめますた

今日からブログ開始。

【年内にAtCoderで水色】を目標に日々の進捗とメモを記そうと思います。

参考にしたサイト

qiita.com

qiita.com

これらのサイトを参考に、なんの疑念も持たず進めていこうと思う

今日の進捗

とりあえず過去問に触れねば、という受験経験を活かし、上リンクにある過去問を解いてみました。

職場ではなんやらよく理解してない中で、コードを書いていることがあり、「おっなんか動いてるっぽい」と、してはいけない経験を何度かしていました。

さらに、タスクは次から次へと降りかかるので、うまく動いた原因を究明できないまま次に進むことがありました。

それ故、成長感を感じられずにいました。

過去問を解いて提出しコードに誤りがあると、はっきりと「不正解」と評価されます。

問題のある箇所を救命しない限り「正解」をもらえないので、自分のコードがどう動いているのか考える習慣はつきそうです。

 

2時間ほどで4/10進めたところで今日は終了。

また明日進めたいと思う。