Pages

Tuesday, February 25, 2020

[活性化関数]ステップ関数(Step function)とは? - @IT

「AI・機械学習の用語辞典」のインデックス

連載目次

用語解説

 AI/機械学習のニューラルネットワークにおけるステップ関数Step function単位ステップ関数Unit step function)とは、関数への入力値が0未満の場合には常に出力値が0、入力値が0以上の場合には常に出力値が1となるような関数である。

 図1に示すように、0を基点として、階段(step)状のグラフになるため、「ステップ関数」と呼ばれる。この基点は一般的に「閾値(いきち、しきい値Threshold)」と呼ばれる。

図1 「ステップ関数」のグラフ 図1 「ステップ関数」のグラフ

 ステップ関数は、ニューラルネットワークの基礎となっている情報処理モデル「パーセプトロン」(後日解説)の活性化関数(後日解説)として用いられていたが、「バックプロパゲーション」(後日解説)が登場してからは「シグモイド関数」(後日解説)が活性化関数として使われるようになり、最近のディープニューラルネットワークでは「ReLU関数」(後日解説)がよく使われるようになっている。

定義と数式

 冒頭でも文章により説明したが、厳密に数式で表現すると次のようになる。

 xが入力データで、f(x)が出力結果である。

 x<0の場合は、f(x)=0となり、
 x≥0の場合は、f(x)=1となる。

 このように定義されるステップ関数は、発明者のオリヴァー・ヘヴィサイド氏(Oliver Heaviside、1850-1925)にちなんで、ヘヴィサイドの階段関数Heaviside step function)と呼ばれることもある。

 また、01の2値(binary)であることから、バイナリステップ関数Binary step function)と呼ばれることもある。

Pythonコード

 上記の数式をPythonコードの関数にするとリスト1のようになる。

def step(x):
  return 1.0 * (x >= 0.0)

リスト1 ステップ関数のPythonコード例


 X >= 0.0は「入力値が0以上か、そうではないか(=0未満か)」という条件を意味する。

 その条件がTrue(=1)のときは、戻り値として1.0(=1.0 * (1))を返す。

 また、その条件がFalse(=0)のときは、戻り値として0.0(=1.0 * (0))を返す。

「AI・機械学習の用語辞典」のインデックス

AI・機械学習の用語辞典

Copyright© Digital Advantage Corp. All Rights Reserved.

Let's block ads! (Why?)



"ステップ" - Google ニュース
February 26, 2020 at 03:00AM
https://ift.tt/39YEu78

[活性化関数]ステップ関数(Step function)とは? - @IT
"ステップ" - Google ニュース
https://ift.tt/31GGWfK
Shoes Man Tutorial
Pos News Update
Meme Update
Korean Entertainment News
Japan News Update

No comments:

Post a Comment