エイリアスを使ってショートカット

qiita.com

 

$ln -s /Users/ユーザー名/Dropbox/workspace/haskell/HHaskell/ ~/DevelopFolders/

エイリアスすることでいちいちcdで長ったらしく書かなくても良くなる。

FinderのFavoritesにフォルダを追加

ドラック&ドロップで実現可能

エディッタatomの設定

Atom -> Preference -> Package -> 変更したい言語名(ex) haskell) -> language-haskell ->

settings -> Tab length 

anacondaのアップデート方法

ここが確実

Managing packages — Conda documentation

conda update conda
conda update anaconda

→y

jupyter設定

configファイルを作る。

jupyter notebook --generate-config

 

起動させるブラウザを指定

c.NotebookApp.browser = '/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome %s'

IPthonのコマンド集

適宜追加していく

スクリプトの実行

In [10]:%run ファイル名

 環境のリセット

In [11]:%reset

 

最急降下法による回帰分析

参考

Pythonで最急勾配法を実装し、グラフを描く - minus9d's diary

 

本編

Lecture 2 | Machine Learning (Stanford) - YouTube

の最初の回帰分析を実装

 

import numpy as np
import matplotlib.pyplot as plt

# 学習データ
m = np.array([[2104, 400],
              [1600, 330],
              [2400, 369],
              [1416, 232],
              [3000, 540]])
# 使いにくいので、予め分けておく
x = m[:, 0]
y = m[:, 1]
# 繰り返し回数
r = 10
# 変数
theta = np.array([0.0, 0.0])
# 最適化の係数
alpha = 0.0000001

for i in range(r):
    #print([(h(x[k], theta) - y[k])*x[k] for k in range(len(x))])
    # それぞれの偏微分の計算
    J0 = np.mean((theta[0] + theta[1]*x - y))
    J1 = np.mean((theta[0] + theta[1]*x - y) * x)
    # 値の更新
    theta[0] -= alpha * J0
    theta[1] -= alpha * J1
  
    print(theta)

# 学習データのプロット
plt.plot(x, y, '*')
xm = np.array(range(0, 3500, 1))
ym = theta[0] + xm * theta[1]
plt.plot(xm, ym)
plt.xlim(0, 3500)
plt.show()

#def h(x, theta):
#    return theta[0] + theta[1]*x

 f:id:shiriases:20170503013303p:plain

実際に実装してみると勉強になるけど時間がかかる...