ラベル ゼミ の投稿を表示しています。 すべての投稿を表示
ラベル ゼミ の投稿を表示しています。 すべての投稿を表示

2013年7月28日日曜日

20130727

ゼミの期末発表会でした。
その期末発表会が行われた後、eSchoolの10周年イベントに参加しました。
諸先輩方と久しぶりの再会に感激しました。
向学心を持つ者同士の語り合いは、楽しいものでしたが、
予定があり、早々と切り上げてきました。
途中バケツをひっくり返したような雷雨に見舞われましたが、
幸いにもあまり濡れずに帰ってこられました。
ゼミに参加すると向学心に火が付きます。
日頃からゼミの学友と連絡を取ることが
より良いペースで進められるのではと思うに至りました。

さて夏休み、引越と論文に取りかかるぞよ!

2011年1月4日火曜日

2010年を振り返って

仕事面



仕事では新しいシステム導入にメンバーとして参画することができ
忙しくもやりがいのあるミッションを頂いた。(なおも進行中)
実務よりも人に教える事、つまるところ後釜に伝えていく為の
仕事には再考の余地があると感じた。


新しいことへ取り組む姿勢は性格上、不安面を考慮するより(悪く言うと予測できない)
壁に当たったときに一生懸命考える人間なんだと再確認できた。
そのことから、うまくいきそうもない事象予測のスキルはどのように磨けばよいのか、
知るきかっかけになったので思い起こしてみると良かったのかもしれない。


学生面



社会人学生になって、はや5年目。


卒論に取り組む年で一般科目を4年次までに取得したことで
卒論準備に時間を掛けることができた
が、準備する時間はいくらあっても足りないと感じた。


大雑把な性格の為かテーマの絞り込みに時間を要した故、
自分自身で感じたので周りからは200%以上そう感じたのではと反省。


卒論のテーマのおかげか刺激的な一年を過ごすことができたと実感した。
集団的知性という協調や共感
春以降になっても、この好奇心というかよく言えば向学心をキープして
さらなるスパイラルアップ系の流れを大事にしたい。

2010年4月18日日曜日

sshにパスワードなしでログインする方法

sshにパスワードなしでログインする設定をこちらを参考にして作成してみたが、環境のせいか、
いろいろつまずいたところを振り返る。

環境:CentOS5.4

[plain]
[root@hdp_master ~]# ssh-keygen -t rsa -P ""
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
74:80:71:18:90:0d:20:c8:e7:72:6d:c6:f2:9d:30:e4 root@hdp_master
[root@hdp_master ~]# cat id_rsa.pub >> $HOME/.ssh/authorized_keys
cat: id_rsa.pub: そのようなファイルやディレクトリはありません
[/plain]
ここでrootユーザーで作業をしていたことが原因では回帰したのでuser権限で作業することに。

$HOME/.sshの$HOMEもsshでログインしたときのディレクトリをさしているので、
デフォルトで、/home/adminが$HOMEとなる。したがって.sshへのパスは/home/admin/.sshとなる。

でもここまで何回も同じ事をやっていて、他になにか簡易的な方法がないか検索、
すると下記のコマンドで自動で作ってくれそうなのでこちらを試すことにした。
こちらのサイトを参考にさせて頂いた。

名前を、no-ssh-password.sh にして/home/adminディレクトリに作成。
[plain]
[admin@hdp_master ~]$ touch no-ssh-password.sh
[admin@hdp_master ~]$ vi no-ssh-password.sh
[/plain]
[plain]
#!/bin/sh

#------------------
# set param
hosts="hdp_master hdp_sub1"
user=admin
#user=`who -m |awk {'print $1'}`
#------------------

ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 700 ~/.ssh
chmod 600 ~/.ssh/*

for host in ${hosts}
do
ssh ${user}@${host} 'ssh-keygen -t rsa'
ssh ${user}@${host} 'cat ~/.ssh/id_rsa.pub' | cat ->> ~/.ssh/authorized_keys
done

for host in ${hosts}
do
scp ~/.ssh/authorized_keys ${host}:~/.ssh
ssh ${user}@${host} 'chmod 700 ~/.ssh ; chmod 600 ~/.ssh/*'
done

exit
[/plain]

中略

パラメータ設定のhosts="hdp_master hdp_sub1" のホストネーム hdp_sub1で設定できず、
hdp_sub1側のネットワーク設定のホスト名はこのようにしておいたがエラーでダメだったので、
IPアドレス(192.168.3.6)にして再実行したらなんとか設定ができた。

めでたしめでたし

2010年1月15日金曜日

Hadoop機の作業記録

[Atom箱の作成]から、ネットに接続されているか確認したところ、デフォルトではNIC(eth0)が認識されていなかった。
そこで[参考]を元に設定したらNIC(eth0)が認識されました。
クライアントPCからsshでログインできたのを確認後、モニターとキーボード、マウスを外します。
その後、localhostとデフォルトの名前をhdp_masterと変更しました。

[root@localhost admin]# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1               localhost.localdomain localhost
192.168.3.8 hdp_master //←ここを追加
[root@localhost admin]# cat /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=yes
HOSTNAME=hdp_master //←ここを追加
GATEWAY=192.168.3.8  //←ここを追加

その後、[javaのアップデート]を行うため、USBでmountコマンドを使用して、usbの中身にインストールしてあった最新のJava SDKを/usr/local上で解凍、展開を行います。[USBフラッシュメモリを使うには]

しかしmountしても、/mnt/usbfmには空っぽだったので、
# dmesg
をみると
SCSI device sdb: 512000 512-byte hdwr sectors (262 MB)
とか書いてあったのでsdaではなくsdbに変えたところ、
# mount -t vfat /dev/sdb1 /mnt/usbfm/ でなんなく認識されました。

[root@hdp_master home]# ls /mnt/usbfm
hadoop-0.20.1.tar.gz  jdk-6u17-linux-i586-rpm.bin  r8168-8.015.00.tar.bz2

中身のなかのこれを先に解凍
[root@hdp_master usbfm]# tar zxf hadoop-0.20.1.tar.gz
[root@hdp_master usbfm]# mv hadoop-0.20.1 /home/hadoop

Javaをアップデートしたかったけど、hadoopの解凍を先に行いました。(/home直下へ)

[root@hdp_master usbfm]# ./jdk-6u17-linux-i586-rpm.bin
次にJavaの最新Verをusbfm上で、解凍展開を行おうとしたら、
Please free up the required Disk Space and try again とメモリ領域が足りないということで、ディレクトリをlocalへ移動して

[root@hdp_master usbfm]# cd /usr/local
[root@hdp_master local]# ./jdk-6u17-linux-i586-rpm.bin
Do you agree to the above license terms? [yes or no]
yes
Unpacking...
Checksumming...
Extracting...

中略

For more information on what data Registration collects and
how it is managed and used, see:
http://java.sun.com/javase/registration/JDKRegistrationPrivacy.html

Press Enter to continue.....

Done. →解凍完了!

次に環境設定を行う。

参考 http://d.hatena.ne.jp/hkano/20081014

2010年1月2日土曜日

Hadoop Based Data Mining

Hw09 Hadoop Based Data Mining Platform For The Telecom Industry
感嘆のため息が漏れました・・・
中国語で読めないところがあったので院生に聞いてみたい。

2009年9月14日月曜日

JAVAのアーカイバーの移動

javaのARchiver(アーカイバー)を一カ所にまとめておいた方がよいと思い、一カ所にアーカイバーを集合させた。

その前にJAVAのディレクトリがどこにあるか把握しておくことが必要だったから、
whereis java で確認。
[root@nexserver java]# whereis java
java: /usr/bin/java /etc/java /usr/lib/java /usr/share/java

これらの中身を確認。
/usr/bin/java ・・・binaryファイル
/etc/java  ・・・ font.properties java.conf jpackage-release security が入っている。
/usr/lib/java  ・・・空っぽ
/usr/share/java ・・・jarがたくさん入っている。

なので/usr/share/java に集合させることに。

使用するjarは、CIAのもので
commons-codec-1.3.jar
commons-httpclient-3.0.1.jar
commons-logging-1.1.jar
lucene-core-2.2.0.jar
weka.jar
xercesImpl-2.6.2.jar

があるので、これらを

[root@nexserver lib]# mv *.jar /usr/share/java

で移動しました。
それできちんと移動できているか確認
[root@nexserver lib]# cd /usr/share/java
[root@nexserver java]# ls -a
. gcj-endorsed tomcat5-jsp-2.0-api.jar
.. gnu-classpath-tools-gjdoc-0.7.7.jar tomcat5-servlet-2.4-api-5.5.23.jar
antlr-2.7.6.jar gnu-classpath-tools-gjdoc.jar tomcat5-servlet-2.4-api.jar
antlr.jar hsqldb-1.8.0.9.jar weka.jar
bsf-2.3.0.jar hsqldb.jar xalan-j2-2.7.0.jar
bsf.jar jaxp_parser_impl.jar xalan-j2-serializer-2.7.0.jar
bsh-1.3.0.jar jaxp_transform_impl.jar xalan-j2-serializer.jar
bsh.jar jsp.jar xalan-j2.jar
com-sun-javadoc-0.7.7.jar jspapi.jar xerces-j2-2.7.1.jar
com-sun-javadoc.jar libgcj-4.1.1.jar xerces-j2.jar
com-sun-tools-doclets-Taglet-0.7.7.jar libgcj-4.1.2.jar xercesImpl-2.6.2.jar
com-sun-tools-doclets-Taglet.jar libgcj-tools-4.1.1.jar xml-commons-apis-1.3.02.jar
commons-codec-1.3.jar libgcj-tools-4.1.2.jar xml-commons-apis.jar
commons-httpclient-3.0.1.jar lucene-core-2.2.0.jar xml-commons-resolver-1.1.jar
commons-logging-1.1.jar servlet.jar xml-commons-resolver.jar
dom3-xerces-j2-2.7.1.jar servletapi5.jar
dom3-xerces-j2.jar tomcat5-jsp-2.0-api-5.5.23.jar

無事に移動できているようです。

2009年9月5日土曜日

日本ソフトウェア学会講座一日目

慶應大学日吉キャンパスにて、日本ソフトウェア学会主催の大学基調講座が開催された。
8月に募集がかけられた時に速効で申し込みをした。この講座はゼミに入ってから半期間学習していた内容だったため、春学期のまとめという意味で参加したかったのだ。今日はセッション3本と明日1本と実習1本で内容盛りだくさんだった。と全て過去形で記載しました、

2009年7月31日金曜日

The AWS Toolkit for Eclipse

Amazonのクラウドを利用する際のツールの紹介ページ

http://aws.amazon.com/eclipse/

eclipse_ec2_management
http://qurl.com/vmwmd

eclipse_simpleDB
http://qurl.com/yvz51

まず自宅環境で大きなデータを操作できるようになったら、
クラウド上にて実験してみたいと思う。それまで自宅環境でスイスイ操作できるよう繰り返し練習すべきである。

2009年7月14日火曜日

Natural Language Processing

自然言語処理の基礎技術
・形態素解析
・・形態素解析(英語)
形態素とは語の不定形、語より小さい単位で意味を持つ最小の単位。文章の中で文法に従って形が定まっている語を”定形”と呼ぶ。文章はその語から成り立っている。語を、それを構成する形態素に分離する処理が形態素解析である。

・・形態素解析(日本語)
日本語は単語ではなく、文節が連なって文を構成しているので文節の形態素解析という。
日本語は膠着語という文法的分類に入れられる。
■コーパスからの語彙知識の獲得
1990年代までは、辞書の定義文や、人手による構文解析済みのコーパスが用いられていた。2000年代以降は言語取得の範囲拡大をし、新聞記事、Webから収集した言語テキストが用いられるようになった。

■共起知識の獲得
コーパス中の数単語程度の近さで共起する2つの単語の間の相互情報量を計算し、統計的な観点から意味のある言語現象を検出する。

■単語間の類似度の測定
「共起知識の獲得」の方法を発展させて、コーパスから主語/動詞/目的語の3項の組の類似性を測定し、相互情報量を類似度として計算した結果で、品詞の同義語を抽出する。

■推論規則・言い換えの獲得
同一の名詞を共起しやすい表現の類似度が高い多用な表現の共起の強さを相互情報量によって測定する。

■翻訳知識の獲得
相互情報量を用いた共起測定法において対訳テキストを情報源として二言語間の出現位置の相関が強いほど、その表現の組は対訳関係が強い可能性が高いといえる。

■未解析コーパス・Webからの獲得
WebのHTML言語からの箇条書きや表形式において、上位語、類義語、属性語が現れやすい。ヒューリスティックを利用して関連語を獲得する手法が提案されている。

■コーパスへの情報付与の自動化
nグラムモデルを用いた日本語形態素解析はある単語の生起のモデル化において、直前のn-1個の単語のみを考慮する培グラムモデルや直前の二単語のみを考慮するトライグラムモデルなどがある。

■意味的曖昧性解消
同意異義語の判別、訳語選択などの処理は分類器を用いて多義性をもつ語の前の文字列、形態素、係り受け関係にある形態素、同一文内の形態素、同一文書内の形態素などの情報が属性(素性)として用いられる。

■仮名漢字変換
仮名漢字変換は文節単位で行う。文節を形態素解析することにより文節内の単語の並び方が形態論的に正しい結果だけを用いることができる。またヒューリスティックな手法を適用することで多数の変換候補に対応できる。

■同音語
仮名漢字変換で最も大きな問題だが形態素解析を用いることで適切なものを区別することができ、自動選択することができる。

Data source from 自然言語処理(オーム社)

2009年6月29日月曜日

Java related tools

JUNG — the Java Universal Network/Graph Framework--is a software library that provides a common and extendible language for the modeling, analysis, and visualization of data that can be represented as a graph or network. It is written in Java, which allows JUNG-based applications to make use of the extensive built-in capabilities of the Java API, as well as those of other existing third-party Java libraries.

Jena is a Java framework for building Semantic Web applications. It provides a programmatic environment for RDFRDFSand OWLSPARQL and includes a rule-based inference engine.

2009年6月17日水曜日

JDMについて(1)

>>JDMについて<<
JDMはデータマイニングの標準APIでWEKA APIの標準API。
JSR 73(JDM1.0)の作業は2000年7月に始まり、2004年8月に最新版がリリース。
2つ目のJSR 247(JDM2.0)は2004年にプロジェクトがスタートし、2006年12月に公開レビュードラフトが承認。

5つのアルゴリズムの操作が可能。

1)属性重要度・・出力変数を予測するときに、重要度となる属性をランク付けする。
2)相関ルール・・同時に起こるアイテムを考察し、関係を発見する。
3)クラスタリング・・類似したデータ点のクラスタを見つけ出す。
4)回帰・・入力属性にもとづいて、出力変数の値を予測する。
5)分類・・離散属性を列挙値のひとつに分類する。

モデルの構築、評価、適用、保存の操作もサポート。
JDM2.0からは多変量解析、時系列分析、異常検出、変換、テキストマイニング、多目標モデル、モデル比較が追加。

◆主なJDMオブジェクト

JDMクラス群ではトップクラスのインターフェースであり、名前や説明などの基本情報を持ち、DMEによってMORに保存できる。データの物理的な側面(PhysicalDataSet)と論理的な側面(LogicalData)の両方が存在する。

◆学習モデル

出力は、Modelインターフェースで表現され、MiningObjectを継承するModelは、複数の基底クラスになる。各モデルはModelDetailを持ち、アルゴリズム固有の変数はModelDetailで表現される。

◆アルゴリズムの設定
ArgorithmSettingは設定を保持する共通基底クラス。KMeansSettingはk平均法の設定となる。

◆JDMタスク
主なタスクタイプは5つ。
1)モデルの構築、2)モデルの評価、3)統計値の計算、4)モデルの適用、5)MORからの入出力に関するタスク。TASKオブジェクトは、参照、再実行、実行が可能。

◆JDMを使った接続
Java Connection Architecture(JCA)を使用してDMEに接続する事ができる。
JNDIでConnectionFactoryインスタンスを取得し、ConnectionFactoryにユーザー名とパスワードを指定する。JDBCプロトコルのConnectionオブジェクトに似ている。

◆JDMモデルとPMML
PMML(Predictive Model Markup Language:予測モデルマークアップ言語)はDMG(Data Mining Group)が予測モデルを表現するために策定したXMLベースの標準言語

Data source from 集合知イン・アクション(ソフトバンククリエイティブ)

2009年6月15日月曜日

WEKAについて(1)

WEKA(ウェカ:Waikato Environment for Knowledge Analysis)はjavaで書かれたデータマイニングアルゴリズムのオープンソースソフトウェアである。ニュージーランドのワイカト大学で開発されてGNUで提供されている。2006年9月にオープンソースBIの開発ベンダーであるPentahoに買収された。
WEKAには、前処理、分類、回帰、クラスタリング、相関ルール、視覚化ルールが含まれている。

WEKAには重要なパッケージが6つある。
weka.coreパッケージは、他のパッケージから使われる共通コンポーネントを含む主なパッケージであり、属性、データセット、コンバータ、行列操作、テキスト分析、ソート表現、XMLをモデル化するクラスである。データセットを表現するためのクラスが含まれており、その各データセットはInstancesクラスによってあらわされる。Instancesクラスは事例をあらわすInstancesクラスのリストを持ち、各インスタンスは0個以上の属性を持つ。

weka.classifierは、分類アルゴリズムの実装を含む、数量予測のアルゴリズムであり、Instancesを使ってモデルを学習し、その学習したデータを分類する。。

weka.clustererは、クラスタリングアルゴリズムの実装を含み、Instancesからクラスタを作成し、その後、Instanceを適切なクラスタに分類する。

weka.attributeselectionは、属性選択に関するアルゴリズム。

weka.associationsは、相関ルールの発見に関するアルゴリズム。AprioriとPredictive Aprioriの2つのアルゴリズムが含まれている。この2つは相関ルールの学習に使用され、Associatorインターフェースを継承する。
CARuleMinerは、クラスタ相関ルールを作成できるアルゴリズムに付与される。オプショナルインターフェースである。

weka.filtersはデータセットへのフィルタの適用に関するクラス、たとえばある属性を分析対象から外すためのものに使用される。

Data source from 集合知イン・アクション(ソフトバンククリエイティブ)

2009年5月5日火曜日

BIについて調べるの巻(6)

大規模データストリームとは

データストリームを対象とするデータストリームマイニングは、
(1)属性値に関する平均やかたより、値の総和と言った簡単な統計量をきわめて小さなメモリと処理時間だけを使って計算する。
(2)結合規則や、決定木、クラスタリング、データマイニングにおける規則やパターンの発見アルゴリズムを連続したデータストリームへの拡張。

データストリーム・アルゴリズムの目標
・非常に少ない計算資源を用いて
・長期間安定して動き続け
・利用者の要求に即応して
・近似的な解を返す

マイニングアルゴリズムの基本的な技法
・確率的計算
・データの粗視化
・適応的計算

DataSource from 情報処理46巻1号

2009年5月4日月曜日

BIについて調べるの巻(5)

BIといわれるまでの経緯と、経営者がとらえているBI。

年代      キーワード         特徴                      。
1970年代 意思決定支援システム  EUCの実現、管理者の意思決定を支援。
1980年代       〃
1990年代 データウエアハウス    膨大な企業データを蓄積するデータ格納庫の実現。
1990年代中頃 多次元分析処理   データ→情報。検索→分析。データをダイナミックに操作して意味のある情報を見つける。
1990年代後半 データマイニング   情報→ルール。分析→発見。統計学に基づいてパターンを発見。
2000年代 ビジネス・インテリジェンス 情報→知識。分析→意思決定。迅速に意思決定。

一般的に、”正確な情報を適切な人に適時に提供することで、企業がより適切な判断を迅速に行うことを可能にするための考え方と、それを実現するためのシステム”と定義されている。 Data source from http://solution.unisys.co.jp/webseminar/10/

そのデータ分析の使用用途がInsightな分析だったり、Competitiveな分析だったりするわけです。
ビジネス・インテリジェンスとは、競合的なインテリジェンスの場合、ファルドは”判断を可能とするまでに分析されたインフォメーション”と定義されている。英語だと「intelligence is "analyzed information."」。いうなればブドウ + 熟成技術 → ワインということなそうな。だからInformation + 分析&集約 → Intelligence となるそうで、最終的にはこの分野にまで行き着くのだろうけど、今わたくしがやりたいのはInsightな分析のほうなのだろう。どのようなアルゴリズムなの?というほうに興味が向いているわけです。ということで何年先になるかわかりませんがCompetitive Intelligenceのほうはもう少し先になりそう。
Data source from http://www.cio-cyber.com/pj/ec2/link/km2.html http://www.fuld.com/Tindex/CIbook/chap01.html

2009年3月29日日曜日

BIについて調べるの巻(4)


ビジネス・インテリジェンス―未来を予想するシナリオ分析の技法



北岡 元
東洋経済新報社
売り上げランキング: 7737


おすすめ度の平均: 5.0

5 思考の枠組み
5 己を知ることの重要性




2009年2月23日月曜日

IPアドレスチェック01

PHPでIPアドレスを調べる方法
訪問者をIPで見極める。※他のアクセスポイントからアクセスすると漏れるんだけど・・・。
apacheの$_SERVER['REMOTE_ADDR'] を引いてきて
[php]
$ip_address = $_SERVER['REMOTE_ADDR'];
if ( !strcmp ( $ip_address, $check_ip ) ){
echo("もうご回答頂いております");
}
else{

echo("よろしくお願いします。");

}
[/php]

という感じで良さそうだけど、テーブルにインポートしていきたい気もする。
それかtxtに書き出していくとか・・・。