the exact, handwritten code could take years, or isn’t yet possible • Often we hire humans to do it • Recognize images • Read handwriting • Label reading • Machine Learning is like having an army of workers which do one thing • Machine figures it out for you then execute rapidly* (often in parallel) • Imperfect, but often that’s fine * Image recognition requires more muscle Portions of this presentation are use Algorithmia’s Machine Learning presentation. Visit https://blog.algorithmia.com/building-intelligent-applications/ for details.
in the field of computer gaming and artificial intelligence, coined the term “Machine Learning” in 1959 while at IBM. • “A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P if its performance at tasks in T, as measured by P, improves with experience E” (Mitchell, 1997) Portions of this presentation are use Algorithmia’s Machine Learning presentation. Visit https://blog.algorithmia.com/building-intelligent-applications/ for details.
with example inputs and their desired outputs, given by a “teacher”, and the goal is to learn a general rule that maps inputs to outputs. • Unsupervised learning No labels are given to the learning algorithm, leaving it on its own to find structure in its input. Unsupervised learning can be a goal in itself (discovering hidden patterns in data) or a means towards an end (feature learning) Portions of this presentation are use Algorithmia’s Machine Learning presentation. Visit https://blog.algorithmia.com/building-intelligent-applications/ for details.
• Sentiment analysis (“I do not like that book”) • Language detection • Image recognition • Cat or dog, model of car, types of objects in frame • Facial recognition (group photos by individual) • Hotdog or not hotdog? • Prediction • Trends (weather, stocks, product sales) • Agents • Automated game players, chatbots Portions of this presentation are use Algorithmia’s Machine Learning presentation. Visit https://blog.algorithmia.com/building-intelligent-applications/ for details.
processing in Python: import nltk • Parts of speech, named entities, parse trees • TensorFlow • Open source software library for numerical computation • Flexible architecture • Originally made by researchers and engineers at Google Brain • TensorFlow Lite: Machine Learning apps for android Portions of this presentation are use Algorithmia’s Machine Learning presentation. Visit https://blog.algorithmia.com/building-intelligent-applications/ for details.
for dataflow programming across a range of tasks. It is a symbolic math library, and also used for machine learning applications such as neural networks. • In May 2017 Google announced a software stack specifically for Android development, TensorFlow Lite, beginning with Android Oreo. Portions of this presentation are use Algorithmia’s Machine Learning presentation. Visit https://blog.algorithmia.com/building-intelligent-applications/ for details.
of Statistics and Linear Algebra • Programming • Knowledge in Python, Scala, Java, or R • Domain Knowledge • Know your problem and your data • Software Engineering • Questions about performance and integration of ML models • Burning passion to pursue ML • Don’t get frustrated if you don’t get it the first time • Practice, practice, practice • Read books Portions of this presentation are use Algorithmia’s Machine Learning presentation. Visit https://blog.algorithmia.com/building-intelligent-applications/ for details.
for your machine learning application • Apps include image classification, labelling, or creating a new image based from the “learned” image dataset • Involves a series of processes such as batch processing, convolution, and 2D/3D/4D kernel filtering • Supervised learning in nature
width (in pixels), height (in pixels), and color channel (red, green, or blue) image[1500, 1000, 3] The image on the left has the following dimensions: width: 1500px height: 1000px channels available: 3 (rgb)
specific directory files = [os.path.join('img_dir', file_i) for file_i in os.listdir('img_dir') if '.jpg' in file_i] images = [plt.imread(img_i)[..., :3] for img_i in files]
images = [imcrop_tosquare(img_i) for img_i in images] • Specify image dimensions to 100x100 (in pixels) images = [resize(img_i, (100, 100)) for img_i in images]
a batch dimension has the following dimensions: NxWxHxC images[100, 100, 100, 3] Where N is the number of images in the dataset W is the width in pixels H is the height in pixels C is the channels available (red, green, or blue)
lesser file size for faster processing • Your images should be of the same dimensions; machine learning works on image datasets of the same sizes • Check the version of the data visualization library you’re using • Convolution: high kernel size means large image filter
intelligent pest and crop monitoring system via drone imaging • Analyze crop health and whether crops are infested by gathering image data and analyzing them with image processing