質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
NumPy

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

3171閲覧

pythonでのネイピア数の扱い

ichi_moji

総合スコア13

NumPy

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2018/10/06 05:28

pythonでのクロスエントロピー関数の実装

「ゼロから作るdeep leaning」という本を見ながら、ディープラーニングの学習をしているのですが、サンプルのコードを丸写ししてもエラーが出てしまいます。どのように修正するとエラーが解決するのでしょうか。

発生している問題・エラーメッセージ

File "C:\python\sample.py", line 4 delta = 1e - 7 ^ SyntaxError: invalid syntax

該当のソースコード

python

1import numpy as np 2 3def cross_entropy_error(y,t): 4 delta = 1e - 7 5 return -np.sum(t * np.log(y + delta)) 6 7y = [0.1,0.05,0.6,0.0,0.05,0.1,0.0,0.1,0.0,0.0] 8t = [0,0,1,0,0,0,0,0,0,0] 9 10print(cross_entropy_error(np.array(y),np.array(t)))

試したこと

eという文字をそのまま使ってはいけないのかと思い、使う前に「e = np.exp」としてみて、「delta = 1 * e -7」としてみましたが、np.expの文字型がintでもstrでもないようなので変換できずエラーが出てしまいました。

補足

本ではこのコードの出力は「0.51082545709933802」となっています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

そのeはネイピア数ではなく、指数表記を意味するものです。
文法上スペースを入れてはいけない場所にスペースがはいってしまっています。

Python

1>>> 1e-7 21e-07 3>>> 1e - 7 4 File "<stdin>", line 1 5 1e - 7 6 ^ 7SyntaxError: invalid syntax

決して 1e から 7 を引いているわけではありません。
10の-7乗 に 1 をかけた数を意味します。

Python

1>>> f'{1e-7:.10f}' 2'0.0000001000'

投稿2018/10/06 05:33

編集2018/10/06 05:37
LouiS0616

総合スコア35660

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ichi_moji

2018/10/06 05:37

ご回答ありがとうございます。 完全に勘違いしていました。これでどうにか解決しそうです。 ありがとうございました!!
guest

0

delta = 1e - 7

"delta = 1e-7" としてはどうでしょうか?
e の後ろ空白無しです。

投稿2018/10/06 05:36

pepperleaf

総合スコア6383

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問