Skip to content

Instantly share code, notes, and snippets.

vector <float> operator+(const vector <float>& m1, const vector <float>& m2){
/* Returns the elementwise sum of two vectors.
Inputs:
m1: a vector
m2: a vector
Output: a vector, sum of the vectors m1 and m2.
*/
const unsigned long VECTOR_SIZE = m1.size();
0.0511965
0.0696981
0.931842
0.899579
Program ended with exit code: 0
vector <float> transpose (float *m, const int C, const int R) {
/* Returns a transpose matrix of input matrix.
Inputs:
m: vector, input matrix
C: int, number of columns in the input matrix
R: int, number of rows in the input matrix
Output: vector, transpose matrix mT of input matrix m
*/
vector <float> operator*(const vector <float>& m1, const vector <float>& m2){
/* Returns the product of two vectors (elementwise multiplication).
Inputs:
m1: vector
m2: vector
Output: vector, m1 * m2, product of two vectors m1 and m2
*/
const unsigned long VECTOR_SIZE = m1.size();
int main(int argc, const char * argv[]) {
for (unsigned i = 0; i != 10000; ++i) {
vector<float> layer_1 = sigmoid(dot(X, W0, 4, 2, 4 ) );
vector<float> layer_2 = sigmoid(dot(layer_1, W1, 4, 4, 1 ) );
vector<float> layer_2_delta = (y - layer_2) * sigmoid_d(layer_2);
vector<float> layer_1_delta = dot(layer_2_delta, transpose( &W1[0], 4, 1 ), 4, 1, 4) * sigmoid_d(layer_1);
W1 = W1 + dot(transpose( &layer_1[0], 4, 4 ), layer_2_delta, 4, 4, 1);
W0 = W0 + dot(transpose( &X[0], 4, 2 ), layer_1_delta, 2, 4, 4);
};
return 0;
0.0314169
0.97234
0.972556
0.0295431
0.500027
0.500029
0.500029
0.50003
// XOR Dataset
vector<float> X {
0.0, 0.0,
0.0, 1.0,
1.0, 0.0,
1.0, 1.0};
// Quasi random numbers
vector<float> W0 {
-0.07555777, -0.04661271, -0.0982434, 0.01800294,
# -*- coding: utf-8 -*-
# Sergei Bugrov
# 7-10-17
#
# Downloads all available articles from https://www.nytimes.com
#
# usage : python nytimes.py
#
# python version : 3.6.1
//
// main.cpp
// mlperceptron
//
// Created by Sergei Bugrov on 7/11/17.
// Copyright © 2017 Sergei Bugrov. All rights reserved.
//
#include <iostream>
#include <vector>