しんさんのブログ

科学や技術のこと読書のことなど

2018-03-01から1ヶ月間の記事一覧

機械学習基礎の基礎: 過学習

今回は過学習についてみて見ます。 まずは訓練データを作成します。 訓練データは3次関数にノイズを加えた8つの点(x, y)構成することとします。 プログラムの初めに8点生成して、それらの点を10次関数でfittingすることにします。 データの個数がfitti…

機械学習基礎の基礎: パーセプトロンで線形分離を実装してみる

今度は、パーセプトロンを使って線形分離をしてみます。 適当に線形分離できそうなデータを以下のように作ってみました。 データは2次元平面上の点の座標(x, y)とそれぞれの正解ラベル1 or -1をつけています。 10, 20, 1 11, 30, 1 15, 30, 1 17, 35, 1 5,…

機械学習基礎の基礎: 確率的勾配降下法の実装

前回のデータとコードを改造してStochastic gradient descent method(SGD)を実装してみました。 と言っても、大した改造ではなくパラメータの更新を1つの訓練サンプルごとに行うようにしただけです。 np.random.permutation(X.shape[0]) で、いったんランダ…

機械学習基礎の基礎: 非線形fitting

前回の線形fittingでは、身長が低いところでfittingのずれが大きくなっていましたので、今回は2次関数でfittingすることにします。 同時に、入力データやパラメータをmatrixで扱うことでコードをシンプルにしています。 前回との差分は、fitting関数を y = …

機械学習基礎の基礎: データ読み込みから線形fittingまで

機械学習の基本である線形回帰のコードを書いてみます。流れの説明: 1) データファイルの読み込み: データファイルはtextデータで x0, y0 x1, y1 ... のように格納しています。今回以下のような ダミーの(身長, 体重)データを使用しました. 85, 16.8 90.5,…

jupyterlabをインストールしてみた

jupyter notebookの次期バージョンとしてjupyterlabが予定されているらしいです。 以下の記事を読み、試してみたいと思いインストールしてみました。 http://www.publickey1.jp/blog/18/webidejupyterlabpythonrscala.htmlインストール方法 jupyterlabのgith…

Python + OpenCV3で顔認識

先日, Python + OpenCV3の環境を構築しましたので, この環境でWeb camからの映像を使用して顔認識してみました.初めにanacondaでopnecvの仮想環境をactivate して jupyter notebookを立ち上げます. 以下jupyter notebookのコードと解説を書きます. 顔認識用…