機械学習

ソフトウェアを使って機械学習を実体験したい!オススメを教えて!


本ブログを運営しているTech Teacherは、
プログラミング家庭教師サービスを運営しています。
完全マンツーマン・フルオーダーメイド
あなたが必要な指導を提供します。

1.機械学習とはどのようなことなのか

機械学習とはとも呼ばれる、AIを支える技術の1つであり、コンピュータが問題とその答えを使って学習し、データに潜むパターンを見つける技術です。難しく聞こえるかもしれませんが、できることや活用されている場面を身近な例として紹介します。

・機械学習でできること① 回帰

「回帰」とは、連続する相関関係にある数値を予測するものです。

「天候、平均気温のデータ」と「お弁当の販売個数」の相関関係を学習し、そこから翌日のお弁当の販売個数を予測する、といった様に活用されています。過去のデータを数値として学習することで、過去の実績に基づいた未来の予測ができるようになります。

・機械学習でできること② 分類

「分類」は、与えられた正解データに基づいて「正しいデータ」と「正しくないデータ」に振り分けて出力するものです。

例えば、受信したメールが、「迷惑メールやスパムメールであるか否か」を判断することができます。あらかじめ迷惑メール、スパムメールで使われそうなキーワードを学習して、受信したメールがパターンに該当するかを判定して分類しているのです

人と犬と猫が一緒に写っている写真を「人」「犬」「猫」に分類して、自動的にグループ分けするといった事もできます。写真のオンラインストレージで、写っている人ごとにフォルダ分けをする、自分が写っている写真をピックアップしてくれる、という様に活用されています。分類するための「特徴」を学習することが特徴です。

・機械学習でできること③ レコメンデーション

ネットショッピングで商品を購入する際、「こちらもいかがですか」と別の商品を提示された経験はあるのではないでしょうか。ネットショップに蓄積されている大量の販売データから顧客情報をグループ分けし、同じグループ内で同じ商品が複数回購入された場合、同じグループに所属している人に対しても商品をレコメンドする、という様に機械学習の結果を活用しているのです。

・機械学習でできること④ 異常検知

大量のデータを機械学習させることで、データの特徴や、データ構造の類似している部分を抽出、パターン化して仕分け、データをグループ分けすることを行います。その結果、未知のパターンや、いままで蓄積してきた範囲を逸脱するデータに対して「異常値」であることを検出できるようになります。クレジットカードの不正利用検知に使われています。

2.機械学習用のソフトウェアとは、ソフトウェアを使用するメリット

機械学習を学ぼうとする人は年々増えてきています。しかし、実際のところは

「機械学習を学ぼう!、人工知能を扱えるエンジニアになろう!」

と意気込んで、難しい書籍や分厚いpythonの解説書を購入してなかなか先に進めずに挫折してしまう、というケースが多いことでしょう。

・機械学習の勉強を継続させるために

機械学習に限りませんが、IT系の学習で挫折してしまうのは

 ・全体概要を、専門用語から理解しようとしてしまう

 ・何ができるのかという漠然としたイメージが浮かばない

このような理由が大半です。ですので機械学習の勉強をしっかり継続するためには

 ・機械学習で何ができるのか、何がしたいのかのイメージを持つこと

 ・機械学習を独学で習得した先、どのような事に使いたいのかを明確にする

これらが非常に重要なポイントです。

ここで、「機械学習で何ができるのか」を実際に目に見える形で実体験させてくれるのが、機械学習用のソフトウェアの存在です。

・機械学習ソフトウェアの活用

1から機械学習のプログラムを作り上げ、データを入力して学習させていく、ということができるようになるには、長い時間と専門的な勉強を積み上げた上でようやく到達できる地点です。機械学習のソフトウェアを使うことで、操作方法を学習する必要はありますが、入力とするデータがあればデータ解析を実際に行うことができ、機械学習の手法を実体験することができます。

また、出力された結果のどこをどのように見ればよいか、どのように解釈すればよいかの指針についても提示してくれます。

「結果が目に見えること」これにより機械学習のイメージが自分の中に出来上がり、

機械学習を学んだ後にやりたいことも、より鮮明に考えることができるようになります。

これからの学習方針を立てることもできるでしょう。

3.機械学習に活用できる、初心者でも扱えるソフトウェアを教えてほしい

機械学習のソフトウェアとしてお勧めなのは、IBM社の「Watson(ワトソン)」です。

・Watsonの特徴①

Watsonでは、どんなことができるのでしょうか。現在日本語版がある機能は12種類で、無料で使えるものは7種類です。具体例を下記に挙げます。

①専門分野の文章を、スムーズに分析する。

②たくさんのデータから目的のものをすばやく検索する。

③機械学習を活用して、画像を判定して分類、画像内に含まれているものを回答する。

④あらかじめ会話パターンを学習させることにより、操作者とチャットでやりとりをする。

⑤人間の音声をテキストに変換する。テキストを音声に変換する。

⑥テキストから、それを書いた人の性格や感情を推測する。

⑦さまざまな言語を翻訳する。

・Watsonの特徴②

もうひとつのWatsonの特徴として「クラウドのサービス」という点が挙げられます。つまり、インターネット上にWatsonが置いてあり、私たちはそこにアクセスしてWatsonを使う形になりますので、高性能なパソコンを自前で用意したり、お手元のパソコンにソフトウェアをインストールしたりする必要はありません。その点でも、Watsonは手軽に使えるようになっています。

・Watsonの特徴③

価格についても心配ありません。Watsonは「使った分だけ支払う」という、いわゆる従量課金制をとっています。そして更には無料のアカウントも用意されています。無料といっても、特徴①ご説明した機能は使用することができますので、「機械学習」を十分に実体験することができます。

アカウント登録が必要となりますが、実際にWatsonによってデータが処理される様子を目の当たりにすることで、機械学習に対するイメージが明確になり、さらなる学習意欲を掻き立てられることでしょう。

・Watsonでインターネットサービスを考えてみよう

WatsonはAPIと呼ばれる形で用意されており、「使いたい機能を自分のプログラムの中に取り込んで使う」ことができます。

Watsonの特徴①でご紹介した機能を使って、

「日本の観光地写真を海外に向けて販売する」

というインターネットサービスを、下記の機能を使って考えてみましょう。

 ②たくさんのデータから目的のものをすばやく検索する。

 ③機械学習を活用して、画像を判定して分類、画像内に含まれているものを回答する。

 ⑦さまざまな言語を翻訳する。

・日本の有名観光地である京都や奈良、箱根、鎌倉などの観光地の写真を、訪れた旅行者が

 インターネットサービスに投稿する

・投稿された写真は、特徴③により地域、名所ごとに分類される。

・日本の写真を欲しがっている海外在住の人が、インターネットサービスにアクセスして

 特徴②を使って、目的の写真を探す。

・購入案内を、特徴⑦を使って、アクセスしてくれた人の住む国の言語に翻訳して表示する

どうでしょう。実際にこの様な写真販売サービスがあれば、観光名所の写真を全世界に販売することができそうですよね。Watsonを始めとする機械学習のソフトウェアの機能を組み合わせることで、実際にこのサービスを構築する事ができるのです。

『Tech Teacher』3つの魅力

魅力1. オーダーメイドのカリキュラ

『Tech Teacher』では、決められたカリキュラムがなくオーダーメイドでカリキュラムを組んでいます。「質問だけしたい」「相談相手が欲しい」等のご要望も実現できます。

    魅力2. 担当教師によるマンツーマン指導

    Tech Teacherでは完全マンツーマン指導で目標達成までサポートします。
    東京大学を始めとする難関大学の理系学生・院生・博士の教師がが1対1で、丁寧に指導しています。
    そのため、理解できない箇所は何度も分かるまで説明を受けることができます。

    魅力3. 3,960円/30分で必要な分だけ受講

    Tech Teacherでは、授業を受けた分だけ後払いの「従量課金制」を採用しているので、必要な分だけ授業を受講することができます。また、初期費用は入会金22,000円のみです一般的なプログラミングスクールとは異なり、多額な初期費用がかからないため、気軽に学習を始めることができます。

    まとめ

    ・魅力1. 担当教師によるマンツーマン指導

    ・魅力2. オーダーメイドのカリキュラム

    ・魅力3. 3,960円/30分で必要な分だけ受講

    質問のみのお問い合わせも受け付けております。

    まとめ

    1からプログラミングして作るのは大変な機能でも、ソフトウェアを使うことですぐに取り込んで利用することができます。

    「自分が使いたい機能を明確にする力」

    「目的の機能を持っているソフトウェアを探す力」

    この2つの力があれば、ソフトウェアの機能を組み合わせることで今までに無いインターネットサービスを生み出すこともできます。

    機械学習を勉強しながら、ソフトウェアを使ってワクワクするようなプログラムやインターネットサービスの構築にチャレンジしてみてください。