機械学習

機械学習記13日目続き ~ k-平均法アルゴリズム

ここまで、scikit-learnで試してきた機械学習の手法は、正解ラベルが学習データに付いている「教師あり学習」と呼ばれるものです。もう1つの機械学習である「教師なし学習」です。 教師なし学習とは、回帰や分類による「予想」とは異なり、ラベルなし学習デ…

機械学習記13日目 ~ k平均法

それでは、k平均法をscikit-learnで試したいと思います。scikit-learnには、cluster.KMeansクラスがあり、k平均法によるクラスタリングを実行できます。書式は、図1のようになります。 図1.KMeansの書式 ▶クラスタリングの実施 今回は、irisデータセットを3…

機械学習記12日目続き ~ MLP Classifierクラス

scikit-learnでは、バージョン0.18.0からニューラルネットワークを利用できるようになりました。そこで、scikit-learnのMLPClassfierクラスを使って機械学習を行ってみます。 MLPClassifierクラスは、多層パーセプトロン(MLP)方式で実装されていて、書式は図…

機械学習記12日目 ~ ニューラルネットワーク

▶形式ニューロン ニューラルネットワークとは、人間の脳にある「ニューロン」という神経細胞を模したプログラムを、複数接続した機械学習システムのことです。 人間のニューロンは、外部から様々な電気刺激を受けて興奮し、やがて別のニューロンに電気信号を…

機械学習記11日目続き ~ サポートベクターマシン(SVM)

サポートベクターマシン(SVM)は、2クラスの識別アルゴリズムでは「強力」と言われているようですが、アルゴリズムがとても複雑です。正直、私はまだよくわかっていません。 ただ、理解できた範囲内で説明すると、SVMの特徴には「マージン最大化」と「カー…

機械学習記11日目 ~ ロジスティック回帰

ロジスティック回帰は、クラスを分類する判断に「0」か「1」(正か負)ではなく、「確率」を用います。例えば、与えられたデータがクラス1である確率は80%、そうでない確率は20%のように判断します。つまり、たとえ正の可能性があったとしても、確率が低い…

機械学習記10日目続き ~ scikit-learnのパーセプトロン

パーセプトロンの考え方がわかったところで、irisのデータセットを機械学習してみます。scikit-learnには、パーセプトロンを実装したlinear_model.Perceptronがあります。書式は、図1のようになります。 図1.Perceptronの書式 このPerceptronから学習モデル…

機械学習記10日目 ~ パーセプトロン

機械学習の入門などを見ると、「分離問題」を解決するアルゴリズムとして、「ロジスティック回帰」や「サポートベクターマシン」「ニューラルネットワーク」などが紹介されていますが、どのアルゴリズムにおいても「パーセプトロン」という概念が基本にある…

機械学習記9日目 ~ 機械学習モデルの構築

準備が整ったので、k近傍法でクラス分類を行う学習モデルを構築します。k近傍法のアルゴリズムは、scikit-learnのKNeighborsClassifierクラスに実装されています。書式は図1のようになります。 図1.KNeighborsClassifierの書式 図2.引数とその説明 それで…

機械学習記9日目 ~ 散布図をプロットしてみる

ここで、k近傍法のデータセットを散布図でプロットして、可視化してみます。irisデータセットの4つの特徴量(がく片の長さと幅、花弁の長さと幅)から、品種の分類ができそうか目視で確認します。 ここで、irisデータセットの散布図をプロットするコードを…

機械学習記8日目続き ~ データの分割

まず最初に、irisデータセットを訓練用のデータと評価用のデータに分割します。これは、生成した学習モデルの正解率を正しく判断するためです。訓練用のデータを評価用にも使ってしまうと、既に知っているデータなので、当然、正解率は高くなります。そこで…

機械学習記8日目 ~ k近傍法

今日は機械学習アルゴルズムを使って、初めての「機械学習」に挑戦します。利用するアルゴリズムは、「k近傍法」です。 k近傍法(k-Nearist Neighbor algorithm)は、機械学習において「教師あり学習」で、分類問題を解くためのアルゴリズムです。 分類問題と…

機械学習記7日目つづき ~ 機械学習用データ

▶手書き数字のデータセット 図4の学習用データは、「digits」という手書き数字の画像データと、各画像に付けられたラベルデータです。 オリジナルのデータは、「MNIST」という名前で、下のサイトから入手できますが、scikit-learnに付属しているdigitsデータ…

機械学習記7日目 ~ 機械学習用データ

〇ひとこと 機械学習の勉強をはじめてから、今日で1週間が経過しました。早いものです。。。 「進捗が........やばい!」 ▶機械学習用データ 本格的な機械学習の実験を行うためには、それなりのデータが必要になります。 ネット上には、機械学習用のサンプル…

機械学習記6日目つづき ~ 回帰の実装

回帰分析は、「結果データ」と「結果に影響を及ぼすデータ」の関係性を統計的に求める手法です。結果データを「目的変数」、結果に影響を及ぼすデータを「説明変数」と呼びます。 scikit-learnには、この回帰分析を行うモデルとして「線形回帰モデル」が搭載…

機械学習記6日目 ~ 機械学習ライブラリ(scikit-learn)

〇ひとこと 今日は引っ越し(部屋替え)があり、早朝から大忙しでした。なんと、午後9時の段階で進捗0(ゼロ)。 「もう、今日は機械学習の勉強できないかな~」 しかし、勉強は毎日続けないと意味がない!(「継続は力なり」とも言いますし.....) 今日から機械…

機械学習記5日目 ~ matplotlib

科学技術計算などで、結果をグラフで表示できるとわかりやすいですよね?、ということで、matplotlibというライブラリを使いたいと思います。matplotlibを使えば、データを図にプロットできるようになります。matplotlibも、Anacondaに含まれています。 ▶mat…