マガジンのカバー画像

Pythonでプログラミング

307
運営しているクリエイター

#機械学習

PythonでDeepLearning -  学習済モデルを使ってみよう

PythonでDeepLearning - 学習済モデルを使ってみよう

PyTorchで用意されている"torchvision"で事前学習済みモデルが用意されているのでこのライブラリを読み込むことで簡単に使うことができます。

Google Colabで上記里のコードを実行してみます。

必要なライブラリなどインポート。

import jsonfrom pathlib import Pathimport numpy as npimport torchimport t

もっとみる
PythonでDeepLearning -  フレームワーク

PythonでDeepLearning - フレームワーク

TensorFlowとPytorchを並べてみてみましょう。TensorFlowの方がスッキリしている感じがして使い印象を受けます。以下比較されているサイトです。

今現在はPytorchがよく使われている印象です。柔軟性が高いのがポイントでしょうか。

TensorFlow

Googleが開発していて使い方も比較的簡単に使えるようになっています。チュートリアルも日本語の解説もあります。

im

もっとみる
PythonでDeepLearning - 活性化関数

PythonでDeepLearning - 活性化関数

まず、活性化関数とは

出力層においてよく使われる主な活性化関数としては、

パーセプトロンではステップ関数

def step_function(x): if x>0: return 1 else: return 0

簡潔にも書けて

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

これで0か1かの数字が出てきます。

引数にNumpyの配列を入れ

もっとみる
PythonでDeepLearning - scikit-learn

PythonでDeepLearning - scikit-learn

scikit-learnを使って簡単に機械学習の全体の流れを見てみましょう。

全体的の流れは

必要なライブラリを読み込み

from sklearn import datasetsfrom sklearn.model_selection import train_test_splitfrom sklearn import svmfrom sklearn.metrics import accur

もっとみる
Python - DeepLearningの基本。

Python - DeepLearningの基本。

複雑なDeepLearningの仕組みをもっとも簡単な形で表現できます。

単純な分岐で実装

ANDゲート

"and"なので2つの値が同じ時が真となります。この場合x1,x2ともに1の場合は真となり"1"となり、違う場合は"0"となります。

def AND_gate(x1, x2): if x1 == 1 and x2 == 1: return 1 else:

もっとみる
"AI" と"機械学習"と"ChatGPT"と・・・

"AI" と"機械学習"と"ChatGPT"と・・・

AI、人工知能や生成AIという言葉がよく使われています。このAIを実現できる一つの手法として機械学習があります。通常、人が考えて実行していることを人が介さず自動で行うことができるものとされています。

ChatGPTは機械学習の中でも深層学習(ディープラーニング)という技術が使われています。

機械学習

機械学習はデータの中のどの要素が結果に影響を及ぼしているのか(特徴量という)を人間が判断、調

もっとみる
VGG16で遊ぶ - 画像認識。

VGG16で遊ぶ - 画像認識。

学習済みモデル、VGG16を使って簡単に画像認識ができればいいなということでネット上で色々検索して実行できるようになったので記録してきます。

いろんなサイトを見て試してみましたが、どうもうまくいかないということでエラーを検索してみた結果以下がでてきました。(Google Colabでやってます)

これを適応してやってみた結果うまくいきました。

基本的なところは

を参考にさせていただきました

もっとみる
やってみよう!機械学習 - 誤差逆伝播学習法

やってみよう!機械学習 - 誤差逆伝播学習法

以下サイトのコードを実際に動かしてなんとなく雰囲気を感じてみましょう。Colabで簡単に動かすことができます。

まずは基本的な順伝播のコードです。

import numpy as npdef sigmoid(u): return 1 / (1 + np.exp(-u))def softmax(u): e = np.exp(u) return e / np.sum(e)def

もっとみる
やってみよう!機械学習 - 勾配降下法

やってみよう!機械学習 - 勾配降下法

何はともあれ以下のサイトを参考にColabで実行します。

少しコードを削除したも。以下を実行します。

import matplotlib.animation as animationimport matplotlib.pyplot as pltimport numpy as npdef objective(x): return x**2def differential(func, x):

もっとみる
やってみよう!機械学習 - keras(TensorFlow)2

やってみよう!機械学習 - keras(TensorFlow)2

いよいよモデルを作っていきます。

model = tf.keras.Sequential([ tf.keras.layers.Flatten(input_shape=(28, 28)), tf.keras.layers.Dense(128, activation='relu'), tf.keras.layers.Dense(10)])

"tf.keras.Sequential

もっとみる
やってみよう!機械学習 - keras(TensorFlow)1

やってみよう!機械学習 - keras(TensorFlow)1

TensorFlowのライブラリとして使われている"keras"で使い方の流れを確認しながら実際に使ってみましょう。

scikit-Learnで機械学習として作っていきましたが、深層学習、ディープラーニングのkerasはモデルの作り方に違いがあります。

scikit-Learnではモデル自体を選んで使いましたが、kerasの場合はそのモデルを作るために部品を選び構築していきます。画像分類をやっ

もっとみる
やってみよう!機械学習 - フレームワーク

やってみよう!機械学習 - フレームワーク

まず機械学習の入り口としてscikit-learnを使ってみました。有名なフレームワークとしてはTensorFlowと Pytorchがあります。

TensorFlow と Pytorchは機械学習の中の一部であるディープラーニングと呼ばれる深層学習で使われます。

scikit-learnはモデルは人が指定して使うのに対してTensorFlow と Pytorchではモデルも自動で作り上げる仕

もっとみる
やってみよう!機械学習 - 教師あり学習

やってみよう!機械学習 - 教師あり学習

機械学習ライブラリ scikit-learnを使います。以下公式サイトです。

簡単に、さっそく実行できるような環境をご紹介。

ログインする必要がありますが機械学習ライブラリも使えるようになっている便利なサービスです。

Iris(アヤメ)の品種を分類してみましょう。

まずデータセットですが、
4つの測定値(特徴量)と3種類の花(Setosal、Versicolor、Versinica)がセッ

もっとみる
ニューラルネットワークを理解する。 - パラメータ更新

ニューラルネットワークを理解する。 - パラメータ更新

正解を導くためには損失関数を微分して勾配を求めそれを"0"に近づけることが必要です。そのために数値微分、誤差逆伝播法を使って勾配を求めます。その勾配を利用して"重み"を最適化することで正解を導きます。

その重み、パラメータの更新の方法を考えます。

数値微分 ・・・ 勾配降下法

重みは

$$
W = \begin{pmatrix}
w11 & w21& w31 \\ \\
w12& w22&

もっとみる