「未分類」カテゴリーアーカイブ

結婚記念日

 昨日、いい仕事するから仕事ちょうだい、みたいなこと書いたら「仕事ないのか?大丈夫か?」と心配してくださった方。ありがとうございます。いや、まあ、おかげさまで忙しく仕事してます。ちょっとオーバーワークぎみを心配してしまう贅沢な悩みがあるくらいです。でも零細企業だからいつなんどき仕事が途切れるかと思うと怖くて仕事断れないですね。来るものは拒まず、去るものは追う。

 タイトルと全然関係なさそうな話になってますが、関係ありあり。先日は結婚記念日でした。サラリーマン時代は少なくとも結婚記念日だけはとりあえず休暇を取ってました。休暇取ってるのに急ぎの用事があって出社したこともありますが、それでも早々に切り上げて帰宅してました。それなのに、今年はとうとう休めませんでした。朝から夕方まで外で仕事が・・・。専門学校で授業やってました。

 でもカミさんがケーキを買ってあって、夕食後に家族でケーキを食べました。2人の子供がクリスマスの時に余ったクラッカーがあるのを思い出してそれを「パーン!」とやって祝ってくれました。ありがたや、ありがたや。

そうだよなと思った

ちょっと古い記事だけどね
「どうせ理系出身者なんていらねえんだよ。」
http://anond.hatelabo.jp/20071105005919

 「バカに金を出させて仕事をしないで責任を顧客か下請けに押し付ける」のがSIerの本質で、それを実践する社員が出世する業界だと。2007年の記事だけど2010年の現在も同感できる。

 顧客の目的を十分に満たして良いシステム作ろうなんて無駄なことしちゃったりなんかして。頼まれたとおりに作ったらお客様が損するからってお客様に仕様の詳細をきっちり問い合わせちゃったりベターな解決策を考えて提案しちゃったりする。

 記事では、↑こういう尋常な理系人間やKYな文系人間は出世できないと言っている。そして

SIの本質は「バカに金を出させて仕事をしないで責任を顧客か下請けに押し付ける」ことで、それをやったにもかかわらず顧客が金をとりかえそうとしなければ大成功です。

↑あーあ、この人ホントのこと言っちゃったよ。

 情報工学科出身の諸君、自分の作りたいようにシステム作りたかったら、自分で会社を興しなさい。または作りたいものを既に開発中の企業に入りなさい。そのシステムで直接ビジネスしなさい。
 今SIerに仕事を頼んでいる皆様。良いシステムが使いたかったら、直接に理系出身者、特に情報工学出身者を雇い、自分たちの仲間にし、仲間を助けさせなさい。SIerなんかに頼んでる場合じゃないですよ。

 今、Cosmetic-Info.jpのシステムを応用して、全成分リストの自動作成や処方情報を管理できる化粧品メーカー向けの社内システムを開発中。大手IT企業が作っている似たようなシステムをいくつか見たけど、どれもイマイチだなぁと感じたのは、いいものを作るのがSIerの本質じゃないからなんだろうな。

 そう、私も「工学がやりたい」「使う人を裏切りたくない」「黒ひげ危機一髪みたいな仕事は楽しくない」「自分の作ったもので、誰かによろこんで欲しい」からIT企業への転職じゃなく、会社を興した。

 とかプチ理想論を語ってみたものの、理想は大切だけど「武士は食わねど高楊枝」ってわけにもいかないので、いただけるものはしっかりいただかないとな。え? 何が言いたいか? そりゃ「いいもの作るんで仕事ちょうだい」ってこと(笑)

EXCELで最小二乗法(2)

 昨日の続き。EXCELを使って最小二乗法による近似を行なうには「ソルバー」機能を使う。Windows版Excelには内蔵されているけど、Mac版ExcelにはないのでMacユーザな私はSolver for Mac Excel 2008というソフトを使う。Windows版Excel内蔵ソルバーもSolver for Mac Excel 2008も画面や動作はほぼ同じなのでWinな人も構わず読んでください。

 さて、Excel上に下記のデータを用意する。

  • A列、B列に実験値
  • 適当なセルにモデル式に使う定数
  • C列にモデル値
  • D列に実験値とモデル値の差の二乗
  • 適当なセルに差の二乗和

 そしたらソルバーを起動する。target cell(目的セル)に差の二乗和を計算しているセルを指定、equal to(目標値)は[min](最小)を指定、Changing cells(変化させるセル)には定数を入力しているセルを指定する。

 これでSolve(実行)をクリックすると、ソルバーは[変化させるセル]の値をちょっとずつ動かしながら[目的セル]の値が[最小]になる組み合わせを見つけていく。本当に画面上でセルの値がガラガラと変化するので、なんか人間味を感じてしまう。

 ソルバーがアレやコレや考えた末に目標を達成すると(今回の場合は[目的セル]が[最小]になったら)ソルバーは終了する。思考結果を残すか、元に戻すか聞かれるので決めてあげる。たいていの場合は[OK]押して思考結果を残せばいい。

 ソルバーによる思考の結果、y=A+B*exp(C*x)のモデル式でA=9.45, B=20.9, C=-0.114とすると実験値を近似できるという結果が得られます。実験値に近似した式のグラフを重ねると次のようになります。

 この結果から、減衰の度合いは-0.114で表され、初期値30.35から最終的に9.45に収束する減衰挙動であると評価することができます。ソルバーを使う時のポイントはあらかじめ与える定数をできるだけそれっぽい値にしておくということ。ソルバーは与えられた値をちょっとずつ動かしながら試行錯誤を繰り返しながら目的セルが最小になる組み合わせを探しますが、正確にはこれは極小値です。初めに与えた値があまりにも不正確だと的外れな組み合わせを導いてしまいます。

極小と最小の概念

 ところで、近似する際にある値だけは固定したい場合があります。そういうときはソルバーでSubject to the Constraints(制約条件)を設定しておけばできる。例えば初期値は実験結果である30に固定したい場合、実験値の初期値B2セルとモデル値の初期値C2セルの値が等しくなるという条件を追加する。

 これでソルバーを実行するとA=9.42, B=20.6, C=-0.112が得られる。グラフにするとy切片がきっちり30になる。

 てな具合で、ソルバーを使うと理論式や経験式への近似計算(計算というより探索)が簡単にできる。理系なら覚えておいて損はない。