天色グラフィティ

機械学習やプログラミングでいろいろ作って遊ぶブログ

初めて技術書典に出展して、新刊を300部売るまで

9/22の技術書典7で『ハマって覚えるデータ分析・機械学習の罠』を頒布しました。

BOOTHでの同時販売を含めると、書籍とPDFで合計300部以上買っていただけました。 買ってくださった方々、ありがとうございました。 感想や改善点などはTwitterで@SakuEjiにメンションを飛ばしていただけたらとても嬉しいです。

技術書典行けなかったという人にはBOOTHでもPDF版を頒布しています。頒価は会場と同じく1000円です。

sakueji.booth.pm

技術同人誌を書いたのは初めてでしたし、技術書典には参加者としてすら行ったことがなかったので不安9割でした。 そもそも完成できたのが奇跡としか言いようがありません。

売れ行きが全く想像できなかったのですが、「近頃話題の機械学習だし、なんとかなるやろ」とかなり強気に書籍は150部刷りました。 「売れ残ったらちょっと悲しいな」とも思っていましたが、 出だしからたくさんの方に買ってもらえて、14:00くらい(技術書典が11:00-17:00なので、だいたい半分の時間)に完売しました。

完売したことはすごく嬉しいのですが、「やっぱり書籍が欲しかった」という声も多くいただきました。 次回以降は気持ち多めに刷るくらいで良さそう、と思っています。 売れ残っても委託販売とかできますしね。

この記事では備忘録も兼ね、出展するに当たってやって良かったこと、やっておけば良かったことをまとめておきます。ぜひ参考にしてくださると幸いです。

何の本を出したか

『ハマって覚えるデータ分析・機械学習の罠』というタイトルからも分かる通り、データ分析や機械学習にまつわるアンチパターンをぎゅっと詰め込んだ本になっています。

機械学習初心者〜中級者が小規模な機械学習プロジェクト(研究とか、Kaggleを含む)に携わるという状況を想定しています。

機械学習プロジェクトを立ち上げるとき、データを眺めるとき、特徴量を作るとき、評価方法を決めるとき、学習するとき、と分析の各段階において気をつけるべき罠を一通り紹介した後、 分析サイクルを回すときに気をつけるべきことをTips的にまとめています。

会場に来てくださった方の中からも「あーこういうのあるよね」「これは知らなかった」という反応を多くいただき、嬉しい限りです。

より詳細な目次はこんな感じです。

はじめに
  本書の想定している読者
  あなたは誰ですか?
用語集
第1章 プロジェクトを始めるときの罠
  1.1 機械学習が有効な分野を見誤っている
  1.2 機械学習の結果をどう使うか想像できていない 
  詳しく知りたい方は
第2章 データを知るときの罠
  2.1 データの背景を把握せずに解析を始めてしまう
  2.2 データの統計量だけを見てしまう 
  2.3 可視化して満足してしまう
第3章 前処理・特徴量作成を行うときの罠
  3.1 泥臭い作業から逃げてしまう 
  3.2 典型的な処理を知らない
  3.3 特徴量作成にバグを埋め込んでしまう
  3.4 リークを埋め込んでしまう
第4章 モデルを評価するときの罠
  4.1 ベースラインを作成しない
  4.2 評価指標をよく考えずに選んでいる 
  4.3 バリデーションを適切に行っていない
第5章 モデルを訓練するときの罠
  5.1 モデルに適した形に前処理していない
  5.2 ハイパーパラメータ探索を適当に行っている
第6章 分析サイクルを回すときの罠
  6.1 ソースコードのバージョン管理を行っていない
  6.2 ライブラリのバージョンを固定していない
  6.3 乱数を適切に扱っていない
  6.4 モデルを保存していない
  6.5 Jupyter Notebook の収拾がつかなくなっている
  6.6 パラメータをソースコード中に書き込んでいる
参考文献 
おわりに

上の目次を読んで「あれ、これ良いかも?」と興味をもってくださった方はBOOTHからPDF版がダウンロードできます!笑

sakueji.booth.pm

ここからは、「自分も技術書典に出してみようかな」と思う人に向けて、覚えておくと良いことを解説していきます。

執筆前

親方Project『技術同人誌を書こう!』をめっちゃ読みました。

技術同人誌を書こう! アウトプットのススメ (技術の泉シリーズ(NextPublishing))

技術同人誌を書こう! アウトプットのススメ (技術の泉シリーズ(NextPublishing))

執筆から入稿、当日の準備まで網羅されていて、ほぼこれ一冊で同人誌が書けると思います。必携。

執筆環境

執筆環境にはRe:VIEWを採用しました。

Re:VIEW特有の記法を覚えなければいけませんが、同じ原稿から印刷用のPDFも、配布用のPDFも、電子書籍用のepubまで作成できるのはかなり魅力的です。 LaTeXMarkdown、Wordといった手段を使うこともできましたが、どれもどこかに難を抱えていました。

RedPenやtextlintといった校正ツールは使いませんでした。イケてる執筆環境を整えている時間がなかったからです。 次回執筆するときは使うと思います。

エディタはVSCodeを使い、yet another Re:VIEW extensionを入れました。一番人気のextensionを使わずyet anotherを使っているのは、 一番人気のextensionがソースディレクトリ変更に対応していなかったからです。

Re:View記法は@<code>{hoge}のような特殊な記法になっていて、ベタ打ちするのはストレスフルです。 絶対にスニペットを登録しておきましょう。大幅な作業時間短縮になるはずです。

表紙作成

表紙は本文とは別ファイルで作る必要があります。アプリケーションとしてはAdobe Illustratorを使うのが間違いないと思います。

表紙の出来はそのまま売れ行きに直結しますので、可能であればデザイナーさんにお願いして作ってもらうのが良いでしょう。 僕は時間がなかったので自分でデザインしました……

かわいいライオンの画像はUnsplashからダウンロードしました。

本文が40ページを超えたくらいから背表紙をつけることを検討しましょう。本棚に並べたときの見栄えが段違いです。

入稿

日光企画に2日遅れで入稿しました。費用が10%UPでしたが、直接原稿を持ち込んで現金で決済したので5%OFFになりました。

入稿は直接持ち込むのが圧倒的におすすめです。その場で確認して、おかしいところがあったら指摘してくれます。 オンラインで入稿した場合、電話越しに修正ポイントを指摘され、改めてオンラインで入稿し、それに対してまた指摘があり、と何往復もする必要があります。 店員の方も「持ち込んでくれたほうが嬉しいですねー」と言っていたので、可能であれば御茶ノ水店に行きましょう。

原稿の受け渡しのため、USBメモリを持っていくとスムーズです。 ない場合、店舗にいながらオンラインで入稿する羽目になります。日光企画にはWiFiがないので、泣きながらテザリングしました。

印刷・製本方式はオンデマンドの平トジフルカラーにしました。 印刷方式はオフセットとオンデマンドの2種類が選べます。 オフセットのほうが写真などが綺麗に出ますが、オンデマンドのほうが安く、〆切も1日遅いです。技術書であればオンデマンドで良いと思います。 製本方式は平トジと中トジが選べます。平トジが普通の本です。ある程度ページ数があれば平トジ一択です。 本文はグレースケールで良いと判断したため、表紙のみをフルカラーにしました。

同人誌はなぜかB5サイズで作られることが多いですが、A5サイズにしたほうが(ページ数が増えたとしても)かなり割安です。特にこだわりが無ければA5サイズで作るのも良いと思います。

他にも遊び紙や表紙コーティングといった細かいオプションがたくさんあるのですが、実店舗に行けばサンプルが見られますし、丁寧に説明してもらえます。

前日準備・当日設営

f:id:ejinote:20190924233142j:plain

長机の半分のサイズが各サークルに割り当てられます。スムーズに販売するためにはいろいろ必要なものがあるので、前日に慌ててハンズと100均(キャンドゥ)に駆け込みました。

①ブックカバー

キャンドゥとハンズの両方で買いましたが、100均のものはペラペラだったので捨てました。見本は心地よく読んでほしいですし、金額差も大したことは無いので良いものを選ぶべきだと思います。

②ブックスタンド

2つ必要だったので、キャンドゥとハンズの両方で買いました。一長一短。 迷ったら100均のもので良いと思います。

③布

布を敷くと見栄えがかなり良くなるので、絶対に買ったほうがいいです。

同人界隈ですと「あの布」が人気のようですが、僕は100均で端切れ布を買いました。十分でした。 たぶん何かしら敷かれていれば良いと思います。

④nu board

ホワイトボードやスケッチブックはその場で書き換えられるという点でなにかと便利です。

僕は結婚祝いで頂いたnu boardというノート型ホワイトボードをブックスタンドに立ててお品書きにしました。おすすめです。

Amazon限定 nu board (ヌーボード) B5判 NAB503BK08

Amazon限定 nu board (ヌーボード) B5判 NAB503BK08

他に買ったもの

  • 名札
    • 絶対あったほうがいいです。お客さんとのコミュニケーションが増えます
  • ハードクリアファイル
    • 公式から配られる「サークル便利カード」は便利ですが、かんたん後払い用のQRコードが小さいです。お品書きとQRコードをでかでかと紙に印刷して、クリアファイルに入れておくとスムーズです
  • カード立て
    • 今回は使いませんでしたが、頒布する書籍が複数ある場合、値札を立てておけるので便利だと思います
  • メッシュポーチ
    • お札の管理に使いました

あったらよかったもの

  • 名刺
    • 名刺をいくつかいただきましたが、プライベート用の名刺を作っていなかったのでお返しできませんでした……

その他こまごまとしたTips

執筆・印刷

  • ダウンロードカードは用意する
    • 準備が面倒なので今回はやらなかった
    • かんたん後払い利用者のみ、公式の機能としてダウンロード機能があるのでそれを使った
    • 「ダウンロードカードもらってません」という問い合わせが頻発した
  • 気持ち多めに刷る
    • 余ったからと言って即座に赤字なわけではない
    • ダイレクト入庫というサービスを使うことで、とらのあなやBOOTHに簡単に委託することができる
    • 手元にある程度残しておけば「ほしい」と言われたときに渡すことができる
    • なにより、「もう本ないんですか……」という悲しい顔を見ずに済む
  • お問い合わせ用の連絡先や、ツイートするときのハッシュタグを本文に書いておく
    • ないと反応が全然見えなくてつらい
    • 間違いの指摘も来ないので、次版の修正ができない可能性がある

準備

  • サークルカットは早めに作っておく
    • 一般の人がサークルリストにアクセスできるまでに作っておくと被チェックの伸びが良いと思う
  • 書き終えたら宣伝が命
    • ちょっとしつこいぐらいツイートした。特に前日〜当日にかけて。その甲斐あって被チェック数はぐぐっと伸びたし、BOOTH版も伸びた
  • 公式の推し祭り(Twitterイベント)には必ず参加する
    • かなり被チェックが伸びる
    • 他の出展者の方からフォローされ、交流が始まることも
  • 値段設定は1000円にしておくとめっちゃ楽
    • 書籍とPDFのセットは1500円に設定して、支払い方法をかんたん後払いのみにした

当日

  • 交代要員は絶対用意する
    • ワンオペだとトイレ行くだけで詰みかねないし、自分の買い物もできない
    • 隣のブースだったカレーちゃん(@currypurin)がワンオペで捌いていてマジですごいと思った

終了後

  • 出納をつける
    • いくら使って、いくら入ったのか把握して次回の部数設定に活かす
  • 翌日以降もPDF版などを宣伝する
    • 技術書典行けなかったけど評判いい本があったら買いたいという人はたくさんいる
    • ちゃんと宣伝すると、技術書典と同じくらい売れる
  • 振り返りブログを書く
    • 思いついた反省点をさっぱり忘れてしまうともったいない

最後は時系列で技術書典を振り返っていきます。

ツイートで振り返る経緯

機械学習アンチパターン集ってあんまりないな、と思ってツイートしてみたら、なんとなくいい反応だったので軽い気持ちで書いてみようかと思う。 何なら技術書typoするという体たらく。

ただ、実はその日、技術書典の〆切当日。

フォームを必死に記入しながら、技術書典経験者のu++さんとカレーちゃんに聞いてみる。 大丈夫だよーみたいな反応を貰ったので必死に申し込み作業を行う。

ギリギリ申し込み終了。

なんと当選。この日のうちにRe:VIEWの執筆環境を整える。後から考えると、ここで環境をきちんと作っていなかったら本は出てなかった。

ちなみに、本当にほとんど何も進んでいない。

Kaggle Meetupに参加した時、『Kaggleのチュートリアル』を執筆したカレーちゃんと会う。「書いてます?」という問いに対し、苦笑いで返す。 「えじさんの本売れると思いますし、たくさん刷ったほうがいいですよ! 600部とか!」と言われ、「この人、俺を殺しに来てるんじゃないか」と思った記憶がある。

エルピクセルさんの勉強会に行ったり、もくもく会を主催したり、KDD行ったり、他の記事を執筆したりでしばらく原稿の進捗がない日々が続く。

カレーちゃんのブースが隣だということが分かる。カレーちゃんは超人気サークル主。しかもジャンルが近いので、一緒に買っていってくれる人が多いに違いない。勝利を確信する。ちなみにこの時点で進捗は3割くらい。

「完成しさえすれば勝ち」と自分に言い聞かせながら必死に原稿を書く。Twitterへの浮上が減る。もちろんTwitterをしていないのでモリモリ原稿ができていく。

そして完成。

以後は技術書典当日。

開始前にBOOTHで10人以上に購入いただき、びっくりする。

12:00ごろ、開始1時間で半分売り切れてビビる。

13:00ごろ、早々に完売が見えてくる。

無事14:00ごろに売り切れ、PDF版をゆるゆる頒布。

かなり身軽にブース運営していたので、5分で撤収完了。カレーちゃんに「撤収速いですね!」と言われてドヤ顔で撤収するも、駅までの道で迷う。

たくさん買い物した。

翌日以降もたくさん買っていただいています!

まとめ

完成が危ぶまれた時期もありましたが、それを含めてすべて楽しかったです!また次回も(新刊をつくって)参加したいと思います!

技術書典8で会いましょう!