Permalink
Commits on Sep 11, 2017
Commits on Sep 1, 2017
  1. fixed typo in Strings

    vpatryshev committed Sep 1, 2017
    improved test script
  2. Added Euclidean norm

    vpatryshev committed Sep 1, 2017
Commits on Jul 23, 2017
  1. ML finishing touches.

    vpatryshev committed Jul 23, 2017
    Got rid of OOM error; accelerated the calculation in Samon method
Commits on Jul 22, 2017
  1. Forgot file header.

    vpatryshev committed Jul 22, 2017
  2. Final touches - just logging.

    vpatryshev committed Jul 22, 2017
  3. Strings - more stopwords

    vpatryshev committed Jul 22, 2017
    small test fixes
  4. Strings - more stopwords

    vpatryshev committed Jul 22, 2017
    Tracker - something like a cheap logger or rather time()
Commits on Jul 21, 2017
  1. Faster vectors (#16)

    vpatryshev committed Jul 21, 2017
    * Pretty much accelerated linear algebra operations.
    By delegating to primitive Java.
    
    * Pretty much accelerated linear algebra operations.
    By delegating to primitive Java.
    
    * One import warning fixed
    
    * Added test tool, added a butterfly 3d sample.
    
    * Sammon - fixed zero denominator issue.
    It still diverges.
    
    Butterfly moded to TestTools. Added a sample with 3d-cube.
    
    * Another compiler error - "no position"
    Will report
    
    * Sammon kind of works, at least on the butterfly example.
    
    Tuned up Sammon. Not sure if it will work as good on other examples.
    Moved visualization to Viz object in ml/dimreduction.
    
    * Sammon dimension reduction.
    
    Added a test case for exact cube; must be solvable.
    
    * Sammon - solved the problem with two projections mapping to the same point.
    
    Since in this case the gradient is zero, we have to twist the point a little bit.
    Twist it in a direction of unit cube vertices around the point.
    
    * Sammon - solved the problem with two projections mapping to the same point.
    
    Since in this case the gradient is zero, we have to twist the point a little bit.
    Twist it in a direction of unit cube vertices around the point.
    
    * Sammon - memory footprint improvement (somehow makes it faster, too)
    
    Also, parallelized. Also, fixed a couple of bugs in parallelization.
    
    * WIP: ml - adding GradientDescentEngine
    
    What we currently have is search along gradient line
    
    * WIP: ml - GradientDescentEngine, tested "search along gradient"
    
    next: switch gradient.
    
    * WIP: ml - GradientDescentEngine, a bunch of tests passes.
    
    TODO: clean up.
    
    * WIP: ml - GradientDescentEngine, a bunch of tests passes.
    
    TODO: clean up.
    
    * ml - GradientDescentEngine, done with it.
    
    * ml - GradientDescentEngine, renamed, error => value
    
    * ml - GradientDescentEngine, restructuring.
    
    Renamed type parameters. State is not a special case of Gradient (physicists know).
    Etc. Just make sure that State is mutable.
    
    * ml - renamed Gradient to Tangent type;
    
    Experimented with immutability. Sucks. Like 10x slower.
    A little bit of type improvement in SKipGramModelTest.
    
    * ml - Sammon dimension reducer now uses the new gradient search.
Commits on Jun 28, 2017
  1. Faster vectors (#15)

    vpatryshev committed Jun 28, 2017
    * Pretty much accelerated linear algebra operations.
    By delegating to primitive Java.
    
    * Pretty much accelerated linear algebra operations.
    By delegating to primitive Java.
    
    * One import warning fixed
  2. Sammon projection (#14)

    vpatryshev committed Jun 28, 2017
    * Added triangular matrix.
    
    Added Sammon dimension reduction. Ok, it does not work.
    Refactored dimension reductions, now they are in a package, dimreduction.
    
    * word2vec, some small refactorings
    
    * Added triangular matrix.
    
    Added Sammon dimension reduction. Ok, it does not work.
    Refactored dimension reductions, now they are in a package, dimreduction.
    
    * word2vec, some small refactorings
    
    * Rebased to master.
    Made sure that dimension reducers work with the new paradigm.
    Got some experience.
    There's still a lot left to do.
    
    * Removed bad files.
    
    * One failing testcase fixed (file size)
    
    * A small script to create branch
Commits on Jun 26, 2017
  1. Sammon projection (#13)

    vpatryshev committed Jun 26, 2017
    * Added triangular matrix.
    
    Added Sammon dimension reduction. Ok, it does not work.
    Refactored dimension reductions, now they are in a package, dimreduction.
    
    * word2vec, some small refactorings
    
    * Added triangular matrix.
    
    Added Sammon dimension reduction. Ok, it does not work.
    Refactored dimension reductions, now they are in a package, dimreduction.
    
    * word2vec, some small refactorings
    
    * Rebased to master.
    Made sure that dimension reducers work with the new paradigm.
    Got some experience.
    There's still a lot left to do.
    
    * Removed bad files.
    
    * One failing testcase fixed (file size)
Commits on Jun 24, 2017
  1. Vector space (#12)

    vpatryshev committed Jun 24, 2017
    * path-dependent version
    
    It does not compile; will parameterize matrices
    
    * path-dependent version
    
    Ok, it won't compile. Path-dependent types won't work in recursive mode. They refer variable name (path), so they are born static.
    
    * word2vec, some small refactorings
    
    * Now the main code does compile.
    
    Next - fix tests.
    
    * VectorTest compiles. Halleluja.
    
    * MatrixTest compiles. Halleluja#2.
    
    * StatsTest compiles. Halleluja#3.
    
    * All linear algebra except PCA tests compile.
    
    TODO: PCATest.
    
    * All linear algebra except PCA tests compile.
    
    TODO: PCATest.
    
    * Scala compiler error.
    
    * Temporary rollback.
    
    * Restored an almost broken version.
    
    So, everything compiles; VectorTest passes, others don't.
    
    * Matrix test passes.
    
    * All existing linear algebra tests are passing.
    Have to add more tests.
    
    * Fixed VectorSpace test coverage. Everything's covered now there.
    
    * Fixed coverage for the whole la package.
    
    * Final touch. Cleaned up as much as I could. Will merge.
Commits on Jun 22, 2017
  1. just updated a description

    vpatryshev committed Jun 22, 2017
Commits on Jun 8, 2017
  1. ML, Word2Vec

    vpatryshev committed Jun 8, 2017
    Some speed improvements in Vector. Using pattern matching; abandoned attempts to use typeclasses. Odersky's discussions convinced me.
Commits on Jun 7, 2017
Commits on Jun 5, 2017
  1. LA, word2vec:

    vpatryshev committed Jun 5, 2017
    final cleanup
  2. LA, word2vec:

    vpatryshev committed Jun 5, 2017
    Vector - fixed sup()
    Strings - fixed normalization
    added a test for Strings
    Fixed rendering in SkipGramModelTest
    Vectors are normalized and serialized as ints now (less bytes)
  3. LA, word2vec:

    vpatryshev committed Jun 5, 2017
    Vector - fixed sup()
    Strings - fixed normalization
    added a test for Strings
    Fixed rendering in SkipGramModelTest
    Vectors are normalized and serialized as ints now (less bytes)
  4. Oops, minor typos

    vpatryshev committed Jun 5, 2017
  5. Added affine transforms to linear algebra.

    vpatryshev committed Jun 5, 2017
    And some transforms.
Commits on Jun 4, 2017
Commits on Jun 3, 2017
  1. Using MutableVector along with immutable.

    vpatryshev committed Jun 3, 2017
    There's still a lot to fix, since something in the trait does not work properly.
Commits on Jun 2, 2017
  1. Introduced MutableVector (and making the main one virtual)

    vpatryshev committed Jun 2, 2017
    Added NormTest. Norm-related functionality moved to Norm (mostly; wip)
    WIP
Commits on May 31, 2017
  1. Merge pull request #10 from vpatryshev/split2modules

    vpatryshev committed May 31, 2017
    Split2modules
  2. Fixed MoreExpectations.scala

    vpatryshev committed May 31, 2017
    (problems with import, I guess)
Commits on May 30, 2017
  1. Split the project into two modules

    vpatryshev committed May 30, 2017
    core is where everything trustworthy is
    experiments is where experimental stuff is, including some ML
Commits on May 29, 2017
Commits on May 27, 2017
  1. Merge pull request #9 from vpatryshev/word2vec

    vpatryshev committed May 27, 2017
    Word2vec
  2. Word2Vec progress

    vpatryshev committed May 27, 2017
    last unittests failures fixed
  3. Word2Vec progress

    vpatryshev committed May 27, 2017
    More or less done with WarAndPeace