Machine Learning: An Algorithmic Perspective 11章

Optimization and Search

ProductName Machine Learning: An Algorithmic Perspective (Chapman & Hall/Crc Machine Learning & Patrtern Recognition)
Stephen Marsland
Chapman & Hall / ¥ 6,529 ()
通常2~3週間以内に発送

共役勾配法とか。

章としてはあんまそそられなかった。

Machine Learning: An Algorithmic Perspective 10章

次元縮約のアルゴリズム。LDA,PCA,Kernel PCA,ICA,LLE,Isomapあたり。

ProductName Machine Learning: An Algorithmic Perspective (Chapman & Hall/Crc Machine Learning & Patrtern Recognition)
Stephen Marsland
Chapman & Hall / ¥ 6,529 ()
通常2~3週間以内に発送

後半部分がちゃんと理解出来ていない。10.2.1でPCAと多層パーセプトロンの関連性を論じているのだけど、そこがよくわからなかった。あとLLE,MDS,Isomapをきちんと理解してないので、ちゃんと読んで一回実装してみる必要がある。

「「履歴書のウソ」の見抜き方 調べ方」を読んだ

「優秀な人材をいかに確保するか」とは全く関係なくて、単に「ダメなやつを如何に避けるか」の技術な気が。

伝説の人事部長は「優秀な人材」を見抜けたのじゃろか?

履歴書や職務経歴書に隠された「ウソ」と「真実」を見抜け!1万人以上を面接した「伝説の人事部長」が、「応募書類で騙されない」技術をすべて教えます。

ProductName 「履歴書のウソ」の見抜き方 調べ方
谷所 健一郎
シーアンドアール研究所 / ¥ 1,575 ()
在庫あり。

ネガティブスクリーニングの本としては面白い。可笑しいとこもあるけど、たぶんそういう人もいるんでしょう。

  • マンション名を省くと仕事が雑と見られる可能性がある
  • 多分野にまたがる資格を多数取得していると、職務能力を疑われる可能性がある
  • 多彩な趣味を記載すると、趣味中心の人間で仕事に集中出来ないと評価される可能性がある
  • 給与、待遇に固執すると、金銭面の問題を疑われる可能性がある
  • 職務履歴書を手書きにすると、ITリテラシーを疑われる可能性がある
  • 分量が多すぎると、自己分析能力を疑われる可能性がある
  • 前職の経験が10年以上あると、環境適応力を疑われる可能性がある
  • 6ヶ月以上のブランクは、ネガティブ要因とみなされる可能性がある

まぁ、それなりに面白かった。

「負けない議論術」を読んだ

最初のほうは面白かったけど、途中からなんだか、、、、広義の議論術というか。

ProductName 世界の凄腕ビジネスマンと渡り合う日本人弁護士の 負けない議論術
大橋 弘昌
ダイヤモンド社 / ¥ 1,500 ()
在庫あり。

  • 実際に意見を論じ合う時には、相手を説得しながら、それを聞いている周りの人達にもアピールしなくてはならないことが多い
  • 相手を正そうとするのではなく、「自分だったらこう思う」と言う
  • 過去の言動を批判されたら、議論の方向を将来に向ける
  • 自分の望む結論を含む質問をする
  • 前向きな提案を受けたら試してみようと言う
    • ショットは打たなければ100%入らない

「ブラック会社限界対策委員会」を読んだ

軽い読み物

ProductName ブラック会社限界対策委員会
ヨシタケ シンスケ
パルコ / ¥ 1,000 ()
在庫あり。

  • 上司が一度OKを出した仕事なのに、上の人間の反応で、発言を覆して、敵にまわるんですが、それって。

の返しが面白かった。

Google Android アプリケーション開発入門(Google Maps)

9章。build targetをGoogle APIにしないといけなかったのがわからなくて、MapActivity does not extend android.app.Activityとか、com.googleがimportできねーとか、マニフェストに謎のエラーが出たりして一昼夜悩んだ。

android with google maps

10章はバーコードリーダーにするサンプルなんだけど、実機ないと面白くなさそうだからいいや。

ABOVE & BEYOND / CAMO & KROOKED

September (Camo & Krooked RMX)が素敵すぎる。

ProductName ABOVE & BEYOND
CAMO & KROOKED
CAPITAL 20 RECORDS / ?円 ( 2010-03-15 )


全体的にチャカチャカとウルサイけどまぁアリかな。

「しくみ」マネー術

要するに複利にこつこつ投資しなさいというビギナー向けの内容

ProductName 「しくみ」マネー術
竹川 美奈子
PHP研究所 / ¥ 1,365 ()
在庫あり。

アセットアロケーションはしなきゃなと常々思うのだけどやってないのだよな。

最近の娘のブームが僕のmacbookでタブレット使ってお絵かきすることなので、僕は隣でビジネス本を読むことが増えている。

ProductName Wacom Bamboo Fun CTE-450/W0

ワコム / ¥ 13,629 (2007-09-14)


Google Android アプリケーション開発入門(SQLite)

Google Android アプリケーション開発入門8章のSQLiteを使うサンプル

google android

LeadOptimizationをシミュレーションしたい

ふと、つぶやいた

例えば

  • プロジェクトで500検体合成
  • ひとつの親あたり5-25化合物くらいの子を合成する
  • プロジェクトの人員の制限により、一度に10ラインまでしか同時に走らない
    • 11番目以降はそれ以降のオプティマイゼーションは行われない

その時知りたいことは、

  • {計画、合成、アッセイ、解析}というサイクルは何回まわるのか、
  • 有望そうな化合物だけど、人的リソースの関係で選択されなかった歴史はどこにあるか?
  • バックアップ候補の化合物はどこら辺で現れるか(初期?中期?)

あたり。

現実の系に近づけるために、親化合物にはポテンシャルがあって、近傍探索すると、ポテンシャルの近くで活性が変化するモデル。あと同じライン(ブランチ)を継続して合成すると、ポテンシャル曲線が底に近づくのと、合成もSARに関する知識がついてくるので、活性は上がりやすくなって、かつ変動幅も小さくなるようにweightはだんだん小さくなるようにしてみた。

#!/usr/bin/env python
# -*- encoding:utf-8 -*-

# kzfm <kerolinq@gmail.com>

from random import random
import networkx as nx
import matplotlib.pyplot as plt


class Branch(object):
    """LeadOptimization flow"""

    count = 0

    @classmethod
    def inc_count(cls):
        cls.count = cls.count + 1
        return cls.count

    @classmethod
    def get_count(cls): return cls.count

    def __cmp__(self, other):
        return cmp(self.act, other.act)

    def __init__(self,potency,weight):
        self.num = Branch.inc_count()
        self.potency = potency
        self.weight  = weight
        self.act = self.potency + self.weight * random()

    def make_child(self,num_childs,potency,weight):
        return [Branch(self.potency + self.weight * random(),self.weight * 0.7) for i in range(num_childs)]

if __name__ == "__main__":
    max_comps        = 500
    initial_branches = 3
    nodesize         = []
    nrange           = []
    erange           = []
    generation       = 1
    heads = [Branch(0.3,1) for i in range(initial_branches)]
    G=nx.Graph()

    for h in heads: 
        nodesize.append(h.act * 30)
        nrange.append(generation)

    while Branch.get_count() < max_comps:
        new_heads = []
        generation += 1
        for branch in heads[:10]:
            for new_comp in branch.make_child(int(5+20*random()),branch.potency,branch.weight):
                nodesize.append(new_comp.act * 30)
                nrange.append(generation)
                erange.append(generation)
                G.add_edge(branch.num,new_comp.num)
                if new_comp.act > 0.75:
                    new_heads.append(new_comp)
        heads = new_heads
        heads.sort()

    nx.draw_spring(G, node_size=nodesize, node_color=nrange, edge_color=erange,alpha=0.7, \
cmap=plt.cm.hot, edge_cmap=plt.cm.hot, with_labels=False)
    plt.savefig("proj.png")

project

んーなんかいまいち。一応活性の強弱にあわせてノードのサイズが変わるようにしてみたんだけど、大きさがわからん。