ウォンツテックスマートフォン用の表示で見るウォンツテックそでやまのーとこの広告は、90日以上更新していないブログに表示しています。今年は私個人にとって激動の1年でした。長く勤めていた前職では給与面では恵まれていましたが、そんな物は風向きが変わればすぐ無くなると考えていて、没落し続けているこの日本で生き残るため、サラリーマンを辞め個人の能力や裁量で生きたいという事を5,6年前から考えていました。とあるスタートアップの手伝いをしたり、自分で事業アイデアを考えてプロトタイプを作ったりしていましたが、去年11月くらいに、まずは自分個人が食える受託会社を作ろうと決意しました。決意してからは、数年間の経済基盤を作るべくいくつかの目標を定めていています。スキルをあげる最低今後3年間はガチプログラマーとしてやる機械学習をやるスマートコントラクトをやる営業をやる何でもやる開発系は技術的投資という意味合いでの最新技術の吸収を重視しました。前職では営業支援や炎上プロジェクトのPMとして対顧客コミュニケーションをがっつりやっていたんですが、やはり個人で生きていくには純粋な営業力が必要だろうという事で「営業」。あたり、会社の登記などを全部一人で実施しました。その他、商標申請などもやってみたり、そんなに時間を掛けなくても一人で色々出来るんだなという感想です。開発系で重視したのは「プログラミングスキル」「機械学習」「スマートコントラクト」です。(https://www.biztex.co.jp/cobit.html)の開発をゴリゴリやっています。BizteXからはメンバーとのレビュー(レビューをしてもらう&する)を実施していて、これがスキルアップに物凄く寄与しています。Learning」のコースを履修しました。その後、TensorFlowやkerasなどのライブラリを使っていくつかモデルを作って遊んでいましたが、プロダクト開発に時間を取られてあまり触れていないのが現状です。来年こそはプロダクトに組み込みたい。「スマートコントラクト」については数年前にBitcoinを知ってから去年末くらいにイーサリアムという別の仮想通貨を知り物凄く興味を覚えたと同時に社会を変えうる技術だと思い目標に入れました。残念ながら本を読むのとスマートコントラクトをプログラミングする言語solidityを簡単に触った程度で止まっています。来年は個人的趣味で少し触って行きますJoinまた、今年一番のイベントはやはり今のBizteXの代表嶋田に出会った事でしょう。最初は、作ったばかりの会社で業務委託契約をしてもらおうと初期プロトタイプを作って見てもらっていたのが、技術的な課題感が面白い事や嶋田の事業に対する熱量・人柄などに惹かれJoinする事を決断しました。上記のように個人力を高めるために自分で何でもやりたかったため、メンバーではなく裁量の大きいFounder&経営者として入れた事も決め手です。Joinしてからは、まずプロダクトをゼロから生み出すために約6ヶ月間ひたすら開発を続けました。ここで「営業やる」「何でもやる」はある程度出来たかなと思います。あと、占いなどは一切信じていないんですが、自分の生年月日だと「2017年は12年に一度の大幸運期で、人生を左右する人物に出会う」とあり、これが嶋田だったんではないかと少し信じつつあります受注そして今年一番うれしかったイベントは「初受注」です。Machine)というニューラルネットワークではない学習モデルの一つ。※mは5万くらいまでが良い。大体割合は60%:20%:20%で分けるとの事。x3などをfeatureに加える方法)の増加などを実施した際に正しく学習出来ているかを確認するためのデータセット。fittingで起こる。setのエラー率がほぼ同じになる。setをいくら増やして学習させても無駄なのでこの状態が現れたら即見直し。fitting(過学習)で起こる。setのエラー率より低く、徐々に差は縮まってくる。setを集めるなり、他の対処方法でチューニングすべし。biasになるので注意。Universityが実施しているオンラインの機械学習コースを受講しています。ビデオ講義がメインで所々に選択式や埋込み式のテストが実施され80%以上の正答率だと次の講習に進めます。全体で11週分の講義があり、コードを書いて提出させる形式のテストが週に1回ほどあります。講義ビデオですが、日本語の字幕を出せます。講義中の英語が非常に平易なので、ある程度の専門の英単語に慣れてきたら英語字幕でも理解出来るかと思います。数学についても事細かに説明されているので数学の前提知識なしでも進められるかもしれません。このコースの教授が勧めているのがOctaveという数式計算に特化した言語で、機械学習を勉強するにはこの言語が最適だとの事です。確かにOctaveは行列計算などが紙で計算する方法とだいぶ近いため、numpyのようなコンピュータよりな計算方法より取っ付き安いです。シリコンバレーの人達も機械学習のモデルを実験する際はOctaveを使う事が多いそうです。Week2(全Week11)まで受けた感想としては、機械学習を勉強する以外の障壁となる知識(数学やツールの使い方等)を極力意識させないように講義をすすめている所が大変素晴らしいです。5Kerasを使ってみるtensorflowの高機能ライブラリであるcontrib.learnを使ってみたんですが今一わかりづらかったのでもう一つの高機能ライブラリであるKerasをさわってみますとりあえず1層でOptimizerは最降下勾配方で最も単純なネットワークを組んでみますgist.github.comcontrib.learnと比べて層で何をやっているかが非常に明快です。結果としてはaccuracyが0.86くらいと前回素のtensorflowで組んだ場合の0.97と比べるとかなり低いです。rateという1回の微分でどの程度重みを移動させるかの値が0.01とかなり低い値を指定してしまっていました。素のtensorflowで組んだ場合と同じ値の0.5にしたらaccuracyは0.956と精度は近づいてます。後、精度を出すのに重要なハイパーパラメータである重みの初期値を以下のように合わせてみたんですが、精度は逆に落ちて0.952くらいとなってしまいました。learnより何をやっているか分かり易く、Try&Errorが容易に出来そうな気がします結果はaccuracyが0.991となりました。32])フィルターのtensorの順序がゼロから作る本と違う。内部的には正しい計算をしているはずなのでいいとして、TensorFlowのConvolutionの順序は縦、横、チャネル(色)、アウトプットチャネルです。padding='SAME')stridesに渡す配列の0と3番目の要素は必ず1とし、中の二つの値(同じにする)がstrideとなる。この場合はstrideが1。paddingは2種類「SAME」と「VALID」を指定出来てSAMEの場合は入力と出力のサイズが同じになるように自動でpaddingを調整してくれる。VALIDの場合は何もせず。max_pool_2x2で定義されているstridesとpaddingも同じ。ksizeはpoolフィルタのサイズで2x2。2でフィルタしてるので元の半分になる)今一何のためにやってるかわかりません。1こんな感じで0.99を超えました。3実際自分で書いた数字で試してみる前回書いたサンプルコードを使い、実際にmacのお絵描きソフトで書いた以下の数字を認識するかやってみました。mnistで試してるだけだとなんだか本当に合ってんだかよくわからないですからね。7]となり、こんな汚い数字でも無事認識していました。数字の取り込みはPILを使いgrayscaleで読み込み(convert("L"))、numpyでmatrixにし、flattenで1次元配列にしたあと反転(255で引く)と正規化(255で割る)を実施しています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。