そういうことだったのか!と思わずうなずく「機械学習」超入門
最近、Web業界やテクノロジー分野で人工知能(AI)やデータマイニング、ディープラーニングなどのキーワードとともによく耳にするようになった言葉の一つに「機械学習(マシーン・ラーニング)」という言葉があります。
機械学習はGoogleの自動運転車をはじめ、AmazonやZOZOTOWNなどのオンラインショップやNetflixやAWAなどの音楽ストリーミング配信サービスで使われるレコメンデーション機能、twitterやインスタグラムで顧客が投稿している内容を分析するマーケティングオートメーションなど、今日の社会でも頻繁に活用されています。
「機械学習」は、今後Web業界で取り残されないためにフォローするべき重要なキーワードの一つであることは間違いありません。
それでは、機械学習とは何であり、なぜこれほど注目されるのでしょうか。
今回は、「機械学習」の概要から、Web業界の関連者が知っておくべき機械学習に関するフレームワーク/ライブラリまで、幅広く解説します。
ほとんどの人が「機械学習」については聞いたことがあっても、「いつか勉強しよう」とブックマークに入れて保存するケースが多いのではないでしょうか。
ぜひこの機会に機械学習の全体像を掴んでみてください。
参考:
人工知能(AI)と人工無脳(チャットボット)、どう使い分ければいい?
機械学習とは?
機械学習(machine learning)とは、人工知能(AI)における研究課題の一つで、人間が自然に行なっている学習能力と同じ機能をコンピューターで実現しようとする一連の手法のことです。
具体的には、複数のデータを用いて反復的に学習し、そこに潜むパターンをコンピューターが帰納法的に見つけ出すことです。
学習した結果をモデル化し、新たなデータにあてはめることで、パターンに従って未来予測を行うこともできるようになります。
最終的には、予測分析を自動化することができ、データサイエンティストの人手不足にも対応できるという点で、大きく期待が寄せられています。
機械学習の歴史自体はそれほど短いものではなく、これまでも科学者たちはパターン認識技術に着目して、自分たちがプログラミングを行わなくても特定のタスクを実行できるようにコンピューターが学習できる方法を見つけようとしてきました。
しかし、最近では人工知能(AI)にスポットライトが当たったことで、機械学習の*「反復学習性」*に着目して、コンピューターが自律的に学習を行うようなアルゴリズムをこぞって開発するようになりました。
近年のテクノロジーの発展のおかげで、ビッグデータを使った処理も比較的容易になったので、凄まじい勢いで進化を遂げています。
アルゴリズムを活用して学習モデルを構築し、複数のデータ同士のつながりが構築できれば、人間が介入しなくても的確に意思決定の判断を下すことが可能になります。
インターネットの普及率が爆発的に伸び、利用可能なデータが増え続けていて、コンピューターの処理能力も高まり、サーバーやストレージなどの構築コストも下がっているので、大量の複雑なデータをより速やかに処理できる環境が整ったのも、機械学習が一般的になった要因です。
機械学習の4つのアルゴリズム
機械学習を行うためにベースとなるアルゴリズムは、大きく分けて「教師あり学習」「教師なし学習」「半教師あり学習」「強化学習」の4つです。
それでは、これらの違いは何なのでしょうか。具体例も挙げながら、解説していきましょう。
1. 教師あり学習
教師あり学習(supervised learning)アルゴリズムでは、人間がつけたラベル付きの手本を使ってトレーニングを実行していきます。
例えば、0から9までの数字1文字が書かれた画像がたくさんあるとしましょう。
この画像ひとつひとつに、0から9までのどの数字が書かれているのかというラベルを人間がつけることによって、それを学習するのが教師あり学習です。
つまり、アルゴリズムにより、コンピューターが人間の認識を真似るように学習が行われます。
学習が繰り返し行われると、新しい画像入力を行なった際、どの数字が書かれているのかを正しく判断できるようになります。
これを応用したのが、入力フォームなどの際に入力者がコンピューターでないことを確認するために使われる*CAPTCHA(キャプチャ)*です。
もともとCAPTCHAは、ランダムな文字列を生成して、機械が自動的に読み取るには困難な形で加工していましたが、ある程度アルゴリズムによって推測可能な文字列を問題として入力させることで、その整合性を確認する学習方法を取っているものもあります。
2. 教師なし学習
一方、教師なし学習(unsupervised learning)アルゴリズムでは、履歴ラベルが存在しないデータに対してコンピューターが学習を実行します。
先ほどの例でいえば、コンピューターは0から9の書かれた大量の画像を読み取り、そのデータのパターンだけを見てデータの類似点を探ることになります。
あらかじめ「何を出力すべきか」が与えられていないという点で教師なし学習とは大きく異なり、データの本質的な構造を抽出するのに用いられます。
教師なし学習を使ってマーケティングに活用する例も多く見受けられます。
例えば、年齢や性別、居住地など、よく似た属性の組み合わせを持つカスタマーをセグメント化して、コンピューターに教師なし学習アルゴリズムで購入情報や閲覧情報を学習させることで、カスタマーの嗜好性を分析して「あなたへのオススメ」としてリコメンデーション機能を実装することができます。
これをうまく活用したのが、Amazonで表示される*「チェックした商品の関連商品」*などのレコメンデーションです。
Amazonは、商品をチェックした履歴をさまざまな属性と紐づけているので、まさに今関心があるであろう商品をピックアップしてカスタマーに推薦することができるのです。
3. 半教師あり学習
半教師あり学習(semi-supervised learning)では、ラベル付きデータとラベルなしデータの両方を使って学習を行なってトレーニングを行います。
教師あり学習のように大量の教材にラベルをつけるとコストがかかってしまうものでも、半分だけにラベルをつけて残りはラベルなしで学習させることで、人間による費用や労力を減らす効果が期待できます。
半教師あり学習を応用したものとして、Facebookにアップロードされた写真の顔認識システムが挙げられます。
ユーザーが自分の写真がはっきりと映った写真をアイコンとしてアップロードすれば、それがラベルとなります。
そして、他のユーザーによって自分がタグ付けされることでFacebookの顔認識アルゴリズムが学習し、繰り返し学習がなされると、タグ付けされなくても特定の人物の顔写真から人物名を推測することができるようになります。
4. 強化学習
強化学習(reinforcement learning)とは、ロボット工学やゲーミングなどでよく使われる機械学習の方法で、どの行動が最大の成果(報酬)をもたらすかを、アルゴリズムを通して試行錯誤して突き止めていく手法です。
この学習モデルでは、「エージェント」と呼ばれる意思決定者、エージェントとアクションを結びつける「環境」、エージェントが行うことのできる行動である*「アクション」の3つの構成要素が必要です。
強化学習は教師あり学習にも似ていますが、教師による明確な答えは提示されず、行動の選択肢である「アクション」と成果である「報酬」だけが提示されるという点で異なります。
つまり、「答え」よりも行動による「期待値」*を出していくのが強化学習と言い換えることもできます。
強化学習の応用例が、GoogleのAI部門であるDeepMindによって開発されたコンピューター囲碁プログラム*「AlphaGo(アルファ碁)」です。
囲碁や将棋といった複雑なゲームの場合、どの場面でどのような手を打てば最善を尽くすことができるかは、「答え」ではなく「期待値」*です。
強化学習では、「Aの場所に手を打った場合、報酬はB」であるというように、最善の期待値(戦略、ポリシー)を求めていきますが、報酬の設定が困難な場合には「報酬B」もまた推測の対象にするという点で、教師あり学習よりも複雑な問題を扱うことができるようになります。
データマイニングやディープラーニングとの違い
「機械学習」とよく混同される言葉として、*「データマイニング」や「ディープラーニング」*というものがあります。
これらの3つの手法は、意思決定に役立つパターンを見つけるという点では同じですが、そのアプローチ方法はそれぞれに異なります。
それでは、一体機械学習とどういう点が同じで、どこが異なっているのでしょうか。
データマイニング
データマイニング(data mining)とは、パターン認識や人工知能の解析データ、統計データなどの大量のデータにアルゴリズムを適用することで、必要な知識を取り出す手法です。
マイニングという言葉は「発掘」を意味する言葉で、その中でもテキストをマイニングするものを「テキストマイニング」、Webページをスキャンしてマイニングを行うものを「Webマイニング」と呼ぶことがあります。
大量のデータ(ビッグデータ)から共通解を見つけ出すという点では「機械学習」の上位構造と捉えることができます。
SNSの普及によって膨大なデータが蓄積し始めると、ビジネスにおいても顧客情報の分析方法としてデータマイニングが注目されるようになり、データサイエンティストという職業が生まれました。
ビッグデータをデータマイニングするためのサービスが一般向けに提供されはじめ、IBMのWatsonをはじめとするコグニティブ・コンピューティングサービス(自然言語を学習し予測する機械学習サービス)も広まっていきました。
ディープラーニング
ディープラーニング(deep learning、深層学習)とは、多層構造のニューラルネットワークを用いた機械学習のことです。
ニューラルネットワークとは、脳機能に見られるいくつかの特性を計算機上のシミュレーションによって表現することを目指した数学モデルで、必要とされる機能を、提示されるサンプルに基づき自動形成することができます。
文字認識や、音声認識など、本来コンピューターが苦手とされている処理に対して有効で、「機械学習」の下位概念と捉えることができます。
ディープラーニングは現時点で最先端の技法で、Googleによる自動翻訳機能や、AppleのSiriやAmazonのAlexaといった音声認識など、より複雑なタスクに適用されています。
機械学習に関するフレームワークやライブラリ
機械学習についての概要が理解できたところで、Webの業界人として知っておきたい、機械学習やディープラーニングに関するフレームワークを覗いてみることにしましょう。
1. TensorFlow
TensorFlow(テンソルフロー)は、Googleが2015年11月に発表した機械学習ライブラリです。
実際にGoogleの各種サービスでも使われており、音声認識や翻訳だけでなく、Googleフォトの被写体認識やGmailのメール分別、Inboxの自動返信文作成やYouTube広告の最適化から配信まで、さまざまなプロダクトを支えています。
TensorFlowは環境を構築するだけであれば10分程度で完了します。
Linux・Mac・Windowsの各種OSにインストールすることができ、コマンドプロンプトやターミナルを通してインストールすることができます。
TensorFlowのオフィシャルページには*「MNIST For ML Beginners」*という、手書き文字を利用したチュートリアルがあります。
GitHubにあるソースコードを引っぱってくるだけで簡単に試すことができます。
ソースコードを以下のようにcloneします。
$ git clone --recurse-submodules https://github.com/tensorflow/tensorflow
fully_connected_feed.py の30行目・31行目を下記のように修正します。
import input_data
import mnist
ターミナル上でfully_connected_feed.pyを実行します。
$ cd tensorflow/
$ python tensorflow/examples/tutorials/mnist/fully_connected_feed.py
そうすると、スクリプトによってデータセットの取得からモデルの学習までを行なって、実行結果を表示してくれます。
Num examples: 10000 Num correct: 9028 Precision @ 1: 0.9019
精度は約90%。なかなかです。
参考:
TensorFlowとTensorBoardでニューラルネットワークを可視化 - Qiita*(2020年8月17日時点でページが存在しないためリンクを削除しました)*
2. Chainer
Chainer(チェイナー)は、2015年6月にPreferred Networksによって公開されたニューラルネットワークのライブラリです。
Pythonのライブラリとして提供されており、UbuntuやCentOSのほか、Macでも下記のコマンドを実行するだけでインストールできます。
$ pip install chainer
先ほどのTensorFlowと同じくGitHubの公式リポジトリに手書き数字を使ったサンプルが公開されています。
下記のコマンドを入力して実行してみましょう。
$ git clone https://github.com/pfnet/chainer.git
$ python chainer/examples/mnist/train_mnist.py
そうすると、下記の実行結果が返ってきました。
epoch 20
train mean loss=0.0104963570454, accuracy=0.996967369459
test mean loss=0.102703116325, accuracy=0.971902006481
最終的な識別精度は98%となりました。
まとめ
今や、大量のデータを扱う業種のほとんどで、機械学習のテクノロジーを用いたデータサイエンスが行われています。
金融におけるフィンテックや医療業界におけるデータ分析、UberやGoogleマップによる交通情報分析やEコマースにおけるマーケティングオートメーションなど、私たちの生活において見えないところで密接に関わっています。
Web担当者がそのまま機械学習を取り入れるのは難しいかもしれませんが、正しい知識として学んでおくだけでも価値があります。
ぜひこの流れに遅れをとらないように、キャッチアップしていきましょう。
- Googleとは、世界最大の検索エンジンであるGoogleを展開する米国の企業です。1998年に創業され急激に成長しました。その検索エンジンであるGoogleは、現在日本でも展開していて、日本のYahoo!Japanにも検索結果のデータを提供するなど、検索市場において圧倒的な地位を築いています。
- オンライン
- オンラインとは、通信回線などを使ってネットワークやコンピューターに接続されている状態のことをいいます。対義語は「オフライン」(offline)です。 現在では、オンラインゲームやオンラインショップなどで、インターネットなどのネットワークに接続され、遠隔からサービスや情報などを利用できる状態のことを言う場合が多いです。
- タグ
- タグとは、原義では「モノを分類するために付ける小さな札」のことです。英語の「tag」を意味するものであり、荷札、付箋といった意味を持っています。特にインターネットに関する用語としてのタグは、本文以外の情報を付与するときに用いられます。
- マーケティング
- マーケティングとは、ビジネスの仕組みや手法を駆使し商品展開や販売戦略などを展開することによって、売上が成立する市場を作ることです。駆使する媒体や技術、仕組みや規則性などと組み合わせて「XXマーケティング」などと使います。たとえば、電話を使った「テレマーケティング」やインターネットを使った「ネットマーケティング」などがあります。また、専門的でマニアックな市場でビジネス展開をしていくことを「ニッチマーケティング」と呼びます。
- フレームワーク
- フレームワークとは、アプリケーションソフトを開発する際によく必要をされる汎用的な機能をまとめて提供し、アプリケーションの土台として機能するソフトウェアのことです。 元々は枠組み、下部構想、構造、組織という意味の英単語です。アプリケーションのひな形であり、これを開発に利用することで、大幅な効率の向上が見込めます。
- データサイエンティスト
- データサイエンティストとは、ビジネスに役立つ情報を大量のデータの中から抽出し解析する職業です。
- ビッグデータ
- ビッグデータとは、一般に、インターネットの普及とITの進化によって生まれた、事業に役立つ知見を導くためのデータのことを指します。「データの多量性」だけでなく、「多様性」があるデータを指します。
- インターネット
- インターネットとは、通信プロトコル(規約、手順)TCP/IPを用いて、全世界のネットワークを相互につなぎ、世界中の無数のコンピュータが接続した巨大なコンピュータネットワークです。インターネットの起源は、米国防総省が始めた分散型コンピュータネットワークの研究プロジェクトARPAnetです。現在、インターネット上で様々なサービスが利用できます。
- フォーム
- フォームとは、もともと「形」「書式」「伝票」などの意味を持つ英単語です。インターネットの分野では、パソコンの操作画面におけるユーザーからの入力を受け付ける部分を指します。企業のホームページでは、入力フォームが設置されていることが多いようです。
- キャプチャ
- キャプチャとは、出力されたデータを別の機器で取り込み利用可能な状態にすることを言います。例としては、TV映像をパソコンに取り込み、その映像を保存(キャプチャ)し、パソコンで再生可能にすることなどです。ホームページの分野では、ブラウザなどでホームページのデザインを画像として保存することなどを指すこともあります。
- マーケティング
- マーケティングとは、ビジネスの仕組みや手法を駆使し商品展開や販売戦略などを展開することによって、売上が成立する市場を作ることです。駆使する媒体や技術、仕組みや規則性などと組み合わせて「XXマーケティング」などと使います。たとえば、電話を使った「テレマーケティング」やインターネットを使った「ネットマーケティング」などがあります。また、専門的でマニアックな市場でビジネス展開をしていくことを「ニッチマーケティング」と呼びます。
- タグ
- タグとは、原義では「モノを分類するために付ける小さな札」のことです。英語の「tag」を意味するものであり、荷札、付箋といった意味を持っています。特にインターネットに関する用語としてのタグは、本文以外の情報を付与するときに用いられます。
- Googleとは、世界最大の検索エンジンであるGoogleを展開する米国の企業です。1998年に創業され急激に成長しました。その検索エンジンであるGoogleは、現在日本でも展開していて、日本のYahoo!Japanにも検索結果のデータを提供するなど、検索市場において圧倒的な地位を築いています。
- テキスト
- テキストとは、純粋に文字のみで構成されるデータのことをいいます。 太字や斜線などの修飾情報や、埋め込まれた画像などの文字以外のデータが表現することはできませんが、テキストのみで構成されたテキストファイルであれば、どのような機種のコンピューターでも共通して利用することができます。
- ページ
- 印刷物のカタログやパンフレットは、通常複数のページから成り立っています。インターネットのホームページもまったく同じで、テーマや内容ごとにそれぞれの画面が作られています。この画面のことを、インターネットでも「ページ」と呼んでいます。ホームページは、多くの場合、複数ページから成り立っています。
- ビッグデータ
- ビッグデータとは、一般に、インターネットの普及とITの進化によって生まれた、事業に役立つ知見を導くためのデータのことを指します。「データの多量性」だけでなく、「多様性」があるデータを指します。
- データサイエンティスト
- データサイエンティストとは、ビジネスに役立つ情報を大量のデータの中から抽出し解析する職業です。
- ビッグデータ
- ビッグデータとは、一般に、インターネットの普及とITの進化によって生まれた、事業に役立つ知見を導くためのデータのことを指します。「データの多量性」だけでなく、「多様性」があるデータを指します。
- Googleとは、世界最大の検索エンジンであるGoogleを展開する米国の企業です。1998年に創業され急激に成長しました。その検索エンジンであるGoogleは、現在日本でも展開していて、日本のYahoo!Japanにも検索結果のデータを提供するなど、検索市場において圧倒的な地位を築いています。
- フレームワーク
- フレームワークとは、アプリケーションソフトを開発する際によく必要をされる汎用的な機能をまとめて提供し、アプリケーションの土台として機能するソフトウェアのことです。 元々は枠組み、下部構想、構造、組織という意味の英単語です。アプリケーションのひな形であり、これを開発に利用することで、大幅な効率の向上が見込めます。
- Googleとは、世界最大の検索エンジンであるGoogleを展開する米国の企業です。1998年に創業され急激に成長しました。その検索エンジンであるGoogleは、現在日本でも展開していて、日本のYahoo!Japanにも検索結果のデータを提供するなど、検索市場において圧倒的な地位を築いています。
- Googleとは、世界最大の検索エンジンであるGoogleを展開する米国の企業です。1998年に創業され急激に成長しました。その検索エンジンであるGoogleは、現在日本でも展開していて、日本のYahoo!Japanにも検索結果のデータを提供するなど、検索市場において圧倒的な地位を築いています。
- 広告
- 広告とは販売のための告知活動を指します。ただし、広告を掲載するための媒体、メッセージがあること、広告を出している広告主が明示されているなどの3要素を含む場合を指すことが多いようです。
- OS
- OSとはOperation Systemの略称です。パソコンやスマートフォンで操作した内容をアプリケーションに伝える役目を担っています。パソコン用ではwindowsやMac OS、スマートフォンではiOSやAndroidが有名です。
- ページ
- 印刷物のカタログやパンフレットは、通常複数のページから成り立っています。インターネットのホームページもまったく同じで、テーマや内容ごとにそれぞれの画面が作られています。この画面のことを、インターネットでも「ページ」と呼んでいます。ホームページは、多くの場合、複数ページから成り立っています。
- ページ
- 印刷物のカタログやパンフレットは、通常複数のページから成り立っています。インターネットのホームページもまったく同じで、テーマや内容ごとにそれぞれの画面が作られています。この画面のことを、インターネットでも「ページ」と呼んでいます。ホームページは、多くの場合、複数ページから成り立っています。
- リンク
- リンクとは、インターネット上では、あるページの中に記された、他のページの所在を表す情報のことを「ハイパーリンク」と呼び、これを略した言葉です。リンクのある場所をクリックすると、他のページにジャンプするようになっています。
- OS
- OSとはOperation Systemの略称です。パソコンやスマートフォンで操作した内容をアプリケーションに伝える役目を担っています。パソコン用ではwindowsやMac OS、スマートフォンではiOSやAndroidが有名です。
- Googleとは、世界最大の検索エンジンであるGoogleを展開する米国の企業です。1998年に創業され急激に成長しました。その検索エンジンであるGoogleは、現在日本でも展開していて、日本のYahoo!Japanにも検索結果のデータを提供するなど、検索市場において圧倒的な地位を築いています。
- マーケティング
- マーケティングとは、ビジネスの仕組みや手法を駆使し商品展開や販売戦略などを展開することによって、売上が成立する市場を作ることです。駆使する媒体や技術、仕組みや規則性などと組み合わせて「XXマーケティング」などと使います。たとえば、電話を使った「テレマーケティング」やインターネットを使った「ネットマーケティング」などがあります。また、専門的でマニアックな市場でビジネス展開をしていくことを「ニッチマーケティング」と呼びます。
おすすめ記事
おすすめエントリー
同じカテゴリから記事を探す
カテゴリから記事をさがす
●Webマーケティング手法
- SEO(検索エンジン最適化)
- Web広告・広告効果測定
- SNSマーケティング
- 動画マーケティング
- メールマーケティング
- コンテンツマーケティング
- BtoBマーケティング
- リサーチ・市場調査
- 広報・PR
- アフィリエイト広告・ASP
●ステップ
●ツール・素材
- CMS・サイト制作
- フォーム作成
- LP制作・LPO
- ABテスト・EFO・CRO
- Web接客・チャットボット
- 動画・映像制作
- アクセス解析
- マーケティングオートメーション(MA)
- メールマーケティング
- データ分析・BI
- CRM(顧客管理)
- SFA(商談管理)
- Web会議
- 営業支援
- EC・通販・ネットショップ
- 口コミ分析・ソーシャルリスニング
- フォント
- 素材サイト
●目的・施策
- Google広告
- Facebook広告
- Twitter広告
- Instagram広告
- LINE運用
- LINE広告
- YouTube運用
- YouTube広告
- TikTok広告
- テレビCM
- サイト制作・サイトリニューアル
- LP制作・LPO
- UI
- UX
- オウンドメディア運営
- 記事制作・ライティング
- コピーライティング
- ホワイトペーパー制作
- デザイン
- セミナー・展示会
- 動画・映像制作
- データ分析・BI
- EC・通販・ネットショップ
- 口コミ分析・ソーシャルリスニング