我爱编程

Term 1 Welcome & Anaconda

2017-02-12  本文已影响0人  Evvoque

· Convolutional Neural Network【neutral:中立的、非颜色的; convolution: 回旋、盘旋 】 卷积神经网络(CNN || ConvNet) a type of feedforward artificial neural network(前馈人工神经网络)

·Recurrent Neural Network: 【recurrent: 经常发生的,周期性的】循环神经网络

·Generative Adversarial Network: 【generative: 能生产的,有生产力的;adversarial:敌手的,对手的】生成对抗网络

全部课程包含了 五个项目,分别:

Project 1: Your First Neural Network: Build a simple network to make predictions of bike sharing usage.

Project 2: Object Recognition: Build a neural network that detects objects from images.

Project 3: Generate TV Scripts: Use deep learning to generate new scripts for your favorite TV show.

Project 4: Make a Translation Chatbot: Build a chatbot that translates text in real time.

Project 5: Generate Faces: Use a generative adversarial network(GAN) to generate novel faces【novel: 新奇的、异常的;小说】

Prerequisites

数学:You can brush up on most of the math prerequisites  at Khan Academy.

Intermediate Python experience: 这里有udacity的python课程

最好有: Multivariable Calculs (多元微积分)和 Linear Algebra (线性代数)

==> 数学不会阻止你做项目,但是 It is encouraged for a theoretical understanding.

**这个课程是有Deadline的!**

The First week

          1、REGRESSION MODELS: Scikit-Learn

          2、INTRO TO NEURAL NETWORKS: Perceptrons(感知单元)  &&  Train Networks

                                   Perceptrons: The simplest form of a neural network 

                                   Train Networks: two ways, 1. gradient descent: 梯度下降, improve themselves based on the accuracy of their prediction; 2. back propagation: 反向传播, improve individual parameters.

          3、YOUR FIRST NEURAL NETWORK: Numpy (扩充库,纬度数组&矩阵运算&数学函数函式库)

Terminology:

Scikit-learn: An extremely popular Machine Learning library for python.

Perceptrons: The simplest form of a neural network.

Gradient descent: A process by which Machine Learning algorithms learn to improve themselves based on the accuracy of their predictions. You`ll learn more about this in upcoming lessons.

Backpropagation(How the backpropagation algorithm works): The process by which neural networks learn how to improve individual parameters. You`ll learn all about this in the upcoming lessons.(反向传播,propagation:繁殖、增殖;宣传、波及)

Numpy: An extremely popular library for scientific computing in python.

Tensorflow: One of the most popular python libraries for creating neural networks. It is maintained by Google.

Introduction To Anaconda And Jupyter

If you haven`t used Numpy, Pandas, or Matplotlib before, please take our Intro to Data Analysis(数据分析入门: 使用NumPy和Pandas进行数据分析), These are the main tools for working with and visualizing data in Python, so you`ll need some experience with them.

Anaconda

Anaconda is a distribution of packages built for data science. It comes with conda, a package and environment manager.  Using Anaconda will make your life working with data much more pleasant.

You`ll also use it to create virtual environments that make working on multiple projects much less mind-twisting. Package managers are used to install libraries and other software on your computer.

pip: default package manager for Python libraries. You can (and will) still use pip alongside conda to install packages.

Conda installs precompiled packages. For example: the Anaconda distribution comes with Numpy, Scipy and Scikit-learn compiled with MKL library(MKL Optimiations), speeding up various math operations.

Along with managing packages, Conda is also a virtual environment manager. it`s similar to virtualenv and pyenv, other popular environment managers.

pip export the list of packages in an environment to a file. allows other people to easily load all the dependencies for your code. pip freeze > requirements.txt

安装与使用Anaconda

1、安装之后需要进行全面更新 prevent future errors from out of date software. conda upgrade conda  ||  conda upgrade --all

Troubleshooting

If you are seeing the following "conda command not found" and are using ZShell, you have to do the following: 

   Add export PATH="/Users/username/anaconda/bin:$PATH" to your .zsh_config file.

Managing Packages

conda install package_name ==>  conda install numpy || conda install numpy scipy pandas  ||  conda install numpy=1.10

有一种情况,scipy 依赖于numpy, 所以同时安装 scipy 和 numpy  有两种方式:只安装scipy(conda会自动安装numpy),同时安装scipy、numpy。

卸载:conda remove package_name.

更新: conda update package_name  或  conda update --all

查看列表: conda list.

搜索:conda search search_term  ex: conda search beautifulsoup  (besutiful soup 是爬虫利器)

Managing environments

创建环境,分离你的项目: conda create -n env_name list of packages, -n env_name

                                  ex --> conda create -n py3 python=3 or conda create -n py2 python=2 :  These commands will install the most recent version of Python3 and 2, respectively, use python=3.3 to install specific version. 

Entering an environment 

       OSX/Linux: source activate my_env    ——  source deactivate

       Windows: activate my_env     —— deactivate

Saving and loading environments

sharing environments so others can install all the packages used in your code.

conda env export > environment.yaml   not using conda => pip freeze (requirements.txt)

then =>  conda env create -f environment.yaml 

check the env list:  conda env list .

remove env:  conda env remove -n env_name

YAML

is a human friendly data serialization standard for all programming languages.

一种直观的能够被电脑识别的数据序列化格式,以数据为中心,一种可读性高,并且容易被人类阅读、容易与骄傲本语言交互,用来表达资料序列的编程语言


It works great for non-data related projects too like web apps with Flask.

The author have an environment for his personal blog using Pelican.

Want learn More? about conda and how it fits in the Python ecosystem, check Conda myths and misconceptions. And the conda documentation.

Last Note for students in the Data Analyst Nanodegree program.

Currently, most of the materials for this Nanodegree program are still guaranteed to work only for Python 2.7, You can quickly set up an environment for the current DAND(Data Analyst Nanodegree program) program by opening the Resources tab and downloading an appropriate YAML file.  

后期需要补数据分析的课程:

           数据分析

                1.提出问题

                2.整理数据:可以用来解决问题的格式

                3.探索数据:找出数据中的模式,建立关于数据的直觉

                4.得出结论或进行预测

                5.数据类型:一维数据&二维数据



 

上一篇 下一篇

猜你喜欢

热点阅读