Git Product home page Git Product logo

ds-unit-4-sprint-2-neural-networks's People

Contributors

brokenshell avatar fabiolaalvarez avatar jcatanza avatar joqu86 avatar lucchesia7 avatar ryanleeallred avatar sokjc avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ds-unit-4-sprint-2-neural-networks's Issues

Swap M3 Assignment Data

From @KeriKalmbach:

We really need to re-engineer module 3's assignment. I know we work with arrays, so the feature names aren’t shared. But, it makes sense that they’ll need the feature names to make a meaningful interpretation of the data and to meet the data engineering assignment requirement.

  • Replace the Module 3 Assignment Regression Data with NYC Rent or another dataset.

Strange file/version number bug 4.2.1 vs 4.3.1

When either of the pages/notebooks (links below) are opened directly into google colab from github, the file name changes from the correct 4.2.1 to an incorrect 4.3.1
Are there two versions of the file? Are updates not getting loaded into colab?

If the file/notebook is downloaded from a zipped repo download and then uploaded, the correct number remains in the title (no bug).

https://github.com/LambdaSchool/DS-Unit-4-Sprint-2-Neural-Networks/blob/master/module1-Intro-to-Neural-Networks/LS_DS_421_Intro_to_NN_Lecture.ipynb
or
https://github.com/LambdaSchool/DS-Unit-4-Sprint-2-Neural-Networks/blob/master/module1-Intro-to-Neural-Networks/LS_DS_421_Intro_to_NN_Assignment.ipynb

Incorrect Sigmoid derivative function in module 2

In module2-backpropagation/LS_DS_422_Gradient_Descent_Backprop_Lecture.ipynb the sidmoid derivative function (sigmoidPrime) is calculated incorrectly.
It currently is:

def sigmoidPrime(self, s):
     return s * (1 - s) 

and it should be:

def sigmoidPrime(self, s):
     sx = sigmoid(s)
     return sx * (1 - sx)

This class function can be found under the header 'Update Weights Based on Gradient'

4.2.3 Assignment Notebook: typo confusing sentence meaning

The following "sentence" is not grammatically correct and fixing it in various ways changes the meaning of the sentence in various ways. What should this sentence say?

"Make sure to have your final layer have as many nodes as the number of classes that you want to predict."

Incomplete description of layer types

In the module one lecture notebook, the cell:

Types of Layers:

There are three main types of neuron layers in a typical NN topology:

is followed by a cell that describes the input/visible layer. There is no description of the other types.

423 vs 433 assignment file name

LS_DS_433_Keras_Lecture.ipynb

pulling on colab or pulling on local or pulling on aws results in different resulting files...

Incorrect application of SigmoidPrime to activated sums.

In the "Put it all together" section from the lecture for module 1, there's the following code;

# Weighted sum of inputs / weights
weighted_sum = np.dot(inputs, weights)
# Activate!
activated_output = sigmoid(weighted_sum)
# Cac error
error = correct_outputs - activated_output
adjustments = error * sigmoid_derivate(activated_output)

The adjustments should be adjustments = error * sigmoid_derivate(weighted_sum). Intuitively, this is because we want the derivative of our activation function at the points defined by the weighted sum, not at the points after activation. It is the activation function we're taking the derivative of, after all.

The NeuralNetwork class constructed throughout module 2 applies sigmoidPrime to the activated output.

self.z2_delta = self.z2_error * self.sigmoidPrime(self.activated_hidden)

should be

self.z2_delta = self.z2_error * self.sigmoidPrime(self.hidden_sum)

and

self.o_delta = self.o_error * self.sigmoidPrime(o)

should be

self.o_delta = self.o_error * self.sigmoidPrime(self.output_sum)

By sheer coincidence, this error cancels out with the error in #134. As it happens, the difference between the incorrect and correct sigmoidPrime implementations is an application of sigmoid. The difference between hidden_sum and activated_hidden is also an application of sigmoid. So that means, self.sigmoidPrime(self.activated_hidden) (using the incorrect definition of sigmoidPrime) is equivalent to self.sigmoidPrime(self.hidden_sum) (using the correct definition for sigmoidPrime). This means that the implementation of NeuralNetwork would break if sigmoid were swapped with just about any other activation function, but it works with sigmoid, seemingly by accident.

environment.yml

Caveat:
I do not know if this is related specific to my local setup or a more general issue.

cd into root directory of DS-UNIT-4-SPRINT-2.

Run command:
conda env create -f environment.yml -n DS-4.2

Returns ResolvePackageNotFound: errors for particular packages.

Resolve By:
Move the packages in the error inside yml from dependencies to pip

My Understanding/Guesstimation:
These are packages that are required but are not installed?
Thus adding to pip in yml has them installed instead of fetched from local?


Additional Errors attempting to create conda env:

CondaValueError: prefix already exists:

Resolve By:
add --force to conda env create command


NOTE: There are packages in the requirements.txt file that are not in dependencies or pip inside yml. So you still need to run pip install on the requirements.txt inside the new conda env.

If after running pip install -r requirements.txt you get

ERROR: Could not install packages due to an EnvironmentError:
then add --user to the command:
pip install -r requirements.txt --user


This yml/requirements.txt installs regular tensorflow and not tensorflow-gpu but thats prob intentional.

Typo: Assignment 3

In the .ipynb for assignment 3, it says "Data Science Unit 4 Sprint 2 Assignmnet 3" Assignment is misspelled :)

Expected indent block

In module1-Intro-to-Neural-Networks/LS_DS_421_Intro_to_NN_Assignment.ipynb, The final cell defining the perceptron class there needs to be an additional indent on line 6: 'self.niter = niter'.

Everything within the 'fit' function needs to be indented.

The docstring at the begining of the predict function needs indentation

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.