3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

機械学習ってなんだろうと思ったのでUdemy視聴メモ(プレビューまで)

Last updated at Posted at 2018-10-26

コンテナやGPUに関するサービスを考える中で、
「データサイエンティストは~」という仮説にたって話が進められることが多いです。

でも、AIとか機械学習とかディープラーニングとか、
なんとなーく概念はわかるけど・・・的な
色々なキーワードが多い。

あと、
「AIとディープラーニングって違うの?」って聞かれたときに、
そういえば、どういう風に違うのかな?と思い。

データサイエンティストの方々って、どういうことされているのかな?
これらのキーワードってひとつひとつ違うのかな?
というのをちょっとでも理解・自分でお話できるように
Udemyのデータアナリティクスの講座の無料部分を視聴してみました。

【キカガク流】人工知能・機械学習 脱ブラックボックス講座 - 初級編 -
https://www.udemy.com/kikagaku_blackbox_1/

無料視聴部分の視聴メモです。

##人工知能とは?
人工知能>機械学習>ディープラーニング

機械学習
 →数値情報をもとに判断をすること
  入力Xと出力Yの関係性を見つけること

ディープラーニング

ディープラーニングはアルゴリズムのひとつ
 →具体的な手順

アルゴリズムの中には、SVMや単回帰分析もある

##微分について

微分は「何」が求まるのか?
 →接線の傾きが求められる(y=ax+bのa)

微分は「何」に使えるのか?
→実際と予想の誤差をなくす

  「傾き0」を利用することである関数が最小となる点が求まる
  「傾き0」を求める

##単回帰分析について
回帰分析とは、関数をデータに当てはめることによって、ある変数yの変動を別の変数xの変動により説明・予測・影響関係を検討するための手法。

説明したい変数yを目的変数、それを予測するための変数xを説明変数とよぶ。

問題例:家賃の予測 (部屋の広さから家賃を予測する)
y:目的変数
x:説明変数(広さ、距離、・・・)

単回帰分析:目的変数「家賃の高さ」を、説明変数「広さ」だけで推論する。
重回帰分析:目的変数「家賃の高さ」を、複数の説明変数「広さ」「築年数」「駅からの近さ」などの様々な要素で推論する。

無料視聴は単回帰分析まで。

フェーズ1:学習
 広さ:20 →家賃:5万円
   :30 → 7万円
   :40 → 10万円
   :10 → 3万円

たくさん「学習済みモデル」を作る。

※機会学習をするうえで、
学習=あらかじめデータを入れることが大切、それから規則性をみつけてフェーズ2に
※大事なのはここのデータの関係性を見つけること

フェーズ2:推論

 広さ:15→学習済みモデル→家賃:4万円 これが予測値

##環境構築について
windowsでのインストールについて
https://qiita.com/yoshizaki_kkgk/items/1057ed4dcc36ed9be7f5

AnacondaのURLは以下
https://www.anaconda.com/download/

Anacondaという、Pythonの環境構築から
Numpyとか、ある程度必要なライブラリのインストールまで一気に済ませてくれるOSSのプラットフォーム。

演習では、Anaconda内のjupyter notebookを使う

jupyter notebookは、
Shift+Enterで改行

##単回帰分析の演習
Numpy:数値計算のライブラリ

Numpyをインストール済みであれば
import numpy で読み込める

今回は、
import numpy as np    npという名前で読み込むのが通例らしい

パラメータa(傾き)を求めるには?

a の傾きは、 xyの共分散/xxの分散   として求めらる

分散とは、データの散らばりの度合いを表す値。
分散を求めるには、偏差(それぞれの数値と平均値の差)を二乗し、平均を取る。

偏差とは、個々の数値と平均値との差のことです。個々のデータが平均値から偏っている程度を表している。

つまり、偏差の二乗平均が分散。

この偏差の正の平方根で、標準偏差をだす。
標準偏差は、データの散らばりの度合いを示す値。
(↑で偏差値とかも算出できる)

まずは、np.array で ベクトルを定義
x=np.array([1,2,3])
y=np.array([2,3.9,6.1])

データを中心化するには、

平均の算出
x.mean() ・・・でarrayの平均を算出してくれる
y.mean()

中心化は全体から平均を引く

x-x.mean(平均) で出せる

今回は変数xcを中心化の変数とする
xc=x-x.mean
yc=y-y.mean

パラメータaの計算

xx=xcxc(中心化中心化)
xy=xc*yc

総和を求める
xx.sum()  ・・・数値の合計をだしてくれる
xy.sum()

傾きがわかる
a=xy.sum()/xx.sum()  

※ちなみに、この無料で視聴できる部分まででは、
単回帰分析の考え方は基礎的なことにすぎず、全然実用性はないとのこと

##戯言
「パイソン」って響きがかわいいよね、
って前々から思っていたけど、
その中で使える計算ライブラリの名前も「ナムパイ」ってめちゃかわいい!

ぱぴぷぺぽの半濁音ってかわいいよね。
プリン、ピッピ、ピカチュウ とかね。

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?