[Шакла Нишант] Машинное обучение и TensorFlow (Библиотека программиста) [RUS, 2019]
src:
https://github.com/BinRoot/TensorFlow-Book
- Переобучен (overfit)
- Недостаточно обучен (underfitting)
Запуск контейнера с TensorFlow в docker
$ docker exec -it 3459bce16e61 bash
# cd /tf
# git clone https://github.com/BinRoot/TensorFlow-Book
# cd TensorFlow-Book/ch02_basics/
# mkdir logs
Jupyter > TensorFlow-Book/ch02_basics/Concept08_TensorBoard.ipynb
Cells > Run all
# tensorboard --logdir=./logs --port=6006
Traceback (most recent call last):
File "/usr/local/bin/tensorboard", line 6, in <module>
from tensorboard.main import run_main
File "/usr/local/lib/python3.6/dist-packages/tensorboard/main.py", line 40, in <module>
from tensorboard import default
File "/usr/local/lib/python3.6/dist-packages/tensorboard/default.py", line 39, in <module>
from tensorboard.plugins.beholder import beholder_plugin_loader
File "/usr/local/lib/python3.6/dist-packages/tensorboard/plugins/beholder/__init__.py", line 22, in <module>
from tensorboard.plugins.beholder.beholder import Beholder
File "/usr/local/lib/python3.6/dist-packages/tensorboard/plugins/beholder/beholder.py", line 199, in <module>
class BeholderHook(tf.estimator.SessionRunHook):
AttributeError: module 'tensorflow.python.estimator.estimator_lib' has no attribute 'SessionRunHook'
Тут вроде понятно. Нужна постарше версия.
Но при вызове, получаю.
Illegal instruction (core dumped)
Часть 2: Основные алгоритмы обучения
Для оценки эффективности алгоритма обучения необходимо использовать такие понятия, как дисперсия и смещение.
- Дисперсия (variance) показывает, насколько чувствителен прогноз к использованному обучающему набору. В идеале выбор обучающего набора не должен играть существенной роли, то есть дисперсия должна быть низкой.
- Смещение (Ьias) показывает эффективность сделанных предположений относительно обучающего набора данных. Слишком большое число пред положений может привести к невозможности обобщения моделью, поэтому предпочтительно добиваться низкого значения смещения.
Модель должна хорошо аппроксимировать обучающие и проверочные данные. Если оказалось, что она плохо аппроксимирует проверочные и обучающие данные, то есть вероятность, что модель недостаточно хорошо обучена. Если же она плохо аппроксимирует проверочные данные, но хорошо обучающие, говорят, что модель избыточно обучена (переобучена).