第6週､ 3日目へようこそ｡
今日は､ あなたの好みに応じて､ 好きになるか嫌いになるかのどちらかの日になるだろうが､
中間はないだろう｡
あなたが伝統的な機械学習が好きか､ 興味があるかによって､ 素晴らしい一日になるか､
惨めな一日になるかが分かれるだろう｡ 今日は､ 過去に一歩さかのぼって､ 基礎的な機械学習を見て､
昔はどうだったかの実践的な例をいくつか紹介しよう｡
だから､ このイントロで､ しかもたった1日だけなら､ たとえあなたがとても不愉快に思うことであっても､
我慢できるはずだ｡
さて､ ざっと思い出すと､ すでにできることは､ フロンティアモデル､ ツールを使ったAIアシスタントの構築､ パイプラインやトークナイザーやモデルを使ったハグフェイスのようなオープンソースモデルを使った作業だ｡
ロング・チェーンを使えば､ 完全なラグ・パイプラインを構築することができる｡
そして実際､ ご覧いただいたように､ ロングチェーンなしでも､ 少なくともかなり､ 完全に可能なのだ｡
ラインチェーンを使えば手っ取り早いが､ ラグに特別なマジックがあるわけではないことはご存知の通りだ｡
そして､ 商業的な問題を解決するための5段階の戦略について話してきた｡
そして､ 私たちはデータについて本当に深く知っている｡
深く考えすぎなければいいのだが
この経験を乗り越えられたことを願っている｡
私たちはデータを使って多くの仕事をした｡
たくさんのチャートを見た｡
アイテム・クラスとアイテム・ローダーについては､ おそらく意図していた以上に詳しくなっていることだろう｡
しかし､ この時点で我々は自分たちのデータを隅から隅まで把握している｡
今日はベースラインについて話そう｡
ベースライン・モデルとは何か､ なぜそれが重要なのかについてお話しします｡
そして､ ベースラインモデルと､ より伝統的な機械学習で遊んで､
派手なLMのようなものを使わなくても､ どれだけのことができるかを調べるんだ｡
ええと､ 明日､ フロンティアに行く前にね｡
それでは早速､ ベースラインについて少し話をしよう｡
だから､ 問題に取り組むならシンプルなものから始めるというのが､ ほとんど常識的なことなんだ｡
しかし､ 特にデータサイエンスの世界では､ いくつかの理由から根本的に重要なことなのだ｡
明らかなのは､ 私たちが進歩を測るための一種の基準を与えてくれることだ｡
シンプルで伝統的なものから始めれば､ 高度なディープ・ニューラル・ネットワークを適切に使っていることがわかる｡
針が動いているのを見たり､ ベースラインなしではるかに大きな高みを目指しているのを見ると､ 素晴らしい結果を得ているのか､
それとも不愉快な方向に小さな一歩を踏み出しているだけなのか､ わからなくなってしまうのだ｡
だから､ その目安になるのは明らかだ｡
あ､ でも､ もうひとつあって､ llmsが必ずしも正しい解決策とは限らないんだ｡
実際､ 我々が解決しようとしている具体的なビジネス上の問題は､ 商品の価格を予測することなんだ｡
というのも､ 先ほども言ったように､ 説明文から価格や数字を生成するのは､
より伝統的なNLPや線形回帰であり､ 機械学習の分野に属するように思えるからだ｡
伝統的な機械学習｡
そうなると､ ベースラインを構築することがより重要になる｡ なぜなら､ そうしてフロンティアモデルを試してみても､
それ以上の結果は得られないからだ｡
だから､ 当たり前のことなんだけど､ なぜこんなことをするのかを説明してくれるんだ｡
さて､ 今日はどんなモデルで勝負しようか｡
しかもたった1日だけだ｡
こんなことに費やすのは一度きりだ｡
そして､ あなたがすでにこれらのモデルに精通しているなら､ それは本当に価値がある｡
もし､ あなたが初めて商業的な問題に触れるのであれば､
私たちの特定の商業的な問題についての興味深い簡単な実験になるだろう｡
まず最初に､ ビジネス上の問題を取り上げます｡
私たちは､ とても古風なことをするつもりだ｡
フィーチャー・エンジニアリングと呼ばれることをするつもりだ｡
データを理解し､ さて､ 価格に影響を与えそうな重要な要因は何だろう？
そして､ 私たちは機能と呼ぶべきものを考え出そうとする｡
そして､ アマゾンのベストセラーランキングの順位はどうなのか､ といったような､ ごく当たり前の特徴を考えていきます｡
そして､ これらの特徴の線形結合が価格を予測するのに有効かどうかを試してみる｡
そして､ 機械学習モデルを扱う場合､ そこから始めることが多い｡
これは自然言語処理の最初の試みのひとつだ｡
NLP Bag of Wordsは特に単純化されたアプローチで､ 文字通り単語の数を数え上げ､
この説明文の中で各特定の単語が何回登場するかという小さなベクトルを構築する｡
つまり､ ある単語があったとして､ その単語にはストップワードと呼ばれるものは含まれない｡
しかし､ もしインテルのような単語があるとすれば､ それはラップトップやコンピューターに一定の価値があることを示すかもしれない｡
そして､ それが現れるかどうか､ あるいは現れたとしても何回現れるかによって､
その場所に影響が出る｡
ええと､ この単語袋の中にある､ 各商品に含まれる単語数のリストです｡
そして､ その単語の袋を取り出し､ これらの異なる単語を組み合わせたときに､
商品の価格を予測する線形結合があるかどうかをもう一度調べます｡
これは､ 最初の本格的なニューラルネットワークの1つで､
単語のバッグよりも賢い方法でベクトルを生成できるエンコーディング・アルゴリズムだ｡
まずは線形回帰を使ってみよう｡
そして､ それをランダムフォレストと一緒に使うのですが､ これはもっと洗練された手法なので､ その時にお話しします｡
しかしそれは､ データのランダムな塊と､ ベクトルのビットの形をした特徴を取り､ それがアンサンブル､
つまりこれらの小さなサンプルの多くの平均を組み合わせた一連のモデルを作成するかどうかを確認することを含む｡
サポート・ベクトル回帰と呼ばれる､ サポート・ベクトル・マシンの一種である｡
だから､ 私たちはこうしたさまざまなテクニックを試してみる｡
どれが最も優れているのか､ また､ 説明文だけから商品の価格を予測するという我々の問題を解決する上でどうなのかを見てみよう｡
それでは､ JupyterLabに行ってみよう｡