<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>taichino.com &#187; Academic</title>
	<atom:link href="http://taichino.com/category/academic/feed" rel="self" type="application/rss+xml" />
	<link>http://taichino.com</link>
	<description>永遠のネバーランド</description>
	<lastBuildDate>Sat, 04 Feb 2012 13:33:04 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>tanimoto係数のメモ</title>
		<link>http://taichino.com/academic/973</link>
		<comments>http://taichino.com/academic/973#comments</comments>
		<pubDate>Tue, 15 Sep 2009 17:52:29 +0000</pubDate>
		<dc:creator>taichino</dc:creator>
				<category><![CDATA[Academic]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[tanimoto coefficient]]></category>

		<guid isPermaLink="false">http://taichino.com/?p=973</guid>
		<description><![CDATA[オブジェクト間の類似度を測る方法の一つにtanimoto係数というのがあります。wikipediaには集合間の類似度を求めるとの説明がありますが、オブジェクトはプロパティの集合なので別に問題はありませんね。 定義はwikipediaの通りなのですが、日本語では無いので書いておきます。 この値はベクトルAとBが完全に一致した場合は1、全く一致しない場合は0になるので正規化等する必要もなく使い易いですね。もちろん1に近いほど類似度は高くなります。 pythonで簡易的に書いてみました。入力は辞書限定ですが簡単です。 #!/usr/bin/python # -*- coding: utf-8 -*- &#160; def tanimoto_ce&#40;set_a, set_b&#41;: product = 0.0 for item in set_a: if item in set_b: product += set_a&#91;item&#93; * set_b&#91;item&#93; a_sq = sum&#40;&#91;pow&#40;set_a&#91;item&#93;, 2&#41; for item in set_a&#93;&#41; b_sq = sum&#40;&#91;pow&#40;set_b&#91;item&#93;, 2&#41; for item in set_b&#93;&#41; return float&#40;product / &#40;a_sq + b_sq - product&#41;&#41; &#160; [...]]]></description>
			<content:encoded><![CDATA[<p>オブジェクト間の類似度を測る方法の一つにtanimoto係数というのがあります。wikipediaには集合間の類似度を求めるとの説明がありますが、オブジェクトはプロパティの集合なので別に問題はありませんね。</p>
<p><a href="http://en.wikipedia.org/wiki/Jaccard_index">定義はwikipediaの通り</a>なのですが、日本語では無いので書いておきます。<br />
<img src='http://taichino.com/wp-content/plugins/wp-latexrender/pictures/b1afbcd2c043527b77891f063c58e936.gif' title='&lt;br /&gt;&#10;\begin{eqnarray}&lt;br /&gt;&#10;T(A,B)=\frac{ A\cdot B }{ |A|^2+|B|^2-A\cdot B}&lt;br /&gt;&#10;\end{eqnarray}&lt;br /&gt;&#10;' alt='&lt;br /&gt;&#10;\begin{eqnarray}&lt;br /&gt;&#10;T(A,B)=\frac{ A\cdot B }{ |A|^2+|B|^2-A\cdot B}&lt;br /&gt;&#10;\end{eqnarray}&lt;br /&gt;&#10;' align=absmiddle><br />
この値はベクトルAとBが完全に一致した場合は1、全く一致しない場合は0になるので正規化等する必要もなく使い易いですね。もちろん1に近いほど類似度は高くなります。</p>
<p><span id="more-973"></span></p>
<p>pythonで簡易的に書いてみました。入力は辞書限定ですが簡単です。</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">#!/usr/bin/python</span>
<span style="color: #808080; font-style: italic;"># -*- coding: utf-8 -*-</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">def</span> tanimoto_ce<span style="color: black;">&#40;</span>set_a, set_b<span style="color: black;">&#41;</span>:
  product = <span style="color: #ff4500;">0.0</span>
  <span style="color: #ff7700;font-weight:bold;">for</span> item <span style="color: #ff7700;font-weight:bold;">in</span> set_a:
    <span style="color: #ff7700;font-weight:bold;">if</span> item <span style="color: #ff7700;font-weight:bold;">in</span> set_b:
      product += set_a<span style="color: black;">&#91;</span>item<span style="color: black;">&#93;</span> <span style="color: #66cc66;">*</span> set_b<span style="color: black;">&#91;</span>item<span style="color: black;">&#93;</span>
  a_sq = <span style="color: #008000;">sum</span><span style="color: black;">&#40;</span><span style="color: black;">&#91;</span><span style="color: #008000;">pow</span><span style="color: black;">&#40;</span>set_a<span style="color: black;">&#91;</span>item<span style="color: black;">&#93;</span>, <span style="color: #ff4500;">2</span><span style="color: black;">&#41;</span> <span style="color: #ff7700;font-weight:bold;">for</span> item <span style="color: #ff7700;font-weight:bold;">in</span> set_a<span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>
  b_sq = <span style="color: #008000;">sum</span><span style="color: black;">&#40;</span><span style="color: black;">&#91;</span><span style="color: #008000;">pow</span><span style="color: black;">&#40;</span>set_b<span style="color: black;">&#91;</span>item<span style="color: black;">&#93;</span>, <span style="color: #ff4500;">2</span><span style="color: black;">&#41;</span> <span style="color: #ff7700;font-weight:bold;">for</span> item <span style="color: #ff7700;font-weight:bold;">in</span> set_b<span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>
  <span style="color: #ff7700;font-weight:bold;">return</span> <span style="color: #008000;">float</span><span style="color: black;">&#40;</span>product / <span style="color: black;">&#40;</span>a_sq + b_sq - product<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
&nbsp;
A = <span style="color: black;">&#123;</span> <span style="color: #483d8b;">'as3'</span>:<span style="color: #ff4500;">2.0</span>,    <span style="color: #483d8b;">'python'</span>:<span style="color: #ff4500;">2.0</span>, <span style="color: #483d8b;">'perl'</span>:<span style="color: #ff4500;">2.5</span>, <span style="color: #483d8b;">'php'</span>:<span style="color: #ff4500;">3.0</span>, <span style="color: #483d8b;">'c++'</span>:<span style="color: #ff4500;">4.5</span>, <span style="color: #483d8b;">'java'</span>:<span style="color: #ff4500;">2.5</span> <span style="color: black;">&#125;</span>
B = <span style="color: black;">&#123;</span> <span style="color: #483d8b;">'scheme'</span>:<span style="color: #ff4500;">4.0</span>, <span style="color: #483d8b;">'python'</span>:<span style="color: #ff4500;">3.0</span>, <span style="color: #483d8b;">'perl'</span>:<span style="color: #ff4500;">4.0</span>, <span style="color: #483d8b;">'c++'</span>:<span style="color: #ff4500;">5.0</span> <span style="color: black;">&#125;</span>
C = <span style="color: black;">&#123;</span> <span style="color: #483d8b;">'java'</span>:<span style="color: #ff4500;">3.5</span>,   <span style="color: #483d8b;">'as3'</span>:<span style="color: #ff4500;">3.5</span>,    <span style="color: #483d8b;">'c++'</span>:<span style="color: #ff4500;">2.0</span>,  <span style="color: #483d8b;">'perl'</span>:<span style="color: #ff4500;">1.0</span> <span style="color: black;">&#125;</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">print</span> tanimoto_ce<span style="color: black;">&#40;</span>A, B<span style="color: black;">&#41;</span>   <span style="color: #808080; font-style: italic;"># 0.498381877023</span>
<span style="color: #ff7700;font-weight:bold;">print</span> tanimoto_ce<span style="color: black;">&#40;</span>B, C<span style="color: black;">&#41;</span>   <span style="color: #808080; font-style: italic;"># 0.171779141104</span>
<span style="color: #ff7700;font-weight:bold;">print</span> tanimoto_ce<span style="color: black;">&#40;</span>C, A<span style="color: black;">&#41;</span>   <span style="color: #808080; font-style: italic;"># 0.524038461538</span></pre></div></div>

<p>まだ性質等は把握していないので色々と実験してみようと思います。</p>
]]></content:encoded>
			<wfw:commentRss>http://taichino.com/academic/973/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>卒業研究の反省と記録</title>
		<link>http://taichino.com/academic/92</link>
		<comments>http://taichino.com/academic/92#comments</comments>
		<pubDate>Sat, 16 Feb 2008 18:09:25 +0000</pubDate>
		<dc:creator>taichino</dc:creator>
				<category><![CDATA[Academic]]></category>

		<guid isPermaLink="false">http://taichino.com/?p=92</guid>
		<description><![CDATA[卒業研究の内容は置いておくとして研究(とはいってもなんちゃってですが)の過程で 色々考えさせられる事があったのでまとめておこう思う。 結果から言うと卒業研究として合格はしたけど研究というレベルではなく、 特に最後のほうは助手の方にかなりの割合を助けてもらい、迷惑をかけてしまった。 半年も時間があったのに何故うまく進める事が出来なかったのか。 そしてその中でも良かった点はなんだったのかという事について書きたい。 まず僕が見誤ったのは卒業研究は自分が主導的に進めていく事だということ。 なんとなく教授の手伝いをするだけでしょ？と思ってたのでかなり痛い目にあった。 どちらが主導権を持っているかという事は非常に重要だと思う。何故なら 自分が「やってあげている」と感じるか、「サポートしてもらっている」と感じるか という態度の違いに表れてしまうからだ。僕は完全に教授の研究を手伝ってあげる という態度で臨んでしまった。だから頑張りが効かない。壁に当たる度に言い訳して、 間違いを指摘されても受け止められない。 そしてもう一点の大失敗は無駄にプライドを発揮した事だ。 個人的にはプライドは非常に重要な資質であると感じている。 逆境に立たされたときにどれだけ頑張れるか、失敗した時にどれだけ継続できるか、 認められないときにどれだけ自分を信じられるか、という事はどれだけプライドを 持っていられるかに依ると思う。しかしこのプライドを間違えて発揮すると、 独りよがりになり周りの人のサポートを受け入れられなくなる。 このプライドをどのような状況で発揮するかという指標として 僕が採用していたのは、周りの人との能力差を考慮して 自分のほうが能力が高ければプライドを発揮して自分が正しいと思う方向へ邁進する。 自分のほうが低ければ周りの人のいう方向へ自分なりに精一杯進むという事だった。 ただし今回の場合は自分のアカデミックな能力は研究室の人たちに比べて遥かに低かった。 にもかかわらずプライドを発揮してしまったのは研究内容のメインがプログラムの 実装という内容だったからだ。プログラマーとして4年以上実務を行ってきたという 自負が他人に助けを頼む事を嫌がってしまったのだ。 その結果として研究は遅れに遅れて最後の最後に自分をすべて捨てて 助けを頼む事になった。 しかし不思議と一度自分だけでは完遂できない事を受け入れると、その後は 自分に出来る事を精一杯やるだけという境地に達した。 これは非常によい成功体験になった。いくら辛くても自分以外の人にも 手伝ってもらっている以上自分が折れるわけには行かない。最後の2週間くらいは 本当に一日の睡眠時間が2時間程度でも驚くほど作業に集中する事が出来た。 そして最後の最後まで自分が出来る事をやり続けた結果、ある程度満足できる 発表を行う事が出来た。途中は失敗したけども最後まで逃げずに向き合えた事は 僕の貴重な経験としてこれからに生かして生きたいと思う。]]></description>
			<content:encoded><![CDATA[<p>卒業研究の内容は置いておくとして研究(とはいってもなんちゃってですが)の過程で<br />
色々考えさせられる事があったのでまとめておこう思う。</p>
<p><span id="more-92"></span>結果から言うと卒業研究として合格はしたけど研究というレベルではなく、<br />
特に最後のほうは助手の方にかなりの割合を助けてもらい、迷惑をかけてしまった。<br />
半年も時間があったのに何故うまく進める事が出来なかったのか。<br />
そしてその中でも良かった点はなんだったのかという事について書きたい。</p>
<p>まず僕が見誤ったのは卒業研究は自分が主導的に進めていく事だということ。<br />
なんとなく教授の手伝いをするだけでしょ？と思ってたのでかなり痛い目にあった。<br />
どちらが主導権を持っているかという事は非常に重要だと思う。何故なら<br />
自分が「やってあげている」と感じるか、「サポートしてもらっている」と感じるか<br />
という態度の違いに表れてしまうからだ。僕は完全に教授の研究を手伝ってあげる<br />
という態度で臨んでしまった。だから頑張りが効かない。壁に当たる度に言い訳して、<br />
間違いを指摘されても受け止められない。</p>
<p>そしてもう一点の大失敗は無駄にプライドを発揮した事だ。<br />
個人的にはプライドは非常に重要な資質であると感じている。<br />
逆境に立たされたときにどれだけ頑張れるか、失敗した時にどれだけ継続できるか、<br />
認められないときにどれだけ自分を信じられるか、という事はどれだけプライドを<br />
持っていられるかに依ると思う。しかしこのプライドを間違えて発揮すると、<br />
独りよがりになり周りの人のサポートを受け入れられなくなる。</p>
<p>このプライドをどのような状況で発揮するかという指標として<br />
僕が採用していたのは、周りの人との能力差を考慮して<br />
自分のほうが能力が高ければプライドを発揮して自分が正しいと思う方向へ邁進する。<br />
自分のほうが低ければ周りの人のいう方向へ自分なりに精一杯進むという事だった。<br />
ただし今回の場合は自分のアカデミックな能力は研究室の人たちに比べて遥かに低かった。<br />
にもかかわらずプライドを発揮してしまったのは研究内容のメインがプログラムの<br />
実装という内容だったからだ。プログラマーとして4年以上実務を行ってきたという<br />
自負が他人に助けを頼む事を嫌がってしまったのだ。<br />
その結果として研究は遅れに遅れて最後の最後に自分をすべて捨てて<br />
助けを頼む事になった。</p>
<p>しかし不思議と一度自分だけでは完遂できない事を受け入れると、その後は<br />
自分に出来る事を精一杯やるだけという境地に達した。<br />
これは非常によい成功体験になった。いくら辛くても自分以外の人にも<br />
手伝ってもらっている以上自分が折れるわけには行かない。最後の2週間くらいは<br />
本当に一日の睡眠時間が2時間程度でも驚くほど作業に集中する事が出来た。<br />
そして最後の最後まで自分が出来る事をやり続けた結果、ある程度満足できる<br />
発表を行う事が出来た。途中は失敗したけども最後まで逃げずに向き合えた事は<br />
僕の貴重な経験としてこれからに生かして生きたいと思う。</p>
]]></content:encoded>
			<wfw:commentRss>http://taichino.com/academic/92/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>研究会</title>
		<link>http://taichino.com/academic/58</link>
		<comments>http://taichino.com/academic/58#comments</comments>
		<pubDate>Wed, 21 Nov 2007 08:09:20 +0000</pubDate>
		<dc:creator>taichino</dc:creator>
				<category><![CDATA[Academic]]></category>

		<guid isPermaLink="false">http://taichino.com/?p=58</guid>
		<description><![CDATA[中間発表をなんとか乗り切ったぞと。 死ぬかと思った。課題は山積み。卒論とはなんとしんどいものか。]]></description>
			<content:encoded><![CDATA[<p>中間発表をなんとか乗り切ったぞと。</p>
<p>死ぬかと思った。課題は山積み。卒論とはなんとしんどいものか。</p>
]]></content:encoded>
			<wfw:commentRss>http://taichino.com/academic/58/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>現実逃避をしてても終わらないので現実に向き合うぞと。</title>
		<link>http://taichino.com/academic/55</link>
		<comments>http://taichino.com/academic/55#comments</comments>
		<pubDate>Sat, 17 Nov 2007 12:42:55 +0000</pubDate>
		<dc:creator>taichino</dc:creator>
				<category><![CDATA[Academic]]></category>

		<guid isPermaLink="false">http://taichino.com/?p=55</guid>
		<description><![CDATA[とりあえずヒルベルト空間を理解せねばなるまい。]]></description>
			<content:encoded><![CDATA[<p>とりあえずヒルベルト空間を理解せねばなるまい。</p>
]]></content:encoded>
			<wfw:commentRss>http://taichino.com/academic/55/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>octaveが動かない。</title>
		<link>http://taichino.com/academic/44</link>
		<comments>http://taichino.com/academic/44#comments</comments>
		<pubDate>Sun, 11 Nov 2007 05:41:22 +0000</pubDate>
		<dc:creator>taichino</dc:creator>
				<category><![CDATA[Academic]]></category>
		<category><![CDATA[メモ]]></category>

		<guid isPermaLink="false">http://taichino.com/?p=44</guid>
		<description><![CDATA[MATLABはちょっと手が出ない。 くそぉ。これじゃ何も進まんじゃないか。]]></description>
			<content:encoded><![CDATA[<p>MATLABはちょっと手が出ない。</p>
<p>くそぉ。これじゃ何も進まんじゃないか。</p>
]]></content:encoded>
			<wfw:commentRss>http://taichino.com/academic/44/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

