- 運営しているクリエイター
#機械学習
PythonでDeepLearning - 学習済モデルを使ってみよう
PyTorchで用意されている"torchvision"で事前学習済みモデルが用意されているのでこのライブラリを読み込むことで簡単に使うことができます。
Google Colabで上記里のコードを実行してみます。
必要なライブラリなどインポート。
import jsonfrom pathlib import Pathimport numpy as npimport torchimport t
PythonでDeepLearning - フレームワーク
TensorFlowとPytorchを並べてみてみましょう。TensorFlowの方がスッキリしている感じがして使い印象を受けます。以下比較されているサイトです。
今現在はPytorchがよく使われている印象です。柔軟性が高いのがポイントでしょうか。
TensorFlow
Googleが開発していて使い方も比較的簡単に使えるようになっています。チュートリアルも日本語の解説もあります。
im
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
scikit-learnを使って簡単に機械学習の全体の流れを見てみましょう。
全体的の流れは
必要なライブラリを読み込み
from sklearn import datasetsfrom sklearn.model_selection import train_test_splitfrom sklearn import svmfrom sklearn.metrics import accur
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、人工知能や生成AIという言葉がよく使われています。このAIを実現できる一つの手法として機械学習があります。通常、人が考えて実行していることを人が介さず自動で行うことができるものとされています。
ChatGPTは機械学習の中でも深層学習(ディープラーニング)という技術が使われています。
機械学習
機械学習はデータの中のどの要素が結果に影響を及ぼしているのか(特徴量という)を人間が判断、調
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
いよいよモデルを作っていきます。
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
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&