2017年12月28日木曜日

新たな出会いと忘年会

2017年も終わりに近づいており、いろんなところで忘年会が開かれています。

うれしいことに、自分もいろんな忘年会に誘われています。

体力やお金の問題で、欠席にするものもいくつかあるのですが。

そんな中でも、今年は個人的に例年とは違う年でした。

今年初めてお会いした人々との忘年会に誘われました(まだこれからの忘年会もありますが)。

よくよく思い返してみると、今年は色々な人と会ったなーと思いました。

いろいろ新しいことも始め、それに伴ってそこでの人間関係が築かれていくのは楽しいです。

やっぱり、行動を起こすといろいろ変わっていくもんだなと思いました。裏を返せば、意識して行動しないと、変わるものもかわらず停滞したままになってしまうのだなと思っている2017の暮れ。


先日はNCC総合英語学院で勉強している人たちと忘年会をしました。

このNCC総合英語学院も今年4月ぐらいから通い始めました。普段授業へ出ているだけではあまりわからないですが、いろいろ話を聞いてみると、みなさん結構すごい経歴をもっていたり、意識が高い方ばかり。世界が違う。。。今更ながら自分はとんでもないところにきてしまったな、と思うことがあります。

忘年会では、あるあるネタで盛りあがりました。
やっぱり、みんなも普段同じことを思っているんだなと思い楽しかったです。



あと残っているのが、音楽関係の絡みでFAF管弦楽団の忘年会。
関わり自体は昨年からですが、今年から団員に。


出会う人出会う人、相手の方はすごい人ばかりなのに、自分はへなちょこで、ちょっと申し訳なかったり、引け目を感じてしまいますが、その気持ちをプラスへ転換して頑張って行こうと思います。



2017年11月25日土曜日

英検2級突破!

今日、先日受験した英検2級の合格通知がきていました。

今月初旬に2次試験(面接)があり、その手ごたえから多分合格しているだろうなーとは思っていましたが、落ちていたらいやなので、こうして合格してから記事にしました。




正直、今回の受験については英検に特化した対策は何もしないで行きました。
2次の面接対策すらも。

とはいっても、NCCの勉強をがっつりやってはいるわけですが。

先日の記事(英検を受けてきました。)でも書いたように1次は明らかに簡単すぎたので、案の定合格。

2次の面接にしても、面接官の言っていることがめちゃめちゃゆっくりに感じました。
普段ネイティヴの先生と話しているスピードの方が速いので、ゆっくり考える時間がありました。

というか、正直緊張のかけらもなく、当日も早く面接終わらせたくて、うずうずしてました。
まぁ普段通りやれば受かるだろうなーとか思ってました。

実際受けてみたら、普段課題として与えられている内容の方が難しい気がしました。

毎週毎週ネイティブの先生と英語オンリーの授業をやったり、家でもぶつぶつ英語の音読練習をしている成果か。





高地トレーニング的な感覚でやっておいて、本番は拍子抜けするぐらい簡単って感じるぐらいに、普段からプレッシャーをかけておきたいなと思った今回の試験でした。

2017年11月22日水曜日

記事を寄稿させて頂きました。

先日のことになりますが、プラス・ハンディキャップというサイトに記事を書かせて頂きました。

自己評価が低い私が陥りやすい思考回路。




最初にこのサイトをみたとき、明確にはいうことは難しいけれど、全体的になんとなく共感ができた。

編集局の方にアポをとり、「とりあえずお話だけでもさせて頂きたいです」とお願いをした。

「なにか記事とか書きたいなぁ」とは思ってはいたが、その時点では、直接お会いしてそのあとどうなるのか先の展開をどうするのか考えてはいなかった。

僕はわりと考えすぎてなかなか行動に移せないことが多いので、あえて行き当たりばったりで進んでみた。

そして記事を寄稿させていただくことになった。

記事の内容とも繋がってくるが、大学院を終了後も、契約社員としての身分で、正直世にアウトプットをできている気がしなく、それによって自信なども人に比べるとなかったので、こんな自分の文章でも世に出せて、少し自信になった。

2017年11月6日月曜日

発表会

今日は、自分のヴィオラの先生主催の発表会だった。

大きなコンサートではなく、小さなサロンを借りて行う、身内の発表会だ。

途中何度か参加できないことはありましたが、毎回参加していると、演者の顔ぶれも見慣れた人が増えてくる。

一方で、毎年新しい人も入ってくるので、初心者の人はメリーさんの羊とかからの人もいた。




そんな私は、テレマンのヴィオラ協奏曲ト長調 を演奏した。

1楽章と2楽章だけだけど。

これはヴィオラ弾きの中では割と有名な曲で(多分)、適度な難易度なので割と早い段階で挑戦することが多いとは思うのですが、実は10年ヴィオラをやっていてまだちゃんと本番としてはやったことがなかったので、回収しておきたいなと思いこの曲を選曲した。

1楽章はともかくとして、2楽章がなかなか大変。音符が細かい。

やっていることはそんなに難しくはないのですが、ところどころ地味に音が取りにくいところがあるのです。

そういう難所があったり、あるいはいざ本番になると緊張して頭が白くなることが目に見えているので、(小さいコンサートではありますが)本番で頭が白くなっても体が楽譜を覚えてくれているか不安で、数日前とかは、なんども弾き込んでいた。

練習、兼確認作業的な。どれだけ弾いいても不安が消えなかった。

ソロだと、全部バレるので、オケ以上に必死だ。っていうかオケもそれぐらい必死になろう。

最終的には、普段の練習では、ほぼ暗譜するぐらいまで練習したのだが、その難所を含め、普段ならミスしないなんでもないところまでミスをしてしまった。

というか、普段ミスしないところをミスしたせいで、気が少し動転し他の部分まで影響した気がする。

結局ミスはしてしまったが、それでも、「最低でもこれぐらいは練習しなくてはダメ」、「暗譜してさらにその先へ行くにはこれぐらいの練習量」といった目安が再確認できたので、それを次に活かしていきたいと思う。

結構今回は、弾き込んで、本番でも今まで以上にいい仕上がりだと思っていたのだが、それでも本番はミスをする。

やっぱりもっと、しつこく、ねちねち、体に刷り込まないといけないのだろう。

2017年10月26日木曜日

雨はお好き?

今日は珍しく晴れ。

昨日も雨は降ってはいませんでしたが、今日は文句なしの晴れ。


僕は雨が嫌いです。

いくつか理由はありますが、まず傘を持たなくてはいけないので荷物が増えます。

そして、靴や荷物が濡れるのも嫌です。

そして、当然日照時間が少ないので、体内時計が合わせづらい気がします。

普段から仕事の関係などでストレス感じているほうですが、雨とかになるとそれだけでストレスが倍増します。

日照時間が少ないということと関係しているかもしれませんが、日が出ていないので、それだけでなんとなく憂鬱です。



そんな雨が、しばらくずーっと続いたので、体調まで崩していました。

そして半分鬱気味。今日の天気でそれも解消されましたが。



そのぐらい雨が嫌いで、同僚との世間話のときにも、どれだけ雨が嫌いかを力説するぐらいでした。

そんななか、「雨のあとは空気が澄んでるから、嫌いってほどではない」というポジティブな意見も。

なるほど。

さらにツイッターで、こんな写真を撮っている人も。



晴れているときとは違った、こんな幻想的な写真が撮れるのであれば、あながち雨も悪くはないなと、むしろ今度雨が降ったらカメラを持って外出したいなと、少し考えを改めたこの頃でした。

2017年10月13日金曜日

こんな自分でも早起きできました。

僕はなかなか朝起きれないタイプの人間だ。

早起きしての生活に憧れて、ネットなどで早起きのコツなどをいろいろ調べてみたが、ほとんどが失敗に終わることが多い。

そんな自分でも、最近早起きの習慣がついてきたと、実感をもって言える気がしてきたので、僕の場合はどうしたかというのを書いてみたいと思う。

で、あくまでも僕がうまくいったと思っている方法だ。人によって様々かと思いますので、参考までにと思ってほしい。

しかも、部屋の環境とかにも依存しているので、どこまで汎用的な方法かはわからない。

うまくいかなかったこと

まず、自分にあった方法を書く前に、自分がどのくらいクズか、いや朝起きるのが苦手かというのを伝えるために、うまくいかなかった方法を書いてみたいと思う。

以前からいろいろネットで調べていて、よく取り上げられているだろう代表的なことを挙げてみよう。
  • 寝る前に、次の日の起きる時間を強く念じておく
  • 朝起きてから、取り組むのが楽しみなことを準備しておく。(そして寝る前に「起きたらそれをやる」と念じながら寝る)
  • なんらかの起床儀式をつくる
  • 目覚めたら伸びをする
まずこの4つに関しては、ほぼ以下のような同じ理由でダメだった。

結局、その時間に一回であれば目覚めることはできる。

しかし起きたときに、「今こんなに眠い状態・睡眠不足で起きたら、昼間にとてつもない睡魔が襲ってしまう!」という恐怖心から二度寝をしてしまうのだ。

実際は、日中睡魔が襲うにしても、いうほどひどくはないんだけどね。

起きた瞬間のまどろみの中で、「そんなことはない」と強く念じ返すのは、1回や2回ならまだしも継続的にできる方法ではないと思う。

仕組み化されていないというか。

起床儀式とか、目覚めたら伸びをするとかも同じ感じで、そういうことをする前に二度寝してしまう。

そのほかに、

  • カーテンを開ける
  • まず、カーテンを開けるという動作は目覚めているということが前提な気がしてしまう。

    窓から自然に太陽光が入ってきて自然に目覚められればいいのだが、なかなかそうもいかない。


    僕の部屋は、ベッドと窓の間に割と大きめの本棚が入ってしまっていて、朝日が差し込んでくるのはあまり望めない環境だ。

    それに、快晴とかならいいのだが、曇りとか雨の日だと、あまり強い光は期待できない。

    さらに付け加えれば、冬場とか日の出が遅いときには、そもそも起きる時間に日が昇っていないこともあるだろう。実際何度かあった。

    ということでこれも年中使える方法ではないような気がした。

  • 毎日or一定期間ずつ起床時間を早める
  • これも、体を慣らしていくっていう意味合いなんでしょうが、どのくらいの期間、その定めた同じ期間で起床すれば、慣れたと判断していいのかがいまいちわからなかった。


    さらに、僕の場合、一旦決めた起床時間通りに起きれないとその後もなし崩しにダメになって、少し進んではまたふりだしにという状態で、あまりうまくいかなかった。

    状況にかかわらず、一定時間でいいのか?という疑念にもつながった。


  • モーニングコールを頼む
  • 悲しいことにモーニングコールを頼めるほど親しい人がいない。
    そして今書いている最中に思ったが、モーニングコールを頼むっていうのは、それこそ親に起こしてもらうっていうことと大差がない気がする。

    いつまでも頼むわけにはいかないので、継続的な方法ではないと思う。


  • 白湯を飲む
  • これは特に明確な理由はないが、なんとなく長続きしなかった。これでうまくいくならこれでもいいのでは。

    自分に合っていた方法

    冒頭でも触れたが、あくまでも僕にとって合っていた方法だ。汎用性があるのかどうかはわからない。
    • 目覚ましを2個かける
    • 割と、というかかなり音が大きめの目覚ましを2つかけてみた。
    • 時間差を開けてセットする
    • これも割とよくある方法。
    • 片方は離れた場所におく
    • ここが、僕特有の環境を利用した方法が出てくる。
      いま自分がいる部屋はもともと二人部屋で、僕は二段ベッドの下の方で寝ていた。

      もう一人のほうが、しばらく部屋にはいないので、僕は上の方で寝るようにしていた。

      で、目覚ましの片方は枕元に置いておき、もう片方はベッドの下に置いている。

      ちなみに早くなる方の目覚ましが枕元で、後からなるほうの目覚ましがベッドの下だ。

      そうすると最初の目覚ましで、ある程度目が覚めていて、場合によってはそのまま二度寝してしまうが、少し時間差があったあと、よりうるさい方の目覚ましがベッドの下で鳴ることになる。

      その目覚ましを止めるためには、ベッドの梯子を降りて止めに行かなければならないので、少し止めるまでのハードルが高くなる。しかし、止めないとかなりうるさい目覚ましがなり続けてしまうのだ。

      止める頃には、割と意識もはっきりしてきている。しかしまだここで終わりではない。
    • 手と顔を洗う
    • 前になにかの番組で特集されていたときに紹介されていた方法だ。

      冷たい水で手や顔を洗えば、体が「朝だ!」と認識して体内時計がリセットされるそうだ。

      その前段階の目覚まし対策である程度、意識ははっきりしているので、手や顔を洗うのはややダメ押しという感じになるだろうか。

    • シャワーを浴びる
    • これ自体は目覚めをよくすることを目的にやっているわけではないが、結果的に体内時計のリセットに貢献している気がする。

      僕は基本的に夜もシャワーを浴びるが、朝も出勤前にシャワーを浴びて、すっきりした状態で出かけていく。

    • 寝る前の軽いストレッチ
    • これはどのくらい寝起きに関係しているのか、個人的には全く相関関係の実感はないですが、一応挙げておく。

      大体寝る前に、首回しとか屈伸とか体幹トレーニングとか、捻りのストレッチなど行ってから寝ると、気持ちよく起きれている気がする。


    こんな感じで、早く起きれるようになった気がする。

    そうして、実際それを継続していくと、「起きれるんだ」という自信もついてくるし、体も慣れてくるし、何より頭の中の常識や思い込みが修正されて、ねぼけまなこの状態の頭でも誘惑に引っ張られずに段々と起きれるようになってくる、きた気がする。

    2017年10月12日木曜日

    相互作用を起こす

    今日は、最近にしては珍しく遅めの起床。

    午後から、Violaのレッスンだった。

    発表会が迫っているので、それに向けての練習。

    しっかり練習していったつもりだったが、先生の前だとテンパリどうでもいいところミスしてしまう。本番はもっと人がきて緊張するのだからもっと練習しなくては。




    その後、某会社様へ、ご挨拶へ。

    僕は自分自身のことを受け身な姿勢の人間だと思っている。もちろん、それはあまり好ましくないとは思っている。

    現在契約社員として仕事をしている身ではあり、夢に向けて歩を進めている中ではありますが、一方で性格的なことや経歴やスキルなどの理由で、いわゆるサラリーマンはできないだろうなと思っている。

    ということは収入も限られてくるかもしれない。

    なにもアクションを起こさないままでは、なにも変わらないので、仕事につながるかどうかはともかくとして、いろいろ動き回っていくなかで、自分のアイデンティティを見つけたいなと思って、なるべく行動を起こすようにしている。

    その一環として、ネットサーフィンをしていたときに、なんとなく共感というか、目に止まった記事があったので、編集長の方に記事を書いてみたい旨、連絡をしてみた。

    正直、どう名乗って連絡をすればいいのか、あるいは名乗るべきなのか、わからなかったが、とりあえず連絡しました。

    しかし、いざ連絡をとってしまえば、名乗りがどうであるとかはあまり気にしなくてもなんとかなるものだ。

    そして直接お会いしたのが先週。話が盛り上がり、今日ミーティングがあるので見学しないかと誘われたので参加させて頂いた。






    まだ特別なにかをしたわけではないのであれだが、こういうイレギュラーな感じからの参加でも、向かう方向性さえ合えば、何かが生じて、推進していくんだなと感じた日だった。

    最近の気づき

    今日の一日。朝から盛りだくさんな一日だった。

    朝のスタートは6時より前からスタート。
    最近、早起きのコツをつかみ、比較的継続して早起きできており、余裕をもった朝の時間を送れている。

    通勤ラッシュをそれほど避けられるわけではないが、出勤前の少しの時間と出社後始業前の休憩室での時間を勉強などの時間に充てている。




    現在は、キャリアプランのことも考え、契約勤務時間を減らしているのでお昼過ぎで仕事は終わり。

    でもそのあとがなかなか盛りだくさんだった。




    まず向かったのが楽器店。

    乾燥剤とペグの動きをなめらかにする道具(コンポジションといいます)を購入した。

    そのあとに、anytimefitnessの月会費を延滞してしまっていたのでそれを支払いにいく。

    なぜだかわからないが、いたるところ電車が結構送れていたので、移動に思ったより時間がかかってしまった。

    その後はお昼というには遅すぎるが、食事をし一旦帰宅。

    少し休憩して、NCCの授業へ向かう。




    授業の内容について詳しいことを書くのは控えるが、今日は結構文法的に適当なことをたくさんしゃべってしまったなと反省。

    例えば、I have no idea.と言おうとしていたのに、I don't have no idea.とか言ってしまった。文脈とかから言わんとすることは伝わったのでスルーされたが、その場で気づかずしばらくしてから気づくという有様。

    他にもいろいろ間違えているような気がするが、それを未だに間違えてしまうのは少しショックだった。




    ということで今日一つ目の気づき。

    NCCへ入学するときの説明会かなにかで、「Thank you とかいう時に、いちいち英語で話してるって意識しないで、ありがとう=Thank you とというでしょ。それと同じレベルで自然に英語をしゃべるようにできなければならない」みたいなことを言われた。

    個人的な例でいえば、I don't know.とか I see. とかぐらいならなんとなくあんまり考えなくても言えるし。

    理屈の上でも当然だが、一かたまりのフレーズとして見てしまっているんだろうし、口の筋肉とかにも一連の動きとして染み付いているんだと思う。

    ただ、反射的に正しく言えないフレーズってのは、一つの理由として口の筋肉に一連の動きとして染み付いていないってのもあるとは思う。。。

    と、くどくど言い訳じみたことを書いてしまったが、もっと勉強と練習をする。




    今日初めて気づいたわけではないが、細切れの時間でも結構勉強できるものなんだなということに気づく。

    それこそ、単語の暗記とかであれば、時間を測ってみたら100個ぐらいをパッパと一回りするのに、10分前後で終わることがわかった。
    ということは数分程度でもかなりの数が回せることになる。

    例文暗唱系であれば、代替1〜2分ぐらいで1Topicを言い切れるような目標なので細切れの時間でもできることになる。

    それこそ、文章さえ覚えてしまえば、ひたすら声に出して、口の筋肉の練習であれば、歩きながらとか電車に乗っているときとか、その他ほぼありとあらゆるときでできる気がする。

    そういう感じでどのくらいの時間がかかるか目安が計算できるようになったので、「この時間があればこれができる」というのがわかるようになってきたので、時間を有効活用できるようになってきた。

    それに対して実際の時間はどれくらいあるのか冷静に考えてみた。

    • 朝起きてから家を出るまでの時間
    • 準備の時間とかを除くと30分もないかも。でも準備しながらぶつぶつ暗唱とかはできる
    • 始業までの時間(1時間ぐらい)
    • 昼休み(1時間)
    • その他休憩時間
    • 電車乗っている時間
    • どのくらい移動するかにもよると思うが、電車がくるまでの待ち時間+乗っている時間を合わせると少なくとも数分以上は確実にある
    • その他挙げきれないほどの細かい時間

    意外にあるものだ。

    いままで、時間がないないと弱音を吐いていたが、その気になれば有効活用できるものなんだなと思ってきた最近だった。。

    2017年10月10日火曜日

    滑舌と性格の関係

    最近、ふと思ったのが、滑舌と性格はわりと関連があるのではないかということです。

    より正確にいえば、相関という表現になりますが。

    特にそういう統計があるのかどうか調べたわけではないですが、個人的な実感としてです。




    滑舌が悪いと、聞き返されることが多かったり、それをネタにして笑われたりすることがままあります。
    陽に言葉にされなくても、そういうことは多々あるわけです。




    そういうことが重なってくると、どうしても話さなければいけないこととかではなければ、わざわざ話そうという気がなくなってくるわけです。

    で、結果内気になり、自分の内面の世界に向き合うようになるです。




    一方で、逆のパターンというのもある気がします。

    つまり、あまり話さないから滑舌が悪くなる。

    内気で、あまり話さないから、舌の動かし方とか、口の動かし方とか声の出し方とかがなんとなく衰えてくるみたいな。

    これも、全く科学的な根拠も個人的な実感はないですが、ありうるのかなって感じがします。




    だからどうってわけでもないですが。

    2017年10月9日月曜日

    NCC総合英語学院に通うことにした理由

    60万あったとき、何をするか。

    大それたことや大きく舵を切るには、少し心許ない。

    しかし、それなりにまとまった金額ではある。もうじきで30歳になろうかという時期、自分はそんな状況だった。




    もともとは大学院へ戻るつもりで、資金を貯めていて、一時期100万円程度まで達しますが、それより先がなかなか増えないという状況でした。むしろ、なにかと出費がかさみ、徐々に減っていく状況。


    このままだと、いつまでもたまらずに、何もできずに時だけがすぎて行ってしまう危機感を覚えていました。


    30歳という節目であることも意識にあり、この先の人生についての方向性やリスクもいろいろ考えました。

    そのとき軸になっていた考え方が、「手元にある約60万+α(これから入ってくる収入)」をどう活用するかということでした。

    そのまま、引き続き貯金をし続けたとしても、十分な金額になるまでどのくらいかかるかわからない。

    一方で、留学などを視野に入れる場合、資金面も去ることながら、英語力も必要だ。

    では、今手元の資金を英語力の強化にあててはどうかという考えに至ります。

    どのくらいの資金を充てるかという問題がまだあるにせよ、少なからず資金を失うわけです。その場合のリスクも考えました。

    仮にその資金を留保し、現状のまま何もしなかった場合。その場合は中途半端な資金だけが手元に残り、このまま何もできずにずるずる行ってしまうだろう。

    一方で、仮に英語力アップに投資し、万が一失敗した場合、何が変わるだろうか。
    確かに資金は失って、様々な可能性は潰えるかもしれないが、少なくとも現状より状況が悪化することはないだろう。

    逆に、しっかりと結果がついてきて英語力がアップすれば、大学院への受験のハードルも下がるだろうし、TOEFLなどでハイスコアがとれるレベルまで達すれば、奨学金などをとるチャンスもでてくるだろうし、そこまで達しなかったとしても、現状よりはキャリアの幅を広げるチャンスにもなるだろう。

    それに論文とかももっとスラスラ読めるようになりたいし。


    簡潔にいってしまえば、現状はほぼ失うものがないという感じだったということです。
    だったら、賭けに使ってみようという算段でした。



    そこから先、NCC総合英語学院を選ぶまでの思考過程はそれほど深くはありません。

    強いていうのであれば、大学院時代、英語の教科書を読んではいましたが、中学以来まともに文法の勉強をしたことがないので、正直どのくらいのところからスタートすればいいのかわからない状況でした。

    高校時代の英語は割と最初の放棄してしまったので、どんなことをやっていたのかほとんど記憶なし。そんなでも数学の本であれば英語で読めてしまうのです。あー怖い怖い。

    いろいろ調べたのですが、TOEICとかでそれなりのスコアを出しているような人向けの学校が多い中、かなり初歩から上はすごいレベルまで面倒を見てくれそうなのがNCCでした。

    あとそれに対する授業料の安さ。費用対効果が凄すぎる。

    そんないきさつが、NCCへ入学した理由になります。



    まだNCCへ入学し半年ほどですが、それでも十分すぎるほど効果を実感しています。

    だからこそもっと加速してがんばろうと思います。

    2017年10月8日日曜日

    英検を受けてきました。

    今日は英検を受けてきました。

    実は半年ほど前から、NCC総合英語学院という英語学校へ通っていまして、現時点での力試しとして受けてみました。

    (NCCへ通うことになった経緯はまたいずれ書きます。)

    実は、前回(NCCへ通い始める前)に受けた準2級があとわずかで落ちてしまっていたようですが、今回は準2をすっ飛ばし、2級と準1をダブル受験しました。


    時間的な順番として2級→準1と想像していたのですが、受験票が届きまさかの準1→2級の順番。
    ウォーミングアップができないー!
    ま、準1はもともとチャレンジのつもりだったのでいいですが。


    今回、特に英検に特化した準備はせず、そのまま挑みました。
    しかも若干なめてるのか、前日にオーケストラの本番をやり、その後の飲み会までがっつり参加。
    結局朝から出て、帰ってきたのが夜で、帰ってそのまま寝てしまうという、あまりにもテスト前とは思えない生活笑)

    まぁ、普段やっているから、今更小手先でどうこうしても変わらんだろ、とよくも悪くも開きなおりですね。



    で、手応えとしてはまずまずでした。

    準1級については、今回は落ちたような気はしますが、以前であれば全く箸にも棒にも引っかからないレベルだったかと思いますが、今回は、「これからもっと勉強すればなんとかなるかも」と思えるぐらいの手応えは感じました。


    準1級を受けたあとからなのか、2級に関しては異様に簡単に感じました。サクサク答えられる♪

    それこそ、前回準2級を受けたときは、準2級ですら苦労して(結果落ちていたのに)、それより上の級がすごい楽に感じるとは、すごい進歩だなと思いました。


    当たり前かもしれないですが、問題の形式も若干違うんですね。

    2級だと問題の説明とかは日本語ですが、準1だと問題の説明とか含めて全部英語。

    あと、2級から英作文の問題もあることを、今日初めてしりました。



    半年間NCCへ通って、着実に基礎体力があがっているなと感じた1日でした。

    これからも一層ペースアップして頑張る。

    2017年7月21日金曜日

    Skleranを使ってみる3

    前回の『Sklearnを使ってみる2』を引き続き読み進めていく。

    本の方では、『Setosaとそれ以外という分類は簡単にできたが、ではSetosa以外をVirginicaとVirsicolorに分類するのはどうすればいいか、簡単にできそうにはない』と話が進んでいく。

    ではどうするかというと、とりあえずの回答として『力技で総当たりで閾値を探す』という方法をとる。

    で、まず手始めの準備として、Setosa以外だけから成る、特徴量とラベルを改めて抽出しなおしておく。
    (不要なところは#でコメントアウトしてある。)
    from matplotlib import pyplot as plt
    from sklearn.datasets import load_iris
    import numpy as np
    
    data = load_iris()
    
    features=data["data"]
    feature_names=data["feature_names"]
    target=data["target"]
    target_names=data["target_names"]
    labels=target_names[target]
    
    
    #for t,marker,c in zip (range(3),'>ox','rgb'):
    #    
    #    plt.scatter(features[target == t,0],features[target == t,1],marker=marker,c=c)
    #
    #plt.show()
    
    
    plength=features[:,2]
    is_setosa=(labels=='setosa')
    
    max_setosa=plength[is_setosa].max()
    min_non_setosa=plength[~is_setosa].min()
    
    #print('Maximum of setosa:{0}'.format(max_setosa))
    #print('Minimum of others:{0}'.format(min_non_setosa))
    
    features=features[~is_setosa]
    labels=labels[~is_setosa]
    virginica=(labels=="virginica")
    
    
    最後の三行
    features=features[~is_setosa]
    labels=labels[~is_setosa]
    virginica=(labels=="virginica")
    
    が新たに加わった分。 最初の二行も前回やったブールインデックス参照。

    is_setosaがsetosaのところがTrueでそれ以外がFalseの配列なので、それをTrueとFalseを反転させている。

    なので~is_setosaは、setosa以外がTrueになっていて、setosaがFalseになっています。
    で、ブールインデックス参照を使って、配列からsetosa以外に該当するものを抽出している。

    三行目は二行目で抽出したsetosa以外のラベルから、特にvirginicaに一致するものだけをさらに抽出し、ブーリアン配列を生成する。

    で、本題の閾値を探す部分のコードが以下。
    #初期値の値は処理に影響がないように適当に決める。
    とりあえず絶対に影響がないような値として負の値で設定しています。
    best_acc=-1.0       #正解率の値の初期値
    best_fi=-1.0          #閾値となる特徴量のラベルの値の初期値
    best_t=-1.0           #具体的な閾値の数値の初期値
    
    
    for fi in range(features.shape[1]):    #features.shapeの値はこのとき(100,4)となっている。
    なのでfeatures.shape[1]は4。つまり特徴量の個数です。全ての特徴量を総当たりで試すという方針。
    
        thresh=features[:,fi].copy()       #特徴量を一つ固定してそれに対する数値を全部抽出
        thresh.sort()         #上の行で抽出した数値をソートする。
    
        for t in thresh:       #測定値一つ一つに対して、「それが閾値になりうるか」を総当たりで試す。
    
            pred=(features[:,fi]>t)      #測定値一つをとりあえず閾値として固定して、
    その閾値以上となっている測定値に対して新しいブーリアン配列としている。
    
            if (labels[pred]=="virginica")!=():     #accがnanになることを排除。詳細は下記で。
            acc=(labels[pred]=="virginica".mean())      
    
    #上の行でつくったブーリアン配列に対して、さらにラベルが"virginica"に一致しているものを抽出。
    #つまり、結果としては、測定値が閾値以上でかつvirginicaであるものを抽出してその平均をとっている。
            if acc > best_acc:    #よりよい結果を出した「特徴量と閾値の組み合わせ」に更新する処理。
              best_acc=acc      #もし、よりいい正解率が出たのなら、よりその時点での最良正解率としてそれに更新
              best_fi=fi             #もし、よりいい正解率がでたのなら、そのときの特徴量を採用。
              best_t=t              #もし、よりいい正解率がでたのなら、そのときの閾値を採用。
    
    
    
    本文とは違い、if(labels[pred]=="virginica")!=():  という行を追加していますが、これなしだと、accがnanになってしまうことがあるので追加している。

    最後に以下を追加して一段落。
    def apply_model(example):
       if example[best_fi] > best_t : print("virginica")
       else:print("versicolor")
    

    久しぶりの演奏会

    いまさらながら、という投稿ではありますが、先日7月8日、FAF管弦楽団の演奏会で演奏してしました。っていうか、宣伝の意味もかねて本番前に、書けよって話しですよね(^^;)






    まさかの本番近い時期に夏風邪をひいてしまい、未だに体調が100パーセントではないのですが、とりあえず本番とかはできる程度には回復し、咳も治った状態で演奏会へ望めました。

    で、来場者人数は1024人!すごい。。。っていうかここまで集客できるってすごいですよね。



    去年の10月、高校のOBオケが終わってから社会人オケを探していました。

    前回ショスタコのときもエキストラで誘われましたが、他にもいろいろ見てまわりたかったのと、曲が曲なので、そのときは一旦見送りにしました。

    他のオケもいろいろ見学しに行き比較した結果なんとなくいいなーと思い、今回ドボルザークプログラムで試し参加として誘われ参加。

    何回か参加し、このオケに入団することになりました。

    色々なオケに見学に行きましたが、個人個人が技量が足りていないオケとか引き散らかしているようなオケもある中、このオケはうまい人が多く、オケとしても一つの音にしようとする姿勢が伝わってくるので、弾きやすいです。(もちろんこのオケよりもはるかにうまいアマオケもたくさんありますが、一方でレベルが低いオケもあるということです。)

    あと、来てくださる先生方が豪華すぎる!

    毎回練習のあとに行きつけの飲み屋があり、飲み会も充実!


    今回のドボルザークは、エキストラとしてよくわからない身分で参加しておりましたが、その間もよくして頂き、みなさま人柄もいいです。


    っていう感じでステマっぽくなってしまいましたが、こんな感じです。

    団員絶賛募集中状態なので、興味ある方は是非♪

    2017年3月21日火曜日

    一回限りのオケに参加しました

    先日のことになりますが、一発オケの演奏会本番に出演してきました。

    オルケーストル・ウリープカというオケでした。



    昨年、ヴィオラの練習を再開し、以前の記事でも書いた高校オケの記念オケ(『50周年記念演奏会を終えて』)が終わったあと、どこか所属するオケを探そうと思って探している最中に、見つけたオケ。

    ネットから応募して参加。

    継続的に所属するオケを決めるには、もう少し色々なオケを見学してみたいし、かといってなにか演奏会にも乗りたいし。。。と思っているところへ、ラフマニノフの交響曲2番をやるというところに目が行き、練習日程なども都合がつきそうだったので参加しました。
    (このオケ自体の目的はハチャトゥリアンのバイオリン協奏曲をやるのが本来の目的ですが)


    ラフマニノフ交響曲2番は大学2年のときに1回やりました。しかしそのときは難しすぎて、若干トラウマになっており、いつかリベンジしたいと思っておりました。

    2回目なので、重点的に練習しなければいけない箇所や曲全体の理解も深まっているはずでしたが、それでもなお難しい!

    改めてといか、2回目にしてようやく、「ラフマニノフは難しい」というのを理解した気がします。同じ「難しい」でもただただ難しいとしか思っていなかった1回目と比べれば、「難しいということを理解」したので、少しは成長したのかなと。

    難しかったですが、全体的に1回目よりは弾けたので、そういう意味ではトラウマは少し克服できたかなと思います。



    一発オケとはいいつつも、一応母体のオケ、オーケストラ・ソリーソからのスピンオフ的なオケだったので、大半のメンバーは中心メンバーからの知り合いの人たち。その他自分のように、全くの知り合いなしにネットから応募した人も。

    なので、本来であれば一人も知り合いはいないはずでしたが、知り合いの知り合いがいることが判明。
    改めて世界は狭いなと思いました。

    このオケで全く新しく知り合いになった人もいたりして、この狭い世界、またどこかで会うんだろうなということはそれほど想像に難くない。

    そうやってまた仲間が増えました。

    そうやって、ふらふらしながら、新しい人間関係を築いていく、その集団に溶け込んでいくのは、楽しいです。

    コミュニケーション能力は低いのにね笑)

    2017年1月16日月曜日

    Sklearnを使ってみる2

    以前、といってもかなり前になってしまいますが、『Sklearnを使ってみる1』という投稿で、『実践 機械学習システム』という本を読み進めようとしていましたが、かなり間があいてしまいましたが、続きをやっていこうと思います。


    前回、とりあえず以下のコードが動きました。
    from matplotlib import pyplot as plt
    from sklearn.datasets import load_iris
    import numpy as np
    
    data = load_iris()
    
    features=data["data"]
    feature_names=data["feature_names"]
    target=data["target"]
    target_names=data["target_names"]
    labels=target_names[target]
    
    for t,marker,c in zip (xrange(3),">ox","rgb"):
    
     plt.scatter(features[target == t,0],features[target == t,1],marker=marker,c=c)
    


    とりあえず、この先
    for t,marker,c in zip (xrange(3),">ox","rgb"):
    
     plt.scatter(features[target == t,0],features[target == t,1],marker=marker,c=c)
    
    

    の部分は使わないので、コメントアウトするなり消すなりしておきます。
    from matplotlib import pyplot as plt
    from sklearn.datasets import load_iris
    import numpy as np
    
    data = load_iris()
    
    features=data["data"]
    feature_names=data["feature_names"]
    target=data["target"]
    target_names=data["target_names"]
    labels=target_names[target]
    
    #for t,marker,c in zip (xrange(3),">ox","rgb"):
    
     #plt.scatter(features[target == t,0],features[target == t,1],marker=marker,c=c)
    


    で代わりにコードを継ぎ足して以下のようにします。
    from matplotlib import pyplot as plt
    from sklearn.datasets import load_iris
    import numpy as np
    
    data = load_iris()
    
    features=data["data"]
    feature_names=data["feature_names"]
    target=data["target"]
    target_names=data["target_names"]
    labels=target_names[target]
    
    #for t,marker,c in zip (xrange(3),">ox","rgb"):
    
     #plt.scatter(features[target == t,0],features[target == t,1],marker=marker,c=c)
    
    
    ###追加した部分
    plength=features[:,2]
    is_setosa=(labels=='setosa')
    
    max_setosa=plength[is_setosa].max()
    min_non_setosa=plength[~is_setosa].min()
    
    print("Maximum of setosa:{0}".format(max_setosa))
    print("Minimum of others:{0}".format(min_non_setosa))
    
    


    一行一行説明していきます。

    plengthの行

    まず、plengthの行は、生データから花弁の長さ(plength)の値だけからなる新しい配列を作成しています。

    前回、Irisデータセットは辞書型配列になっていて、その"data"要素には生データの一覧がarray型で格納されているということを確認しました。

    それで、そのdata要素をfeaturesという変数に格納しました。(なので当然featuresにも生データが入っている。)

    featuresの中は特徴量がarray型としてデータ別に入っているわけです。各要素の3番目の要素(インデックスとしては2番目)には花弁の長さの値が入っているので、インデックス2番目だけをすべて抽出して、plengthという変数に配列として格納しますよ、という意味。

    厳密に言えば、plengthの型はarray型です。気になるようであれば、print(type(plength))として確認する。

    plengthの部分だけ確認するのであれば、print(plength)を一番最後に追記しておけば、本当かどうか確かめられる。


    from matplotlib import pyplot as plt
    from sklearn.datasets import load_iris
    import numpy as np
    
    data = load_iris()
    
    features=data["data"]
    feature_names=data["feature_names"]
    target=data["target"]
    target_names=data["target_names"]
    labels=target_names[target]
    
    #for t,marker,c in zip (xrange(3),">ox","rgb"):
    
     #plt.scatter(features[target == t,0],features[target == t,1],marker=marker,c=c)
    
    
    ###追加した部分
    plength=features[:,2]
    is_setosa=(labels=='setosa')
    
    max_setosa=plength[is_setosa].max()
    min_non_setosa=plength[~is_setosa].min()
    
    #print("Maximum of setosa:{0}".format(max_setosa))
    #print("Minimum of others:{0}".format(min_non_setosa))
    
    print(plength)
    print(type(plength))
    
    


    これを実行すれば、
    [ 1.4  1.4  1.3  1.5  1.4  1.7  1.4  1.5  1.4  1.5  1.5  1.6  1.4  1.1  1.2
      1.5  1.3  1.4  1.7  1.5  1.7  1.5  1.   1.7  1.9  1.6  1.6  1.5  1.4  1.6
      1.6  1.5  1.5  1.4  1.5  1.2  1.3  1.5  1.3  1.5  1.3  1.3  1.3  1.6  1.9
      1.4  1.6  1.4  1.5  1.4  4.7  4.5  4.9  4.   4.6  4.5  4.7  3.3  4.6  3.9
      3.5  4.2  4.   4.7  3.6  4.4  4.5  4.1  4.5  3.9  4.8  4.   4.9  4.7  4.3
      4.4  4.8  5.   4.5  3.5  3.8  3.7  3.9  5.1  4.5  4.5  4.7  4.4  4.1  4.
      4.4  4.6  4.   3.3  4.2  4.2  4.2  4.3  3.   4.1  6.   5.1  5.9  5.6  5.8
      6.6  4.5  6.3  5.8  6.1  5.1  5.3  5.5  5.   5.1  5.3  5.5  6.7  6.9  5.
      5.7  4.9  6.7  4.9  5.7  6.   4.8  4.9  5.6  5.8  6.1  6.4  5.6  5.1  5.6
      6.1  5.6  5.5  4.8  5.4  5.6  5.1  5.1  5.9  5.7  5.2  5.   5.2  5.4  5.1]

    こうなる。

    is_setosaの行

    次にis_setosaの行。
    まさにリスト内包表記を使っている例。
    前回でlabelという変数に、どのデータがどの花なのかという名前の対応リストを格納しました。

    (label=='setosa')で、labelの中の名前の一覧と比較してsetosaに一致していればTrueを、そうでなければFalseを返してTrueかFalseから成る配列を生成しis_setosaに格納します。

    もっとスマートにいえばブーリアン配列を生成するということです。

    確認するには、例のごとくprint(is_setosa)を追記して実行すればいいです。面倒なのと、若干くどい気もするので、ここは省略。


    max_setosaの行

    次にmax_setosaの行へ行きます。

    plength[is_setosa]の意味ですが、ブールインデックス参照という書き方です。

    is_setosaがTrue or Falseからなる配列であることを上で書きました。そういうブーリアン配列をインデックスとして代入すると、plengthの要素の中からブーリアン配列のTrueに対応している要素だけを抽出して新しい配列を作成します。

    Trueになっているのはsetosaのところでしたので、setosaに対応している花弁の長さだけが抽出できます。

    plength[is_setosa]という名前の新しい配列なので、それにmax()メソッドを使っている。

    つまり、setosaの花弁の長さの中で一番値が大きいものを、max_setosaに代入。

    min_non_setosaの行

    この行も、先ほど使ったブールインデックス参照が使われてます。

    今度はsetosa以外のものの最小値を求めています。

    setosa以外、ということはis_setosaにおいてはFalseにあたるものです。

    Falseのままではブールインデックス参照ができないので、「~」演算子を使ってビット反転させis_setosaのTrueはFalseに、FalseはTrueにしてして代入しています。

    printの行

    最後は、処理というよりは、単純にpythonの文法ですが、一応自分なりに説明しておきます。

    これは文字列に対するformatメソッドです。
    調べてみると、formatメソッドにもいろいろ描き方のバリエーションがあるようですが、おそらく基本的な描き方は以下の形式かと思われます。

    '文字列'.format(要素0,要素1,・・・)
    ドットより前の文字列の中に、formatに引数として渡されている要素のインデックスの番号を代わりに代入して、最終的な出力文字列の体裁だけ整えるイメージです。

    上記の"Maximum of setosa:{0}".format(max_setosa)とかであれば、この場合はformatメソッドに渡している要素が一つだけなので、それがインデックス0番目ということになりますが、それを「Maximum of setosa:{0}」という文字列の{0}をmax_setosaで置き換えたものが、結果としてできる文字列です。それをprintしている。
    {数字}のところが、その番号に対応しているインデックスの要素で置きかわるという意味です。
    詳しくは、下でまとめてあるリンクや本を参照。


    で結局のところ、
    from matplotlib import pyplot as plt
    from sklearn.datasets import load_iris
    import numpy as np
    
    data = load_iris()
    
    features=data["data"]
    feature_names=data["feature_names"]
    target=data["target"]
    target_names=data["target_names"]
    labels=target_names[target]
    
    
    #for t,marker,c in zip (range(3),'>ox','rgb'):
    #    
    #    plt.scatter(features[target == t,0],features[target == t,1],marker=marker,c=c)
    #
    #plt.show()
    
    
    plength=features[:,2]
    is_setosa=(labels=='setosa')
    
    max_setosa=plength[is_setosa].max()
    min_non_setosa=plength[~is_setosa].min()
    
    print('Maximum of setosa:{0}'.format(max_setosa))
    print('Minimum of others:{0}'.format(min_non_setosa))
    

    を実行すると、
    hiroshi-no-MacBook-Air:Pro-tr hiroshi$ python3 others.py
    Maximum of setosa:1.9
    Minimum of others:3.0
    

    という感じになります。
    参考にしたページや文献・書籍
    NumPy配列のブールインデックス参照 | hydroculのメモ
    Python 3 の文字列フォーマット formatメソッド | TM Life
    『実践 機械学習システム』(オライリー)