Amazon Web Services ブログ

Category: SageMaker

AWS DeepRacer – 強化学習のハンズオン at re:Invent

強化学習は、”エージェント”が、インタラクティブな環境下でトライアンドエラーベースで行動が可能なときに、行動からのフィードバックを利用して、事前に定義されたゴールに到達する、あるいは、有る種のスコアや報奨を最大化するよう学習を行う機械学習の形式の一つです。強化学習は、教師あり学習などの他の型式の機械学習とは対照的に、一連の事実(ground truth)を利用してモデルの学習を行い、推論を行います。 AWS re:inventでは、皆様に強化学習のハンズオンをご提供します。本日その全てをご紹介します。このハードウェアとソフトウェアの組み合わせは、(文字通り)物事を前進させるのに役に立ちます! AWS DeepRacer ハードウェアとソフトウェアについてまず最初にご紹介します。AWS DeepRacerは、1/18スケールの4輪ラジコンカーです: オンボードIntel Atom® プロセッサー、1080p解像度の4メガピクセルカメラ、高速WiFi(802.11ac)、複数のUSBポート、およそ2時間稼働できるバッテリーを搭載しています。Atom processor上で、Ubuntu 16.04 LTS、ROS(Robot Operating System)、および Intel OpenVino™ コンピュータービジョンツールキットが稼働します。

Read More

Amazon SageMakerの新機能: ワークフロー、アルゴリズム、認定

過去12ヵ月間、MLを何万人もの開発者やデータ科学者の手に渡して、完全に管理されたサービスである、Amazon SageMaker を利用しているお客様が – 詐欺の発見、予測、エンジンのチューニングで machine learning に大進歩を遂げたのを見て参りました。昨年 re:Invent に SageMakerを導入して以来、その大半は顧客のフィードバックに基づいた、ほぼ100の新機能を追加しました。Amazon SageMakerの主な新機能の発表で、今日も同じドラムビートを継続しています。 SageMakerワークフローの紹介 今日では、machine learning のワークフローの構築、管理、共有を容易にするために、Amazon SageMakerの新しい自動化、統合化、それにコラボレーション機能を発表しています。 Machine learning は高度なコラボレーションプロセスです。ドメイン経験と技術スキルを組み合わせることは成功の基盤であり、さまざまなデータセットや機能を用いた複数の反復と実験が必要になることがよくあります。開発者が進捗状況を共有し、多くの共同作業者からフィードバックを収集する必要が頻繁にあります。成功モデルの訓練は、必ずしもホールインワンとはなるとは限らないので、重要な決定を追跡し、成功した部品を再生し、成功したものを再利用し、成功しなかったものに関する助けを得ることが重要になります。これらの反復の管理、繰り返し、共有を簡単にする新機能を導入しています。 SageMaker Search による実験管理 成功したMLモデルの開発には、継続的な実験、新しいアルゴリズムの試行、ハイパーパラメータのモデル化が必要です。その間には、潜在的に小さな変更が性能と正確さに及ぼす影響を観察しなければなりません。この反復運動は、データセット、アルゴリズム、パラメータのユニークな組み合わせで「勝利」モデルの醸成の追跡が難しいことを意味します。 データ科学者および開発者は、Amazon SageMaker Searchを使用して、machine learning モデルトレーニングの実験を整理、追跡、評価することができます。SageMaker Searchを使用すると、AWSコンソールから数千もの Amazon SageMaker モデルトレーニング実行の中から、最も関連性の高いモデルトレーニングの実行を即座に発見し評価することができます。 バージョン管理によるコラボレーション データ科学者、開発者、データエンジニア、アナリスト、ビジネスリーダーは、しばしばアイデアやタスクを共有し、協力してmachine learning を推進する必要があります。従来のソフトウェア開発とのこの種のコラボレーションの事実上の標準は、バージョン管理です。それはMLでも重要な役割を果たしており、Git の統合と視覚化をAmazon SageMaker に追加することで、簡単に作成しています。 顧客は、GitHub、AWS CodeCommit、または Git リポジトリとSageMaker ノートブックのリンク、公私のリポジトリの複製、IAM、LDAP、AWS Secrets Manager を用いた Amazon SageMaker でのリポジトリ情報の安全な保存を可能にしています。新しいオープンソースのノートブックアプリの使用で、SageMaker でのブランチ、マージ、バージョンを直接確認できます。 ステップ関数とApache Airflow によるオートメーション […]

Read More

Amazon SageMaker と Amazon Redshift を利用した、高速・柔軟・セキュアな機械学習基盤の構築

データウェアハウス環境として、 Amazon Redshift に販売データ・ログデータ・センシングデータ等を蓄積し、これらのデータを用いて機械学習の活用を検討されるケースは多いと思います。高速にクエリを実行できる Redshift と、Amazon SageMaker による Jupyter Notebook を用いた対話的なデータ分析と機械学習を活用し、需要予測・レコメンド・異常検知などを行うことが可能です。 本稿では、 Redshift から Amazon VPC 内でセキュアにデータを取得し、SageMaker を利用した分析・機械学習パイプラインを構築する方法をご紹介します。前半では、アーキテクチャの概要を説明します。後半では、そのアーキテクチャのサンプルを構築し 、SageMaker から SQL クエリを実行して、データを分析する方法について説明します。環境を簡単に構築できるよう、 AWS CloudFormation のテンプレートを用意しているので、実際に試しながら読み進めることができます。SageMaker や Redshift の概要については末尾に記載した参考記事をご覧下さい。 アーキテクチャ概要 大規模データに対し、高速・柔軟・セキュアにデータ分析を行うための、Redshift と SageMaker を組み合わせたアーキテクチャを以下に示します。     AWS を利用した分析・機械学習パイプラインとしては様々なアーキテクチャが考えられますが、ここでは Redshift に対して SageMaker の Jupyter Notebook 上から SQL クエリを実行し、必要なデータのみを取得して分析・可視化・機械学習を行うことを想定します。Redshift のサンプルデータが Amazon S3 にあるため事前にそれを読み込んでいます。 それでは、具体的にアーキテクチャの詳細を確認していきましょう。 速度と分析の柔軟さの両立 データの分析・可視化・機械学習を行う場合、ブラウザ上で動作する対話型データ分析ツールである Jupyter Notebook […]

Read More

Amazon Kinesis Video Streams および Amazon SageMaker を使用したリアルタイムでのライブビデオの分析

Amazon SageMaker の Amazon Kinesis Video Streams Inference Template (KIT) の発売を発表できることを嬉しく思っています。この機能により、顧客はほんの数分で Amazon SageMaker エンドポイントに Kinesis Video streams をアタッチすることが可能です。これにより、他のライブラリを使用したり、カスタムソフトウェアを作成してサービスを統合することなく、リアルタイムの推論が可能になります。KIT は、Docker コンテナとしてパッケージ化された Kinesis Video Client Library ソフトウェアと、すべての必要な AWS リソースのデプロイを自動化する AWS CloudFormation テンプレートとで構成されています。 Amazon Kinesis Video Streams を使用すると、アナリティクス、機械学習 (ML) 、再生、その他の処理のために、接続したデバイスからオーディオ、ビデオ、関連メタデータを AWS に確実にストリームすることができます。Amazon SageMaker は、開発者やデータサイエンティストが ML モデルを迅速かつ容易に構築、トレーニング、および展開するための管理プラットフォームです。 ホームセキュリティカメラ、エンタープライズ IP カメラ、トラフィックカメラ、AWS DeepLens 、携帯電話などのソースからオーディオおよびビデオフィードを Kinesis Video Streams へと取り込みます。スマートホームのざまな業界からスマートシティへ、インテリジェント製造から小売業に渡るさまざまな業界のデベロッパーとデータサイエンティストが、AWS クラウドでこれらの動画フィードを分析するために、独自の 機械学習アルゴリズムを導入したいと考えています。これらの顧客が Kinesis Video […]

Read More

Amazon SageMaker IP Insights アルゴリズムを使用して、不審な IP アドレスを検出する

本日、Amazon SageMaker の新しい IP Insights アルゴリズムが公開されました。IP Insights は、IP アドレスの異常な動作や使用パターンを検出する教師なし学習アルゴリズムです。このブログ記事では、IP アドレスを使用した不正行為の特定、Amazon SageMaker IP Insights アルゴリズムの説明、実際のアプリケーションでの使用方法のデモンストレーション、およびその結果を社内で共有する方法について解説します。 悪意ある行為と戦う 悪意のある行為には、たいていの場合、オンラインバンキングアカウント、管理コンソール、ソーシャルネットワーキングまたはウェブメールアカウントへのアクセスなどのオンラインリソースへの不正なアクセス、いわゆるアカウントの乗っ取りが含まれます。乗っ取りは通常、盗まれたり、紛失またはリークされた認証情報を使用して行われ、不正なアクセスが、アカウントのいつもとは異なる IP アドレス (例えば、ユーザーからではなくハッカーのコンピュータ) から発信されることがほとんどです。 アカウントの乗っ取りを防ぐための一般的な防御策は、オンラインリソースに以前にはなかった IP アドレスでアクセスする際にフラグを立てることです。フラグ設定された対話はブロックすることができます。もしくは、ユーザーが追加の認証形式 (SMS への応答など) を利用して、乗っ取りに挑むこともできます。しかし、ほとんどのユーザーは、これまで使用していなかった IP アドレスから定期的にオンラインリソースにアクセスします。したがって、「新しい IP をフラグする」方法は、不適当に高い偽陽性率を生み、残念な顧客エクスペリエンスをもたらします。 ユーザーは定期的に新しい IP アドレスからオンラインリソースにアクセスしますが、新しい IP アドレスは完全な無作為での選択ではありません。ユーザーの移動習慣やインターネットサービスプロバイダーの IP 割り当て戦略など、いくつかの潜在的な要因が割り当てに影響します。これらの潜在的な要因すべてを明確に列挙することは、普通では困難です。しかし、オンラインリソースのアクセスパターンを見ることで、新しい IP アドレスが予期されたイベントなのか異常なのかを予測することは可能です。Amazon SageMaker IP Insights アルゴリズムは、これを行うために厳密に設計されています。 Amazon SageMaker IP Insights アルゴリズム Amazon SageMaker IP Insights アルゴリズムは、統計的モデリングとニューラルネットワークを使用して、オンラインリソース (オンライン銀行口座など) と […]

Read More

ハイパーパラメータチューニングジョブのウォームスタートを使って、Amazon SageMaker 自動モデルチューニングの効率をさらに向上

今年初め、当社は Amazon SageMaker 自動モデルチューニング を発表しました。これは開発者とデータ科学者が、機械学習モデルのトレーニングとチューニングにかかる多くの時間と労力を削減することを可能にしてくれます。本日、自動モデルチューニングでハイパーパラメータチューニングジョブのウォームスタートを開始します。データ科学者と開発者は、選択された親ジョブに基づいて新しいハイパーパラメータチューニングジョブを作成できるようになり、親ジョブで実行されたトレーニングジョブを事前知識として再利用できます。ハイパーパラメータチューニングジョブのウォームスタートは、ハイパーパラメータチューニングプロセスを加速し、チューニングモデルのコストを削減します。 データ科学者と開発者は、すでに自動モデルチューニングを使用してモデルを効率的にチューニングすることができましたが、さらに多くの支援が必要な分野があります。例えば、小規模予算でハイパーパラメータチューニングジョブを開始し、結果を分析後に、より大きな予算でモデルのチューニングを続けることを決定します。潜在的に異なるハイパーパラメータ設定を使用することもあります (チューニングにより多くのハイパーパラメータを追加したり、一部のハイパーパラメータで異なる検索範囲を試すなど)。もう 1 つの例は、データ科学者または開発者が、以前のモデルチューニングの後に新しいデータを収集し、モデルを再チューニングする場合です。どちらの場合も、このモデルの以前のチューニングジョブから収集した事前知識を使用してハイパーパラメータチューニングジョブを開始すると、最高のモデルに素早くアクセスし、顧客のコストを節約することに役立ちます。しかし、以前に行ったすべてのチューニングジョブはゼロから開始になります。同様のチューニング構成で同じモデルがすでにチューニングされていても、情報は再利用されませんでした。 ハイパーパラメータチューニングジョブのウォームスタートはこれらのニーズに対応します。ここでは、ウォームスタートを活用してモデルを繰り返しチューニングする方法を紹介します。 ウォームスタートを活用した画像分類モデルのチューニング この例では、画像分類子を作成し、ウォームスタートを利用して複数のハイパーパラメータチューニングジョブを実行することによって、画像分類子を繰り返し調整します。Amazon SageMaker 組み込み画像分類アルゴリズム を使用して、モデルを Caltech-256 データセットでトレーニングします。完全なサンプルノートブックはこちらから参照できます。 ハイパーパラメータチューニングジョブの開始と起動 ノートブックインスタンスの作成、データセットの準備、Amazon S3 へのプッシュ、ハイパーパラメータチューニングジョブの起動から直接起動する手順は省略します。サンプルノートブックにはすべての詳細がありますので、ここではプロセスを検討はしません。 この最初のチューニングジョブを実行して、検索スペースについて学習し、画像分類でチューニング可能なパラメータをチューニングする影響を評価します。このジョブは、モデルのチューニングが有望であるかどうか、そして後続のチューニングジョブを作成してチューニングを続行するかどうかを評価します。 チューニングジョブを作成するには、最初に組み込み画像分類アルゴリズム用のトレーニング推定器 (Estimator) を作成し、チューニングする予定のものを除いて、このアルゴリズムのすべてのハイパーパラメータの値を指定する必要があります。組み込み画像分類アルゴリズムのハイパーパラメータについての詳細は、こちらの文書 を参照してください。 s3_output_location = ‘s3://{}/{}/output’.format(bucket, prefix) s3_input_train = sagemaker.s3_input(s3_data=’s3://{}/{}/train’.format(bucket, prefix), content_type=’application/x-recordio’) s3_input_validation = sagemaker.s3_input(s3_data=’s3://{}/{}/validation/’.format(bucket, prefix), content_type=’application/x-recordio’) sess = sagemaker.Session() imageclassification = sagemaker.estimator.Estimator(training_image, role, train_instance_count=1, train_instance_type=’ml.p3.8xlarge’, output_path=s3_output_location, sagemaker_session=sess) imageclassification.set_hyperparameters(num_layers=18, image_shape=’3,224,224′, num_classes=257, num_training_samples=15420, […]

Read More

Amazon SageMaker でモデルトレーニング中にメトリクスを簡単にモニタリングして視覚化する

データサイエンティストおよび開発者は、Amazon SageMaker で機械学習モデルをトレーニングしながら計算されたメトリクスにすばやく簡単にアクセスし、モニタリングし、可視化することができるようになりました。追跡するメトリクスは、Amazon SageMaker の AWS マネジメントコンソールを使用するか、Amazon SageMaker Python SDK API を使用して指定できます。モデルのトレーニングが開始されると、Amazon SageMaker は指定されたメトリクスを自動的にモニタリングして、リアルタイムで Amazon CloudWatch コンソールにストリームし、損失曲線や精度曲線などの時系列曲線を可視化します。また、Amazon SageMaker Python SDK API を使用して、プログラムでメトリクスにアクセスすることもできます。 モデルのトレーニングとは、トレーニングデータセットの例を提示することによって、モデルに予測を習得させる反復的なプロセスです。通常、トレーニングアルゴリズムでは、訓練誤差や予測精度など複数のメトリクスを計算します。これは、モデルがきちんと学習しているかの診断に役立ちます。また、十分に正則化することにより、未観測のデータに対する予測ができるようにもなります。この診断は、モデルのハイパーパラメータを調整するときや、モデルが本番環境にデプロイする可能性を備えているかどうかを評価するときに特に役立ちます。 それでは、いくつかの例を見て、Amazon SageMaker でこれらのメトリクスをモニタリングおよび可視化する方法について学びましょう。 Amazon SageMaker アルゴリズムによるメトリクスの組み込みサポートの提供 Amazon SageMaker の組み込みアルゴリズムはすべて、さまざまなモデルのトレーニング、評価、および検証メトリクスを自動で計算して発行します。たとえば、Amazon SageMaker Object2Vec アルゴリズムは、validation:cross_entropy メトリクスを発行します。Object2Vec は、単語、フレーズ、センテンスなど高次元オブジェクトの低次元高密度埋め込みを学習できる教師あり学習アルゴリズムです。類似した 2 つの埋め込みがベクトル空間上にどのように配置されるかについても学習します。これは、テキスト内の特定の文章のペアが類似しているかどうかを評価する応用性を持つ技術です。アルゴリズムによって発行された validation:cross_entropy メトリクスは、モデルによって行われた予測が検証データセットの実際のラベルと乖離している程度を測定します。モデルが十分に学習していれば、cross_entropy はモデルのトレーニングの進行に応じて減少するはずです。 次に、AWS マネジメントコンソールについて段階的に見ていきましょう。サンプルノートブックのコードスニペットを Amazon SageMaker Object2Vec モデルのトレーニングに使用する方法についても説明します。 ステップ 1: Amazon SageMaker でトレーニングジョブを開始する サンプルノートブックには、トレーニングジョブを作成するための手順が示されています。トレーニングアルゴリズムによって発行されたすべてのメトリクスは、AWS マネジメントコンソールで確認できます。コンソールで […]

Read More

リアルタイム予測のために Amazon SageMaker を使用して Amazon DynamoDB でデータを分析する

 世界で数多くの企業が、Amazon DynamoDB を使って、ユーザー対話履歴データを保存およびクエリしています。DynamoDB は、1 桁台のミリ秒の安定したレイテンシーを必要とするアプリケーションで使用されている、高速の NoSQL データベースです。 たいていは、顧客は Amazon S3 に格納されているテーブルのコピーを分析することで、DynamoDB 内の貴重なデータを詳細な情報に変換する必要があります。これにより、低いレイテンシーのクリティカルパスから分析クエリが分離します。このデータは、顧客の過去の行動を理解し、将来の行動を予測し、下流のビジネス価値を生み出す主要な情報源となり得るのです。スケーラビリティと可用性が高いという理由で、顧客は DynamoDB の使用へ切り替えるということがよくあります。立ち上げが上手くいった後、多くの顧客が DynamoDB のデータを使用して、今後の行動を予測したり、個別の推奨事項を提供したりしたいと考えます。 DynamoDB は、レイテンシーの低い読み書きに適していますが、DynamoDB データベース内のすべてのデータをスキャンし、モデルをトレーニングするのは現実的ではありません。この記事では、AWS Data Pipeline によって Amazon S3 にコピーされた DynamoDB テーブルデータを使って、顧客の行動を予測する方法を解説します。さらにこのデータを使用して、Amazon SageMaker で顧客に個別の推奨事項を提供する方法も説明します。Amazon Athena を使用して、データに対してアドホッククエリを実行することもできます。DynamoDB は最近、オンデマンドバックアップをリリースし、パフォーマンスに影響を与えずに完全なテーブルバックアップを作成しました。しかし、この記事には適していないので、代わりに AWS Data Pipeline が管理バックアップを作成し、他のサービスからアクセスできるようにする方法を紹介します。 これを行うため、Amazon Data Pipeline で DynamoDB バックアップファイル形式を読み取る方法について説明します。Amazon S3 のオブジェクトを Amazon SageMaker が読み取れる CSV 形式に変換する方法についてもお話しします。加えて、Amazon Data Pipeline を使用して、定期的なエクスポートと変換をスケジュールする方法も説明します。この記事で使用するサンプルデータは、「Bank Marketing Data […]

Read More

Amazon SageMaker Object2Vec の概要

このブログ記事では、高次元オブジェクトの低次元高密度埋め込みを学ぶことができる、高度にカスタマイズ可能な新しい多目的アルゴリズムである Amazon SageMaker Object2Vec アルゴリズムを紹介します。 埋め込みは、機械学習 (ML) における重要な特徴工学技術です。高次元のベクトルを低次元の空間に変換し、大きな疎ベクトル入力で機械学習を行いやすくします。また、埋め込みは、類似のアイテムを低次元空間の近くに配置することによって、基礎となるデータのセマンティクスも取得します。これにより、下流のモデルのトレーニングで特徴がより効果的になります。よく知られている埋め込みテクニックの 1 つに Word2Vec があり、これは単語の埋め込みを提供します。センチメント分析、ドキュメント分類、自然言語理解など、多くのユースケースで広く使用されています。特徴空間における単語の埋め込みの概念表現については、次の図を参照してください。 図 1: Word2Vec の埋め込み: 意味的に類似している単語は、埋込み空間内で互いに近くに位置しています。 単語の埋め込みに加えて、文章、顧客、製品など、より汎用的なオブジェクトの埋め込みを学びたいユースケースもあります。これは、情報検索、製品検索、商品照合、類似性に基づく顧客プロファイリングのため、または他の教師ありタスクの入力として実用的なアプリケーションを構築できるようにするためです。これが、Amazon SageMaker Object2Vec が導入された場所です。このブログ記事では、それが何であるか、それがどのように機能するか、いくつかの実用的なユースケースについて議論し、Object2Vec を使ってそうしたユースケースを解決する方法を紹介します。 仕組みの説明 埋め込みは、元の空間内のオブジェクトのペアの間の関係の意味が埋め込み空間内で保持されるように学習されます。したがって、学習された埋め込みを使用して、オブジェクトの最近傍を効率的に計算し、低次元空間内での関連オブジェクトの自然クラスターを視覚化することができます。さらに、埋め込みは、分類または回帰のような下流の教師ありタスクにおける対応するオブジェクトの特徴として使用することもできます。 Amazon SageMaker Object2Vec のアーキテクチャは、以下の主要コンポーネントで構成されています。 2 つの入力チャネル—2 つの入力チャネルが、同じタイプまたは異なるタイプのオブジェクトのペアを入力として受け取り、それらを独立したカスタマイズ可能なエンコーダーに渡します。 入力オブジェクトの例としては、シーケンスのペア、トークンのペア、シーケンスとトークンのペアがあります。 2 つのエンコーダー—エンコーダーは、それぞれのオブジェクトを固定長の埋め込みベクトルに変換します。 次に、ペア内のオブジェクトのエンコードされた埋め込みがコンパレータに渡されます。 コンパレータ—コンパレータは埋め込みを異なる方法で比較し、ユーザーによって指定された各関係について、ペア内のオブジェクトの関係の強さに対応するスコアを出力します。出力スコアの例は、オブジェクトのペア間の強い関係を示す 1、または弱い関係を表す 0 などとなります。 トレーニング時に、トレーニング損失関数は、モデルによって予測された関係と、トレーニングデータでユーザーによって指定された関係との間の差異を最小にします。モデルをトレーニングした後、トレーニングされたエンコーダーを使用して、新しい入力オブジェクトを固定長の埋め込みに変換することができます。Object2Vec のアーキテクチャ図とアーキテクチャの各部の説明は次のとおりです。 サポートされている入力タイプ、エンコーダー、損失関数 自然なこととして、Object2Vec は現在、integer-id として表されたシングルトン離散トークンと integer-id のリストとして表現された離散トークンのシーケンスを入力としてサポートしているため、入力データをサポートされている形式に変換するために前処理が必要です。それぞれのペアのオブジェクトは、互いに非対称であることもあります。たとえば、(トークン、シーケンス) ペア、(トークン、トークン) ペア、(シーケンス、シーケンス) ペアのいずれかです。トークンの場合、互換性のあるエンコーダーとして簡単な埋め込みをサポートしていますが、トークンのシーケンスの場合は、平均プール埋め込み、階層型畳み込みニューラルネットワーク (CNN)、多層双方向長時間短期記憶 ( BiLSTM) ベースのリカレントニューラルネットワークをエンコーダーをサポートします。それぞれのペアの入力ラベルは、ペア内のオブジェクト間の関係を表すカテゴリラベルであってもよいし、2 つのオブジェクト間の類似性の強さを表す評価またはスコアであってもかまいません。カテゴリラベルの場合はクロスエントロピー損失関数をサポートし、評価/スコアベースのラベルの場合は平均二乗誤差 (MSE) 損失関数をサポートしています。 […]

Read More

Amazon SageMaker を使用した K-means クラスタリング

Amazon SageMaker は、さまざまな問題の種類で使用できる組み込み機械学習 (ML) アルゴリズムを複数提供しています。これらのアルゴリズムは、高性能でスケーラブルな機械学習を提供し、速度、スケール、精度が最適化されています。 これらのアルゴリズムを使用して、ペタバイト規模のデータを学習できます。これらは、利用可能な他の実装の最高 10 倍のパフォーマンスを提供するように設計されています。このブログ記事では、教師なし学習の問題である k-means について探っていきます。さらに、Amazon SageMaker の組み込み k-means アルゴリズムの詳細も説明します。 k-means とは? k-means アルゴリズムは、グループのメンバーがお互いにできる限り類似し、他のグループメンバーとできる限り異なるようなデータ内の離散グループを探します (以下の図を参照)。アルゴリズムで類似性を決定するために使用する属性を定義します。  k-means を定義するもう 1 つの方法は、クラスター内のすべての点が、他の中心よりもその中心に近い距離になるように、与えられたレコードセットに対して、k クラスター中心を見つけるクラスター問題です。 与えられたデータセットを示すこの図では、赤、青、緑の 3 つの明確なクラスターが見えます。各クラスターにはクラスター中心があります。各クラスターの点は、他のクラスター中心より、割り当てられているクラスター中心に空間的に近いことに注意してください。  数学的には、以下のように解釈できます。 前提条件: S={x1…xn}、次元 d の n ベクトルのセット S と整数 k 目標: 以下の式を最小化する、k クラスターセンターのセット C={µ1… µk } を探します。 k-means を使う場所  k-means アルゴリズムは、明示的にラベル付されていない、大きなデータセットのパターンまたはグループを見つけることに適しています。さまざまなドメインでのいくつかのユースケースを紹介します。 E コマース 購入履歴またはクリックストリームアクティビティで顧客を分類。 ヘルスケア 病気のパターン検出または成功する治療シナリオ。 画像検出で類似画像をグループ化する。 金融 データセットの異常検知により、不正取引を検出。例えば異常な購入パターンによるクレジットカード詐欺の検出。 […]

Read More