著者:機械文書
ページ数:70

¥99¥0

単純パーセプトロンを学習するための、「文系プログラマ向け」テキストである。
単純パーセプトロンは、機械学習で最も簡単なトピックである。この学習を通して機械学習を体験してほしい

[本シリーズの執筆姿勢] 1, 機械学習はライブラリを利用して実行するのが正しい作法
2, ライブラリがどのように動いているか少しだけ知りたい
3, プログラムの概要と流れだけ知りたいので作りこみは不要(正常系テストに通ればよい)

「流行りの機械学習をちょっと知りたいな」という軽い気持ちで読んでほしい

[機械学習の体験] 単純パーセプトロンは、次の手順で実施する
1, 学習用データを入力
2, 入力値を判別して出力
3, 出力値と期待値が異なる場合、パラメーターを修正(学習部分)

正しいパラメーター(重み)を探すことが、単純パーセプトロンの肝であり、本テキストで学習することである。
「入力→出力→学習」という流れを把握できれば、機械学習の最初の一歩としてはまずまずだと思っている。

[目標] 入力値が5以上の場合「1」を出力して、それ以外の場合「-1」を出力する計算式を実装すること
(1次元の単純パーセプトロン)

目標プログラムを掲載する。
(タブの代わりに全角空白を利用しているため、コピペして利用できない
———-
# csvデータ読み込み
input <-read.csv(“data.csv”,fileEncoding=”UTF-8″,header=T)

# 重み (定数項、データ)
w <- c ( -1 , -1 )

# 識別器:引数 (重み、入力値)
output <- function ( w , x ) {

  # 計算式に値を入力
  res <- sum ( w * as.numeric ( x ) )
  
  # 出力値を戻す
  ifelse ( res >= 0 , 1 , -1 )
}
# 【機械学習】:引数 (重み、学習率、データ、分類フラグ)
learn <- function ( w , rate , x , flg ) {
  w + rate * x * flg
}
# 全体を反復(30回決め打ち)
for ( count in 1 : 30 ) {

  # 全てのデータを処理
  for ( i in 1 : nrow ( input ) ) {
    
    # 出力値を取得
    res <- output ( w , input [ i , 1:2 ] )
    
    # 出力値と分類フラグを比較
    if ( res != input [ i , 3 ] ) {
      
      # 【学習部分】:値が異なる場合、新しい重みを生成
      w <- learn( w , 0.2 , input [ i , 1:2 ] , input [ i , 3 ] )
    }
  }
}
# 学習終了
# 正しく学習したか確認:5以上は「1」を出力
# [-1,-1,-1,-1, 1 , 1] 
print ( apply ( input [ , 1:2 ] , 1 , output , w=w ) )
———-
[data.csv]:1次元用データ
fix,data,flg
1,1,-1
1,2,-1
1,3,-1
1,4,-1
1,5,1
1,6,1
———-

おそらく最も簡単な機械学習のサンプルプログラムだと思う。
本テキストでは、このサンプル以外にも、2次元のプログラムも掲載している。

———-
[data.csv]:2次元用データ
x,y,flg
1,8,1
2,7,1
3,9,1
4,7,1
5,8,1
6,9,1
7,10,1
8,4,-1
9,2,-1
10,5,-1
———-

*数学的な背景は解説しない。
*ライブラリは利用しない。
*Rの解説はしない
*一般的な用語は利用しない。本テキスト独自の用語を利用する(入門の入門という位置づけ)。

[Rで実装、ニューラルネットワークの注意点] 次作は本作と異なり、数式のオンパレードである。

∂誤差 / ∂wij =
[ Σ(∂誤差k/∂出力k)(∂出力k/∂値k)(∂値k/∂中間出力i) ] (∂中間出力i/∂中間値i)(∂中間値i/∂wij)=
[ Σ -( 正解k – 出力k ) 出力k ( 1 – 出力k ) 重みki ] 中間出力i ( 1 – 中間出力i ) 入力値j

このようなイメージである。

シリーズ一覧

  • 同シリーズの電子書籍はありませんでした。

 

  Kindle Unlimitedは、現在30日間無料体験キャンペーンを行っています!

この期間中は料金が980円→0円となるため、この記事で紹介している電子書籍は、すべてこのKindle Unlimited無料体験で読むことが可能です。

Kindle Unlimited 無料体験に登録する