自著紹介：Unsupervised Feature Extraction Applied to Bioinformatics

#1 はじめに
この原稿は「[バイオインフォマティクス Advent Calendar 2019](https://qiita.com/advent-calendar/2019/bioinfo)」の８日目の記事です。

こういうのは横紙破りかもしれませんが、自著の紹介をしたいと思います。
[![41ZZI36eFVL._SX313_BO1,204,203,200_.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/199087/08713a12-c90d-f1bd-fe66-6658d6e4c550.jpeg)](https://books.google.co.jp/books/about/Unsupervised_Feature_Extraction_Applied.html?id=EcxRxQEACAAJ)
(上記画像をクリックするとgoogle bookのリンクに飛びます）
タイトル：Unsupervised Feature Extraction Applied to Bioinformatics
サブタイトル: A PCA Based and TD Based Approach
出版年月日：2019/9/5
出版社：シュプリンガーインターナショナル
価格：[版元の通販](https://www.springer.com/jp/book/9783030224554)では
ハードカバー：￥21,449
イーブック：￥17,159
ソフトカバー：￥15,729
という個人所有は難しい価格となっています（２０２０年９月３０日現在、笑）。研究費などでお買い求めください。
全体の目次は[ここ](https://rd.springer.com/content/pdf/bfm%3A978-3-030-22456-1%2F1.pdf)のxiii-xviで見ることができます。
#2 内容
僕がここ十年弱ほどの間提唱してきた「主成分分析やテンソル分解を使った教師無し学習による変数選択」（英語ではPrincipal component analysis based unsupervised feature extractionあるいはTensor decomposition based unsupervised feature extractionなどと呼称しています）の解説本です。 最近はシュプリンガーからでる学術書はEditorialと言って編集者がいていろいろな分野の専門家から原稿を集めて一冊にするということが多いと思います。ですが、この本はMonogrpahと言って編集者がいなくて執筆者しかいないタイプの本です。その場合も複数の著者で書くことが一般的で一冊丸々一人で書くというは近年では珍しいです。実際、単著の場合は教科書とか博士論文がそのまま本になったりするものが多いです。研究書のレベルで単著と言うのは本当に珍しいと思います。
なんでこんなことになったかというと「この方法で論文書いている人が世界中で僕しかいないから（笑）」です。なので共著にしたり、編集者として原稿を集めたりできませんでした。この方法を使った学術論文は数十本に及びますが、全部、僕の論文で、共著者がいてもデータを提供してくれたとか、この手法以外で協力してくれたという研究者しかいません。なので単著のMonogrpah以外には選択肢がありませんでした。
本の内容の一部はすでになんらかのアドベントカレンダーに投稿されたQiitaで記事になっています(カッコ内の数字は自著での節番号)。

- 「[テンソル分解を用いた教師無し学習による変数選択（５．１節）](https://qiita.com/Yh_Taguchi/items/2c946122a1b314c66ced)」
- 「[（続）テンソル分解を用いた教師無し学習による変数選択（５．５節）](https://qiita.com/Yh_Taguchi/items/d99d6dd0db23787eb144)」
- 「[FAMSを用いたタンパク質機能予測に基づくDrugDiscovery（６．４．１節）](https://qiita.com/Yh_Taguchi/items/cf070f1e436423fc8eca)」
- 「[テンソル分解を用いて遺伝子発現プロファイルからインシリコ創薬（Ⅱ）（７．３節）](https://qiita.com/Yh_Taguchi/items/f5249a90dc3c38eaf92e)」
- 「[テンソル分解を用いて遺伝子発現プロファイルからインシリコ創薬（７．８節）](https://qiita.com/Yh_Taguchi/items/232e61b032a0eb72581c)」

併せてお読みください。以下、自著を構成順に紹介していきます。
##序文
英語ではforewordって言うんですが、偉い人が「この本はお勧めです！」みたいなヨイショ文を書いてくれます。なんとあのインドで二番目に優秀なバイオインフォマティシャンとして認定された[グロミハさん](https://bioinformaticsreview.com/gromiha/)が序文を書いてくれました！序文だけ[ここ](https://rd.springer.com/content/pdf/bfm%3A978-3-030-22456-1%2F1.pdf)から読めるのでぜひ、見てください（vii-viiiページです）。
## 第一部
　ここは三章からなっていて、代数の基本、行列分解、テンソル分解をそれぞれ扱っています。こんなこと書きたくなかったんですが、そういうのが無いと本が売れないと本屋が言うので泣く泣く書きました。
###第一章：線形代数の基本
（[本文へのリンクはこちら](https://rd.springer.com/chapter/10.1007/978-3-030-22456-1_1)）
スカラーとは何か、ベクトルとは何か、行列とは何か、テンソルとは何か、みたいなことを書いています。特徴としてはカテゴリ変数を最初からスカラーの一種として導入したこと、あと、テンソルの積演算を全部$\times_i, \times^i$という２つの記号だけで書けるようにしたことです。テンソルの教科書はテンソルのいろんな積が出てきてそれごとに違う記号が書いてあって違う名前がついていて嫌になったのでこの本ではそういうのを全部排しました。
###第二章：行列分解
（[本文へのリンクはこちら](https://rd.springer.com/chapter/10.1007/978-3-030-22456-1_2)）
特異値分解と主成分分解を説明しています。特徴としては普通の本ではあまり触れられていない行平均をゼロにした場合の主成分分析と、列平均をゼロにした場合の主成分分析の違いを強調したことです。この２つの操作は行列のレベルでは線形演算ですが、行列の積の対角化である主成分分析のレベルでは非線形演算になってしまい、全然違う結果が出るのですが、案外そこを理解している人が少ないようなので敢えて強調してみました。
最初、この研究を始めた時、サンプル×遺伝子の行列（遺伝子発現行列）をサンプルごとに平均ゼロにするという方法で主成分分析を適用する（いわゆる遺伝子埋め込み＝遺伝子に主成分得点を付与する）と、遺伝子ごとに平均ゼロにするという方法で主成分分析を適用する（いわゆるサンプル埋め込み＝サンプルに主成分得点を付与する）よりもよい結果が出ると論文に書くと、その２つは同じはずだとレフェリーに攻撃されまくって論文を落とされまくった苦い経験に基づいています。
また、最後に主成分分析とk平均法の等価性を紹介しました。これも普通の教科書にはあまりないみたいです。
###第三章：テンソル分解
（[本文へのリンクはこちら](https://rd.springer.com/chapter/10.1007/978-3-030-22456-1_3)）
ＣＰ分解、タッカー分解、テンソルトレイン分解をアルゴリズムも含めて説明しました。テンソルトレイン分解は教科書レベルの話だとあまりでてこないので珍しいかもしれません。この三つを並べることでこれらが行列に対する特異値分解の自然な拡張になっていること、タッカー分解とテンソルトレイン分解には一意性が無いこと、を示しました。こういう構成のテンソル分解の本はまだあんまりないかもしれません。
あと付録にムーア・ペンローズ疑逆行列の説明を入れました。これはただの線形代数ですが、変数の数と式の数が違う場合（いわゆる係数行列が正方行列じゃない場合）も使える逆行列の拡張になっていて便利です。変数の数が式の数より多いときはＬ２正規化のペナルティが課された場合の解（解ベクトルの絶対値が最小）を、変数の数が式の数より少ないときは最小二乗解を与えてくれるという優れものです。大学の線形代数の一部で教えてもいいんじゃないかと思っているくらいです。
##第二部
いよいよ主成分分析とテンソル分解を変数選択にどう使うかということを述べます。主成分分析とテンソル分解に各々一章が使われていて、全二章の構成です。ここでは現実のデータは扱わず、いわゆる人工データに限って応用例をたくさん示すことでこの方法の有効性を確かめられるように工夫しました。すべて、変数の一部だけ意味があり、大部分はノイズの場合、ラベル無しに教師無し学習でいかにして変数選択を行うか、という例になっています。それこそがこの本の本質だからです。
###第四章：主成分分析を用いた教師無し学習による変数選択
（[本文へのリンクはこちら](https://rd.springer.com/chapter/10.1007/978-3-030-22456-1_4)）
扱ったのは、二群、二群と四群の共存、周期関数（周期や関数形を与えない場合）、２つの異なった周期関数の共存、などです。いずれも乱数の中に埋まっていた場合、どうするかという問題を扱っています。
###第五章：テンソル分解を用いた教師無し学習による変数選択
（[本文へのリンクはこちら](https://rd.springer.com/chapter/10.1007/978-3-030-22456-1_5)）
扱ったのは、２×２群（ただし、四群ではなく、１群vs３群に分かれるという特殊な場合です）、２群に分かれている２つの行列の統合解析、です。この辺りは上記の「[テンソル分解を用いた教師無し学習による変数選択（５．１節）](https://qiita.com/Yh_Taguchi/items/2c946122a1b314c66ced)」や「[（続）テンソル分解を用いた教師無し学習による変数選択（５．５節）](https://qiita.com/Yh_Taguchi/items/d99d6dd0db23787eb144)」の内容と被っています。言葉だけじゃわかりにくいと思うので見てみてください。
##第三部
いよいよバイオインフォマティクスにこの方法を使います。主成分分析とテンソル分解を用いた応用例にそれぞれ一章ずつを割いています。全二章です。
###第六章：主成分分析を用いた教師無し学習による変数選択のバイオインフォマティクスへの応用
（[本文へのリンクはこちら](https://rd.springer.com/chapter/10.1007/978-3-030-22456-1_6)）
本書の中で一番ボリュームが多い章です。この本で扱われた一連の研究は僕が「テンソル分解」と言い始めるまで、特に国内ではガン無視されていました（笑）。でも、本当は主成分分析のレベルで十分に強力で使いでがあるんですね。だからがっつり書きました。この記事や本に興味持ってくれている人は大部分は「テンソル分解」というキーワードに惹かれているんでしょうけど、実際は主成分分析の方が使える場面は多いと思います。
###第七章：テンソル分解を用いた教師無し学習による変数選択のバイオインフォマティクスへの応用
（[本文へのリンクはこちら](https://rd.springer.com/chapter/10.1007/978-3-030-22456-1_7)）
最初からテンソルの形でデータが与えられている場合、行列からテンソルを作ってからテンソル分解を適用する場合、そして、行列からテンソル作ってバカでかくなってしまった場合、どうやって近似的に少ないメモリーで解くか、について具体例に即して述べてあります。

#おわりに
さて、いかがだったでしょうか？これを読んでいる人は若い人が多いと思うし、自腹を切って買えるような値段でもないので、図書館に購入を依頼するとか、ＰＩや指導教官に研究費で買ってもらうとか、会社の備品として買ってもらうとかして見てください。よろしくお願いします。
ちなみにこの本はBookauthorityとかいう僕もよく知らない海外のランキングサイトで

- [9 Best New Feature Extraction Books To Read In 2020のトップ](
https://megalodon.jp/2019-1119-1140-16/https://bookauthority.org:443/books/new-feature-extraction-books?t=crtip3&s=award&book=3030224554)
- [44 Best Feature Extraction Books of All Timeの5位](https://megalodon.jp/2019-1119-1141-56/https://bookauthority.org:443/books/best-feature-extraction-books?t=14r7a9&s=award&book=3030224554)
- [13 Best New Supervised Learning Books To Read In 2020の４位](https://megalodon.jp/2020-0405-1405-17/https://bookauthority.org:443/books/new-supervised-learning-books?t=xx0dos&s=award&book=3030224554)
- [44 Best Supervised Learning Books of All Timeの12位](https://megalodon.jp/2020-0405-1358-46/https://bookauthority.org:443/books/best-supervised-learning-books?t=jmg9mj&s=award&book=3030224554)

に選ばれたので海外でもそれなりに好意的にはとらえられているのだと思います（それにしてもFeature Extractionなんていうオタッキーな分野のランキングがあるなんて知りませんでした）。

最後に、よくこういう本の各章の最初には故事などちりばめられて権威を高められているのですが、僕は代わりにアニメのセリフをちりばめました。これでこれらのアニメは永遠に人類の歴史に残ったとおもいます（笑）。その部分は上記の（本文へのリンクはこちら）をクリックすると読めますので見てみてください（序文の部分はグロミハさんの序文と同じリンクのiXページ）。以下に取り上げた作品を載せます。

- 序文：[ルパン三世 カリオストロの城](https://ja.wikipedia.org/wiki/ルパン三世_カリオストロの城)
- 第一章：[RELEASE THE SPYCE](https://ja.wikipedia.org/wiki/RELEASE_THE_SPYCE)
- 第二・三章：[ダーリン・イン・ザ・フランキス](https://ja.wikipedia.org/wiki/ダーリン・イン・ザ・フランキス)
- 第四・五章：[ソ・ラ・ノ・ヲ・ト](https://ja.wikipedia.org/wiki/ソ・ラ・ノ・ヲ・ト)
- 第六・七章：[SSSS.GRIDMAN](https://ja.wikipedia.org/wiki/SSSS.GRIDMAN)

以上、この記事を読んでくれてありがとうございました＆一人でも多くの人に拙著を読んで頂ければ光栄の至りです。よろしく！