タグ

2015年5月7日のブックマーク (2件)

  • Pythonでパーセプトロンを実装してみた - nokunoの日記

    解説は後日. #!/usr/bin/env python #encoding: utf-8 from sys import stdin from optparse import OptionParser from collections import defaultdict from random import shuffle, seed from math import sqrt def sign(x): if abs(x) return 0 elif x > 0: return 1 return -1 def clip(x, c): return sign(x) * max(0., abs(x) - c) def parse(line, bias, discount): label, document = line.strip().split(" ", 1) features = {}

  • Python: 単純パーセプトロンを実装してみる

    パーセプトロンは人間の脳にあるニューロンをモデルとした古典的な機械学習アルゴリズムの一つ。 ニューラルネットワークではパーセプトロンを多層化して使うのに対し、単純パーセプトロンは入力と出力の一階層のみで構成されている。 単純パーセプトロンには分かりやすい能力的な限界もあって、それは線形分離可能 (直線を引いてこちら側が A で、こちら側は B と分類できる) な問題しか解くことができない。 ただし、派生した様々な機械学習アルゴリズムが今も使われているので、学んでおく意味は大いにありそう。 パーセプトロンの考え方では、入力と重みの内積を出力にする。 重みは最初適当な値で初期化しておき、教師信号を元にその重みを変化させていく。 ようするに、教師信号に対する答えが正解ならそのまま、間違えたら正解に近いほうにちょっとずらす、というのを繰り返す。 サンプルコードの実行に必要なパッケージをインストール

    Python: 単純パーセプトロンを実装してみる