Monday, September 23, 2019

Machine Learning Decision Tree w Bagging Implementation

https://docs.google.com/document/d/1dw_kCWJv_WjaM9C-3Hvuna2rREuLzHWOajnhppyGpp0/edit?usp=sharing

This week I've implemented a decision tree algorithm that splits upon correlation creates a regressor based upon an input set of training data. I've also implemented bagging that uses randomized datasets with replacement to smooth out potential overfitting problems over many trees.

Monday, September 9, 2019

Machine Learning Stock Portfolio Optimization in Python





This week in Machine Learning for Trading I've implemented an optimizer using SciPy that takes any number of stock symbols and most effectively allocates one's portfolio among the provided options based upon previous data in a given date range. The metric for evaluating the profitability of a portfolio is based upon the Sharpe Ratio, which adjusts a stock's income against its risk.

What is the Sharpe ratio and how is it used? | IG AU

This work correlates to work I'd done using optimizers to find the optimal behavior for a multi-agent system in the Reinforcement Learning class.

Wednesday, August 28, 2019

Machine Learning Water Turret Pest Deterrent

Here are some pictures of the 3D printed turret I've been working on. It can identify and track targets by adjusting the servos and then activate a water jet by using the solenoid valve controller. It uses Tensorflow using ImageNet custom compiled for Raspberry Pi 3B+. The hull was printed with a hand-constructed Anet A6 3D printer. The hull was designed in FreeCAD. More soon!

Sunday, July 28, 2019

Wednesday, March 7, 2018

VBT Update 3/7/18

(Click to enlarge)

The tree's editor has been connected to the backend and is at last, functioning! The agent loads the tree, and runs the given behavior.

Completed:
  • Serializes/deserializes tree to/from JSON
  • Rewrote Blackboard to serialize correctly
  • Make agents use singular static reference to given tree, using their own blackboard variables
    • Manager determines loading and unloading of tree instances
  • Rewrote much of tree editor
  • Wrote and tested logic for composites, decorators, and actions. Subtree action included and correctly loads and uses tree within tree.
Up Next:

  • More actions and composites
  • Testing in builds
  • More editor debugging features
  • Improve UI / usability
  • Ultimately, use to design AI for an indie game

Saturday, February 24, 2018

VBT Update 2/24/18

I've been hard at work getting the editor linked up to the agent tree. 

  • The tree itself will be a static reference that all agents can use a single instance of- so you can have 1000 agents and you'll only have to duplicate their local variables, not all the tree stuff.
  • I've focused on doing some neat reflection magic in editor to make adding new behaviors easy.
  • The editor and agent behavior is still totally separated so that when building to platforms, all of the editor based code is stripped. In editor however, they link into each other so you can make changes to agent behavior on the fly.
  • I've switched JSON from CSV, and to serializing/deserializing classes using the Newtonsoft .NET JSON lib. This solution seems far more sustainable and easier once the initial groundwork is laid. Serialize() & Deserialize(). ez.
I'm currently in that dark tunnel of code wherein you depart with a map and hope to emerge on the other side with the glorious treasure of a new set of features. Wish me luck ; )


In the meantime, I'd dug up the bits of the OST that I'd done for the roguelike Deathstate (on Steam) and realized I'd never posted that so give it a spin!