人間にわかりやすいようにゼロから設計された機械学習ライブラリです。他の機械学習ライブラリとの違いは次のとおりです。
このライブラリは、検索(検索キーワード、フィルタ)や価格設定(部屋数、場所、価格)によく見られるような、間疎で解釈可能なフィーチャと共に使用することを目的としています。生のピクセルやオーディオサンプルなどの非常に高密度な非人間解釈可能なフィーチャを持つ問題では、それほど解釈できません。
解釈可能性に焦点を当てる理由はいくつかあります。
aerosolve のアーティファクトはbintray でホストされています。 Maven、SBT、または Gradle を使用している場合は、bintray をリポジトリとして指定するだけでアーティファクトを自動的にフェッチできます。
アルゴリズムにポアンティリズムのスタイルでペイントする方法を教える方法を学ぶことができる画像インプレッションデモを見てみましょう。画像印象主義のデモ。
一般的な機械学習ベンチマークに基づいた所得予測デモもあります。所得予測デモ。
このセクションでは、thrift ベースのフィーチャ表現について詳しく説明します。
フィーチャは、フィーチャファミリーと呼ばれる論理グループにまとめられています。これにより、フィーチャファミリー全体に変換を一括して適用したり、2 つの異なるフィーチャファミリーを相互作用させて新しいフィーチャファミリーを作成したりできます。
FeatureVector あたりのフィーチャには 3 種類あります。
例は、トレーニングデータの作成とスコア付けの基本単位です。単一の例は次のものから構成されます。
この構造を持つ理由は次のとおりです。
このセクションでは、特徴変換言語について詳しく説明します。
特徴変換は、モデルから切り離された別の変換モジュールを使用して適用されます。これにより、ユーザーは変換を分割したり、スコア付けの前にデータを事前に変換したりできます。たとえば、あるアプリケーションでは、コーパスのアイテムは事前に変換されて格納される一方で、コンテキストはランタイムまでわかりません。次に、ランタイムにコンテキストを変換し、各変換されたアイテムと組み合わせて、モデルに供給される最終的な特徴ベクトルを取得できます。
特徴変換により、FeatureVector をその場で変更できます。これにより、エンジニアは迅速かつ制御された方法で特徴エンジニアリングをすばやく反復できます。
以下に、一般的に使用される特徴変換の例を示します。
対応する単体テストで、これらの変換の機能、処理する特徴のタイプ、および想定される構成を確認してください。
このセクションでは、デバッグ可能なモデルについて説明します。
model ディレクトリにはいくつかのモデルがありますが、デバッグ可能な主なモデルは 2 つだけです。残りは、説明可能なモデル用に変換を作成する実験的モデルまたはサブモデルです。
線形モデル。ヒンジ、ロジスティック、イプシロン非敏感な回帰、ランキング損失関数をサポートします。文字列の抽出にのみ作動します。タスクのラベルは特別なフィーチャーファミリーに保存され、設定の rank_key によって指定されます。線形モデルのユニットテストでモデルの設定方法をご覧ください。量子化と交差と組み合わせて使用すると、「線形」モデルから驚くほどの複雑さを引き出すことができることに注意してください。そのため、通常の線形モデルではなく、より複雑で、多数の枝を持つ枝ぶりの良い非常に幅広い決定木であると考えることができます。
スプラインモデル。一般化加法線形部分スプラインモデル。トレーニングは、ある特徴の範囲の最小と最大値の間で、num_buckets によって指定された高い分解能で行われます。各イテレーションの終わりごとに、線形部分スプラインを、ディラックデルタのエンドポイントを持つ多項式スプラインなどの低い次元関数に射影しようと試みます。射影の RMSE が閾値を超えた場合は、スプラインを低分解能の部分線形モードのままにします。これにより、バグがあるか、予想外に複雑な特徴(例:ある種の滑らかさを期待しているときに上下に跳躍する)に対してスプラインモデルのデバッグを行うことができます。
ユーザーグループ: https://groups.google.com/forum/#!forum/aerosolve-users