techcareer freelance

ニュース・コラム

テクノロジー 2019年 5月31日 186

機械学習についての紹介

機械学習についての紹介

1. はじめに

2. 機械学習アルゴリズムの分類

 ・Supervised Learning (教師あり学習)

 ・Unsupervised Learning (教師なし学習)

 ・Semi - Supervised Learning (半教師あり学習)

 ・Reinforcement Learning (強化学習)

3. 機械学習の3つの重要な要素

 ・データ

 ・属性(Feature)

 ・アルゴリズム

4. まとめ

 

1. はじめに

 近年、AI  - Artificial Intelligence (人工知能)、より具体的には機械学習が、第4次産業革命の証拠として浮上しました。(第1次 - 蒸気機関、第2次 - 電気エネルギー、第3次 - 情報技術)。人工知能は生活のあらゆる分野に忍び寄っています。Facebookの写真の自動タグ付けシステム、AppleのSiriというバーチャルアシスタント、Amazonの商品レコメンダシステム、中国の社会信用システムのフェースリコグニション(顔認識)、Netflixの映画レコメンダション、...

YOLOの例のオブジェクトを判断する。

 

あなたはGitHubでソースを見つけることができます。そして、好きな画像を試せます。

 

それは多くのAI /機械学習アプリケーション一部しかないです。機械学習 はAIの部分集合です。

 

 機械学習とは何か?

 コンピュータサイエンスのトム・ミッチェル(Tom Mitchell)さんの定義:「コンピュータプログラムはタスクTとパフォーマンス測定Pに関連する経験Eから学習すると言われています。タスクTでパフォーマンスをした場合、パフォーマンス測定Pによって達成度が測定され、経験Eによって改善されていきます。」

ウィキペディアの定義によって、機械学習(英: machine learning)とは、人間が持つ学習にあたる仕組みを機械(特にコンピュータ)で実現する技術・手法の総称である。簡単に言うと、機械学習はコンピュータサイエンスの小さな分野であり、具体的にプログラムを作成することなくインプットデータベースに基づいて自己学習することができます。

 

 近年、コンピュータの処理能力が新たな高みへと引き上げられと大規模なテクノロジ企業に膨大な量のデータが収集されるようになったとき、機械学習は大きな一歩前進を取得して、新しい分野はディープラーニング(Deep Learning)と呼ばれます。Deep Learningは、20年前に不可能と思われていたことをコンピュータが実行するのを助けました:写真内の何千ものオブジェクトを分類し、写真のキャプションを作成します。あるいは文書と音楽を作れます。

 

2. 機械学習アルゴリズムのグループ化(分類)

 機械学習アルゴリズムの分類の方法は、2つの一般的な方法があります。1つ目は学習スタイルに基づき、2つ目は(各アルゴリズムの)機能(function)に基づきます。

この記事の範囲内で、学習法に基づく機械学習アルゴリズムの方法の分類を紹介したいと思います。

 

学習方法によると、機械学習アルゴリズムは通常4つのグループに分けられます。半教師あり学習なしまたは強化学習なしで分類方法もあります。

 

 Supervised Learning (教師あり学習)

 

 教師あり学習は、既知のペア(入力、結果)に基づいて新しいデータ(新しい入力)の出力(結果)を予測するためのアルゴリズムです。このデータペアは(data, label)、すなわち(データ、ラベル)。教師あり学習は、機械学習アルゴリズムで最も使っているグループです。

 例えば:私たちは猫を何度も見たことがあり、それが猫であることを知っています。会ったことがない別の猫を見る時、あなたはそれを犬でなく猫として識別することができます。理由は、あなたはたくさんの猫を見てきました。彼らは別の猫ですが、彼らはサイズ、目、耳、口ひげ、爪、そして尾のような多くの同じような特徴を持っています。それであなたはそれが猫であることに気づきます。

コンピュータもそうです。もしコンピューターに猫の画像に関する十分な量データセットを提供して、それが猫の画像であることを示したら、見たことがない他の猫の画像を渡す時、それが猫を認識することができます。

そして、もし犬、猫、ウサギ、馬、カメ、キリンなどの動物の画像を含む十分に多いデータセットをコンピュータに与えて、コンピューターを学ばせるためにどの画像は犬の画像、どの画像は猫の画像、...を示したら、学んだ動物に関して新しい画像を渡して、それがどの動物を認識することができます。画像のセットはデータという呼ばれ、ラベルは動物類です。例:(画像1、犬)、(画像2、猫)、(画像3、犬)、(画像4、馬)、...

 

教師あり学習アルゴリズムは、さらに2つの主なカテゴリに分類されます。

 

 Classification

 入力データのラベルが有限個のグループに分割されている場合、問題はClassiificationと呼ばれます。Gmailは、email がスパムかどうかを判断します。この場合のラベル数は2です:spam アンド non spam。信用の会社は、顧客が借金を返済できるかどうかを判断します。ラベル数も2です。Facebookの顔のレコグニション、ラベルの数は、FBアカウントの数です。上記の例もこの類に入れました。動物分類、ラベル数は、データセットにラベルが付けられた動物の数です。

 

 Regression

 ラベルがグループではなく特定の実際の値である。例:家の大きなx㎡、寝室がy件、駅徒歩5分はどのぐらいかかりますか。

 

 Unsupervised Learning (教師なし学習)

  

 このアルゴリズムでは、結果やラベルはわかりませんが、入力データだけがあります。データの構造によってあるタスクを実行します。例えばクラスタリングまたは寸法縮小(ディメンションリダクション)。簡単い言えば、教師なし学習はインプットにデータしかがない、対応ラベルがありません。

 

 教師あり学習とは異なり、各入力データに対する正しい答えがわからないため、これらのアルゴリズムは教師なし学習と呼ばれます。私たちが勉強するときのように、それがAかBかを教えてくれる教師はいません。教師なしは、この意味で名前が付けられていました。

教師なし学習の問題はさらに2つのカテゴリに分類されます。

 

 Clustering(クラスタリング)

 各グループのデータの関連または同様に基づいて、すべてのデータを小さなグループにグループ化します。

 

例:異なるサイズ三角、四角、円形のセットから分けます。同様に基づいて、方法の2つができます。形またはサイズに基づいました。

 

 

 

他の例:ドット間の距離に基づいて、クラスタの3つを分けました。

 

 Association

 与えられた大量のデータに基づいてルールを見つけます。例えば、ネックレスを買う女性の顧客は,ブレスレットを買う傾向があります。スマートフォンを買う人はマウスを買う傾向があります。それに基づいて、買い物のニーズを促進する推薦システム(Recommendation System)を作成します。

 

 Semi - Supervised Learning (半教師あり学習)

 

 大量のXXデータを持っているが、それらの一部だけがラベル付けされている時、半教師あり学習と呼ばれます。このグループの問題は、上記の2つのグループの中間のスタイルです。

 

このグループの典型的な例は、写真やテキストの一部だけにラベルが付けられていて(人物、動物の写真または科学的、政治的文書)、ラベル付けされていない写真/テキストのほとんどはインターネットから収集されます。実際、ラベルを使用してデータを収集するのは非常に時間がかかり、コストが高いため、多くの機械学習の問題はこのグループに属します。専門家しかがラベルを付けられないのデータさえがあります(医学とか)。対照的に、ラベルなしのデータはインターネットから低コストで収集できます。

 

 Reinforcement Learning (強化学習)

 

 強化学習とは、最高の利益を達成するためにコンテキストベースの振る舞いを自動的に決定する問題を扱う機械学習の一種です(パフォーマンスを最大化する)。現在、強化学習は主にゲーム理論(Game Theory)に適用されています。アルゴリズムは最高のスコアを達成するために次の動きを決定します。

 

 2016年にGoogle DeepMindが開発したコンピュータ囲碁プログラムAlphaGoは8回の世界王者となっているという人に勝ったことで有名です(https://ja.wikipedia.org/wiki/AlphaGo対李世ドル)。囲碁は、チェスと比較すると10^120、宇宙全体の原子の総数は約10^80です。囲碁は、チェスが10^120で宇宙全体の原子の総数が約10^80であるのに対して、移動の総数が約10^761で、非常に複雑であると考えられています。したがって、アルゴリズムは数十億の選択肢から最適な動きを選択する必要があります。AlphaGoには、教師付き学習と強化学習の両方のアルゴリズムが含まれています。教師あり学習セクションでは、人間がプレイする囲碁ゲームのデータがトレーニングに含まれます。しかし、AlphaGoの最終的な目標は、人間のようにプレーするのではなく、人間にも勝つことです。したがって、人間の囲碁ゲームを学習を完了した後、AlphaGoは何百万ものゲームで自分自身と遊んで新しい最適な動きを見つけます。このセルフプレイのアルゴリズムは、強化学習として分類されます。

 

3. 機械学習の3つの重要な要素

 データ

 機械学習モデルでは、データは不可欠なオブジェクトです。Spamを検出したい時、Spamサンプルと通常のメールをマシンに学習させるの必要です。

 

 属性(Feature)

 属性はパラメータまたは変数とも呼ばれます。これはデータセットのコアな要素です。これは、家の大きさ、建築年代、ユーザーの性別、株価、テキスト内の単語の頻度などです。オブジェクトは何十億ものプロパティを持てます。例えば、人は髪の色、目の色、肌の色、人種、血糖値など属性があります。問題のそれぞれがいくつかの属性だけを考慮する必要があるという無数の特性があります。

 

 アルゴリズム

 もちろん、これも同様に重要です。

 それぞれの問題で明らかに常に異なる解決策があるでしょう。問題に最適なアルゴリズムのみで、すべての問題に完璧なアルゴリズムはありません。選択する方法は最終モデルの精度、性能、およびサイズに影響します。それでも、入力データが「ゴミでいっぱい」の場合、最善のアルゴリズムは役に立ちません。それで、データに注意しなければなりません。

 

4. まとめ

 機械学習モデル作るため、データの準備が必要です(属性を決めるはこの段階に属します)。それから、アルゴリズムを選択、開発、評価して、モデルを得られます。

データがなければ、コンピュータは学ぶことができません。そのデータから、解決する問題に応じて、どの属性、どのアルゴリズムが最も正確な結果を得るのに適しているかを判断します。


 

参考

https://machinelearningcoban.com/

https://ja.wikipedia.org/wiki/機械学習

 

ページ上へ