blog

All articles

誤差逆伝播法(2) Pythonクラスの定義

Published:

By nob

Category: Posts

Tags: 機械学習 ニューラルネットワーク ディープラーニングがわかる数学入門 誤差逆伝播法 Python

Pythonクラスの定義

モデルをPythonのクラスにしてみる

import logging

import numpy as np
from fastprogress.fastprogress import master_bar, progress_bar


class Sigmoid:
    def sigmoid(self, x):
        return 1 / (1 + np.exp(-1 * np.clip(x, -709, 709)))

    def activate(self, z):
        return self.sigmoid(z)

    def deactivate(self, a):
        return a * (1 …

Read more...

誤差逆伝播法(1)

Published:

By nob

Category: Posts

Tags: 機械学習 ニューラルネットワーク ディープラーニングがわかる数学入門 誤差逆伝播法 Python

数学

分数関数の微分

$$ \biggl\{ \frac{1}{f(x)} \biggr\}' = - \frac{f'(x)}{\{f(x)\}^2} $$

指数関数の微分

$$ (e^{x})' = e^{x} $$

合成関数の微分

\(y = f(u)\) , \(u = g(x)\) のとき

$$ \frac{dy …

Read more...

勾配降下法

Published:

By nob

Category: Posts

Tags: 機械学習 ニューラルネットワーク ディープラーニングがわかる数学入門 Python

P.102 例題 関数 \(z=x^2+y^2\) について、その最小値を与える \(x, y\) の値を勾配降下法で求めましょう。

$$ 勾配 \left(\frac{\partial z}{\partial x}, \frac …

Read more...

slappasswdとopensslでsha256のハッシュ値が異なる

Published:

By nob

Category: Posts

Tags: OpenLDAP slappasswd OpenSSL GentooLinux

前提

software version
Gentoo Linux -
OpenLDAP 2.6.3
OpenSSL 3.0.11

事象

slappasswdを使ってパスワードを作成してOpenLDAPに登録したのだが認証が通らない。

原因

slappasswdとopensslで出力されるハッシュ値が異なる。

$ echo -n "abc" | openssl dgst -sha256 -binary | openssl enc -base64
ungWv48Bz+pBQUDeXa4iI7ADYaOWF3qctBD/YfIAFa0=

$ slappasswd -o module-path=/usr/lib64/openldap/openldap -o module-load=pw-sha2 -h '{sha256}' -s abc
{SHA256}Wyvqx+38PRBfZkNfDd9si6Ggf …

Read more...

beautifulsoupでHTMLのattribute名を指定してもタグが取れない

Published:

By nob

Category: Posts

Tags: Python BeautifulSoup

前提

software version
Python 3.11.5
BeautifulSoup 4.12.2

事象

>>> from bs4 import BeautifulSoup
>>> def my_tag(tag):
...     return (tag.attrs.get("data-urlRoot") == "/json")
...
>>> data = "<div data-urlRoot='/json'></div>"
>>> soup = BeautifulSoup(data, "html.parser")
>>> tags = soup.find_all(my_tag)
>>> tags
[]

原因

BeautifulSoupでは読み込んだHTMLのタグ/属性を小文 …

Read more...

OCSPレスポンダ

Published:

By nob

Category: Posts

Tags: OCSP OpenSSL systemd

前提

software version
OpenSSL 3.0.10.1

手順

systemdのユニットファイルを作成する

# vim /etc/systemd/system/ocsp-root.service
[Unit]
Description = Root CA OCSP Responder

[Service]
EnvironmentFile = /etc/default/ocsp-root
ExecStart = openssl ocsp -ignore_err -port ${PORT} -index ${INDEX_FILE} -rsigner ${RESPONSE_SIGNER} -rkey ${RESPONSE_SIGNER_KEY} -rmd ${RESPONSE_SIGNER_DIGEST} -CA ${CA} -text -out ${LOG_FILE} -passin ${RESPONSE_SIGNER_KEY_PASS …

Read more...