ロシア・ナショナル交響楽団 2012年日本公演

初のロシアオケを聴きにいってきました.
よく考えたら,ヨーロッパ以外の海外オケは聴いたことがなかった.
FMでたまたま流れていたのを聴いたことあるので,チケット買ってみたんだけど,いい意味で裏切られました.
指揮者のプレトニョフ,見た目普通のおじさん.指揮もいたってフツー.
でも,サウンドは普通じゃなかった.

グラズノフ: 組曲「中世より」Op.79 前奏曲

曲自体知らなかったけど,オーケストラの性格によく合ってる.
最後歌い上げるところは感涙もの.
オーケストラも弾き慣れているのか,各パートとも目をつぶっていても弾けるぜ!と言わんばかりの余裕っぷり.
アインザッツもしっかり合っていて,非常に一体感がある.
西欧のオーケストラだと,ハーモニーを作ってホール全体に行き渡せる感じだけど,このオケは違う.
音圧の掛け方が独特で,ステージの上から客席に平面的に音が送り込まれてくるよう.
ああ,こういうサウンドバルトークとか聴いてみたいなー.

グリーグ: ピアノ協奏曲 イ短調 Op.16

ソリスト河村尚子さん.
強い印象を持ったのは,全く奇をてらわない弾き方をする,ということ.
こんなにオーソドックスを極めるような演奏は珍しい.
普通はソリストの想いが乗ってリズムやダイナミクスに影響を与えるものだけど,そういう考えではないようだ.
かと言って無表情というわけでもない.どうも不思議な気持ちになる.
テクニック的には何の問題もなく安心して最後まで聴けたし,こういうスタイルもあるのか,と新たな発見だった.

チャイコフスキー: 交響曲第4番 ヘ短調 Op.36

率直に言って,期待を上回る演奏をしてくれた.
圧巻だったのは,1楽章と4楽章.
びっくりするほど大きく鳴る硬いサウンドの弦と管.弾けるようなシンバル.
これぞロシアのチャイ4.
もしチャイコフスキーが聴いたら「そうそう,こんな感じ」とでも言いそうな演奏だった.


その反面,2,3楽章はメリハリがあんまりつかず大味になってしまったかな.
まあ,それでもいいや,と思えるほどインパクトがあったからよしとしよう.


全体を通じて金管,特にトランペットの音が硬くて,いかにもロシアオケという印象を受けました.
弦楽器も含め,ただ鳴らしているだけで土俗的な雰囲気が漂うし,西欧のオーケストラとはひと味違うな,と.

フランクフルト放送交響楽団 2012

これまで聴いたことのなかった,フランクフルト放送交響楽団
珍しく今回の会場は,上野にある東京文化会館
サントリーホールでのチケットが取れなかったので,次善の策としてこっちを選んだ.
このホールに来たのは約10年ぶりなんだけど,一歩足を踏み入れると昔と何も変わってなくてビックリする.
自分は確実に年取ってるんだけどなあ.

リスト: ピアノ協奏曲第1番 変ホ長調

ソリストは,アリス=紗良・オットさん.
今まで聴いたことなかったんだけど,この人すごいね.
一言でいうと,水が流れるような滑らかな音楽.
そして,激しいところは荒れ狂う一歩手前で制御するフォルテシモ.久々に引き込まれるソリストだった.
リストの曲をよくあんな風に弾けるもんだ.
多分すごく難しいと思うんけど,傍目にはそういう難しさを感じさせないタイプ.


そしてオケは音が渋い!しかも,いかにもドイツっぽいカッチリしたサウンド
だが,音自体に深みがあるかというとそこがちょっと微妙で,時折音が薄く感じられるときがある.
そこだけが惜しかったなあ.
弦も管もソロは上手だったし,個々の能力は高いと思う.
いつものヤルヴィの統率力でアンサンブルもビシッと決まってる.

ブルックナー: 交響曲第8番 ハ短調

リストでは,結構よい演奏が聴けたので期待していた.
が,残念ながらブルックナーの音楽は裏で常につながっているのだが,そこが時々止まってしまう.
よくよく聴いてみると管の低音が薄くて土台が弱い.
チェロやヴァイオリンが鳴らすところは悪くないのだが,トゥッティになるとどうもイマイチ響かない.
これまで,CDをあれこれ聴きまくって期待値が上がりすぎてたせいもあるかな.
それにしても惜しい.


後日,NHKマーラー5番を放送していたんだけど,こちらはすごくマーラーらしさが出た,よい演奏だった.
サントリーホールに行くべきだったか...

ハンブルク北ドイツ放送交響楽団 2012

去年行ったコンサートを全然アップできずにいました.
実は,下書きだけしてそのまま放置してしまったのですが,そろそろ全部吐き出すことにします.


というわけで,北ドイツ放送交響楽団
このオーケストラは,ヴァント好きの自分としてはどうしても気になる.
指揮者が最近変わったので,昔と違ってどういうカラーになったか知らないが,今の音を知りたくて行ってきた.

モーツァルト: オペラ「フィガロの結婚」K.492 序曲

思ったのと...違う!とにかくテンポが速い!そして,想像していたより音が軽い.
こうきたか.
演奏スピードが速いので,わりとさらっと歌うイメージのフィガロの結婚でした.
プログラムの1曲目という全体の流れとして見れば悪くないけど拍子抜け.

メンデルスゾーン: ヴァイオリン協奏曲 ホ短調 Op.64

ソリストクリスティアン・テツラフさん.
率直に言ってテンポが早すぎ.弾くのに精一杯という感じに見える.
時折ノリノリで歌うところもあるんだけど,よしあしのムラが大きいなあ.
もうちょっとコンディションが良い時の演奏を聴きたかった.
逆にオーケストラは余裕しゃくしゃくだね.前曲よりも"らしい"雰囲気があったと思う.

ブラームス: 交響曲第1番 ハ短調 Op.68

指揮者の持つイメージを強く反映した組み立てになっていたのか,精緻な演奏なのだが率直に言って迫力に欠ける感が否めない...
結果的にブラームスの音楽というより,ヘンゲルブロックの音楽という印象が強かった.
特にテンポの揺らし方が恣意的すぎるんではないかなー.
それから,綺麗な響きを持っていても,もうちょっと鳴らさないと.
特に4楽章は絶対的な音量が足りてなかったように思う.1階席中央だったから物理的に遠いということはないはず.
俺が期待しすぎたんだろうか.


全体を通して,オケのサウンドがホールに広がる感じはしないが,響きそのものはよかった.
雰囲気が室内楽に似ていて,アンサンブルがまとまって聞こえるのは好ましい.
このままオーケストラとしてのパワーをもう少しだけアップできたらと思う.

RでrandomForestを試してみる

最後に,ランダムフォレストを試してみます.
こいつはe1071に入ってはいないので,別途インストールが必要です.

インストール

やっぱりこれだけ...簡単すぎる.

> install.packages('randomForest')

iris実行コード&結果

これまでのコードとほぼ同じで,特にrandomForest用のパラメータを加えなくても動作します.
チューニング云々は別の機会に.

library(randomForest)

train <- seq.int(1, 150, by=2)
test <- setdiff(1:150, train)

iris.rf <- randomForest(Species~., data=iris[train,])
iris.pred <- predict(iris.rf, iris[test,])
table(iris[test,5], iris.pred)

結果はこのとおり.SVMやナイーブベイズと同等の正答率になっています.

randomForest 4.6-6
Type rfNews() to see new features/changes/bug fixes.
            iris.pred
             setosa versicolor virginica
  setosa         25          0         0
  versicolor      0         24         1
  virginica       0          2        23

breast-cancer data

以下,コード.

library(randomForest)

bcdata <- subset(read.csv('~/Downloads/breast-cancer-wisconsin.data', head=TRUE),
                 select=-Samplecodenumber)
train <- seq.int(1, 699, by=2)
test <- setdiff(1:699, train)

breast.rf <- randomForest(Class~., data=bcdata[train,])
breast.pred <- predict(breast.rf, bcdata[test,])
table(bcdata[test,10], breast.pred)

実行結果.こちらはちょっとイマイチ.
チューニングで結果は変わるかもしれないので,いずれ見直します.

randomForest 4.6-6
Type rfNews() to see new features/changes/bug fixes.
           breast.pred
            benign malignant
  benign       223         8
  malignant      8       110

RでnaiveBayesを試してみる

お次はナイーブベイズ分類器です.やり方は変わらないのでガンガン行きましょう.

iris実行コード&結果

もう,どれも同じに見えてきた...

library(e1071)

train <- seq.int(1, 150, by=2)
test <- setdiff(1:150, train)

iris.bayes <- naiveBayes(Species~., data=iris[train,])
iris.pred <- predict(iris.bayes, iris[test,])
table(iris[test,5], iris.pred)

結構いいですね.SVMと同じ96%の正答率となっています.

 要求されたパッケージ class をロード中です 
            iris.pred
             setosa versicolor virginica
  setosa         25          0         0
  versicolor      0         24         1
  virginica       0          2        23

同様にbreast cancerも

コードと

library(e1071)

bcdata <- subset(read.csv('~/Downloads/breast-cancer-wisconsin.data', head=TRUE),
                 select=-Samplecodenumber)
train <- seq.int(1, 699, by=2)
test <- setdiff(1:699, train)

breast.bayes <- naiveBayes(Class~., data=bcdata[train,])
breast.pred <- predict(breast.bayes, bcdata[test,])
table(bcdata[test,10], breast.pred)

実行結果.

 要求されたパッケージ class をロード中です 
           breast.pred
            benign malignant
  benign       220        11
  malignant      3       115

Rでnnetを試してみる

以前,SVMをさわってみましたが,それだけでは何なので他の分類器も使ってみることにしました.
まずは無難にニューラルネットワークから.
Rのnnetはインストール不要だし,そもそも最初にやっておけ,という話でもありますが...

iris実行コード&結果

SVMのときとあまり変わりません.
逆に言えば,変えずにほぼそのまま使えるのがRのよいところ.

library(nnet)

train <- seq.int(1, 150, by=2)
test <- setdiff(1:150, train)

iris.nnet <- nnet(Species~., size=3, data=iris[train,])
iris.pred <- predict(iris.nnet, iris[test,], type="class")
table(iris[test,5], iris.pred)


nnetの引数"size'で,隠れ層のユニット数を指定します.

# nnetのhelpより
size	number of units in the hidden layer. Can be zero if there are skip-layer units.

それから,predの"type"で出力形式を指定します.通常は"class"でよいでしょう.

# predic.nnetのhelpより
If type = "raw", the matrix of values returned by the trained network; if type = "class", the corresponding class
(which is probably only useful if the net was generated by nnet.formula).
# weights:  27
initial  value 86.336297 
iter  10 value 36.173022
iter  20 value 34.652665
iter  30 value 34.299414
iter  40 value 5.966404
iter  50 value 0.008819
iter  60 value 0.000990
iter  70 value 0.000717
final  value 0.000091 
converged
            iris.pred
             setosa versicolor virginica
  setosa         25          0         0
  versicolor      0         24         1
  virginica       0          3        22

実行してみると,正答率94.7%でした.まあまあ?

同様にBreast-cancer dataも

library(nnet)

bcdata <- subset(read.csv('~/Downloads/breast-cancer-wisconsin.data', head=TRUE),
                 select=-Samplecodenumber)
train <- seq.int(1, 699, by=2)
test <- setdiff(1:699, train)

# decayはデフォルト0だが,今回は変更しないとまともに動作しなかった
breast.nnet <- nnet(Class~., data=bcdata[train,], size=3, decay=0.1)
breast.pred <- predict(breast.nnet, bcdata[test,], type="class")
table(bcdata[test,10], breast.pred)
# weights:  34
initial  value 352.980584 
iter  10 value 177.479271
iter  20 value 51.829073
iter  30 value 36.800539
iter  40 value 34.257121
iter  50 value 33.375747
iter  60 value 33.096451
iter  70 value 32.962505
iter  80 value 32.940039
iter  90 value 32.916829
iter 100 value 32.912908
final  value 32.912908 
stopped after 100 iterations
           breast.pred
            benign malignant
  benign       223         8
  malignant      9       109

正答率95.1%.