雑記 in hibernation

頭の整理と備忘録

機械学習

【読んだ本のメモ】シンギュラリティ:人工知能から超知能へ

輪読用の備忘録として読んだ本の内容をメモっておきます。 概要 どんな本? 人間レベルの人工知能(汎用人工知能)、そして人間を超えたレベルの知能(超知能)を実現するために考えうる道筋と、その過程にどのような技術的課題が存在するかを検討します。ま…

追い詰められたのでShap入門します

本職でクソモデルをこしらえた結果、モデルの中身に対する説明責任が発生してしまいました。逃げ場を失ったので素直にShapに入門します。 1. Shapとは ビジネスの場で機械学習モデルを適用したり改善したりする場合、各変数が予測値に対してどのような影響を…

PySparkデータフレームをscikit-learnのモデルで推論してみる(pandas_udf)

scikit-learnで学習したモデルを使ってPySparkのデータフレームに対する推論を行う方法はいくつかあって、例えば単純な方法としてはデータフレームを.toPandas()でPandasのデータフレームに変換してからモデルに入力する手があります。しかし、この方法だとS…

AutoGluonでAuto ML実装(最短実装編)

ぶっちゃけ機械学習エンジニアリングにはあまり興味がない、最低限の作業でそこそこ精度が出てくれればいいと思っている身としてはAuto MLには惹かれるものがありました。で、ちょうど最近AutoGluonの解説を聞く機会があったのですが、想像よりもはるかに手…

知る人ぞ知る(?)WOE変換をフックアップ

統計・機械学習における変数変換の手法の一つに”WOE(Weight of Evidence)変換”という方法があります。金融工学の世界で好んで利用される手法らしいですが、他分野の方にはいまいち耳馴染みがないワードだと思います。ということで、「WOE変換なんて聞いたこ…

ビジネスメールから受けるダメージをテキスト感情分析で和らげる試み

労働が人間の精神に及ぼす悪影響については今更言及の余地はないでしょう。業務・責任に見合わない給与や長時間の拘束などなど、労働のネガティブな要素を挙げ始めるとキリがありませんが、僕個人としては、ビジネスコミュニケーション上で発生する精神的負…

ビニングにも色々あるらしい

機械学習でビニングって手法があるじゃないですか。あるんですよ。 最近SASの公式ドキュメントを眺めていて知ったのですが、どうも一口に "ビニング" といっても色々な分割方法があるみたいです。あまり馴染みのない情報だったので、ざっくりまとめてみまし…

マーケティングにおけるデータ分析の超ざっくり沿革

最近読んだ書籍の冒頭でマーケティング分野のデータ分析の沿革について非常に簡素にまとまって紹介されていたので、若干の意訳を加えつつ備忘録的に内容をメモ書きしときます。 超ざっくりですが、データの拡充により分析目的が多角化していく流れと、その背…

2値分類の不均一データ対策って実際効果あるんかい

機械学習の2値分類問題において、不均一(=陰性・陽性のデータ比率に偏りがある)データを学習させる際に学習用のセットの陰性・陽性のデータ比率をある程度揃えてあげることでモデル精度が向上することが知られています。このアイデアをもとにオーバーサン…

optunaで脳筋ハイパラチューニング(ようやく最後のお話:精度比較編)

Pythonでのoptuna実装について、理論面にはノータッチの脳筋スタイルで連載をお送りしています。最終回です。 第1回では1変数の関数に対する最適解探索を、第2回では機械学習モデルのパラメータ最適化を実装しました。そして最終回となる第3回の今回は、デフ…

optunaで脳筋ハイパラチューニング(こっからが本番:機械学習モデルのチューニング編)

Pythonでのoptuna実装を理論面にはノータッチの脳筋スタイルでお試ししてみます。記事は3回に分けて投稿予定で、前回の第1回では、まず1変数の関数に対する最適解探索を実装してみました。第2回の今回は、機械学習モデルのパラメータ最適化を実装します。次…

optunaで脳筋ハイパラチューニング(小手調べ:関数の最適解探索編)

「話題の最適化フレームワークがあるらしいやんけ。使ったろ。」の精神でoptunaを使った機械学習モデルのハイパーパラメータのチューニングをお試ししてみます。Pythonでのoptuna実装のチュートリアル的な内容です。理論面にはノータッチの脳筋スタイルで行…

ランダムフォレスト「マージン」の謎

僕が仕事でメインに扱っているのはSASだったりするのですが、SASは機械学習というよりは統計解析寄りのソフトです。そのため、分析屋もどきの身からすると、その出力もやや見慣れないものだったりします。 先日SASのプロシージャでランダムフォレストを弄っ…

Kerasで最短(?)LSTM実装

RNNのチュートリアルとして、LSTMによる時系列予測モデルをKerasにて実装しました。 多分これが必要最低限の実装だと思います。 備忘録として記録しておきます。 1. LSTMとは LSTMは再帰型ニューラルネットワークであるRNNのバリエーションの一つで、主に時…

SASが無料で使えるんですって (SAS OnDemand for Academics)

統計ソフトとしてSASを使う機会がしばしばあるのですが、なかなかとっつきづらさを感じています。その要因として、プログラミング言語としての仕様の独特さや、非公式の情報の少なさ(と言っても公式の情報は充実しているのですが)などと並んで、「そもそも…

正則化をなるべく丁寧に理解する - 実践編 -

機械学習における正則化の原理と挙動を理解するため、手法の概要をまとめると共に、正則化を用いた最適化をシミュレートして挙動を確認します。 この記事では -実践編- と題して、簡単な損失関数を例に正則化を実装し、効果をシミュレートしてみます。具体的…

正則化をなるべく丁寧に理解する - 理屈編 -

機械学習における正則化の原理と挙動を理解するため、手法の概要をまとめると共に、実際に正則化を用いた最適化をシミュレートして挙動を確認します。 今回の記事では -理屈編- と題して、正則化の着想から具体的な手法(L1,L2正規化)の解説までをまとめます…

2値分類モデルの評価指標を一覧にまとめる

この記事では2値分類問題における評価指標を列挙し、一覧表にまとめます。また、適切な評価指標を用いることの必要性をケーススタディで確認します。なお本記事は個人的な備忘録として作成しています。 1. はじめに 1.1. 正答率だけでは不十分な2値分類モデ…