Category Archives: Python

Phil 1.10.19

7:00 – 4:00 ASRC

  • The fragility of decentralised trustless socio-technical systems
    • The blockchain technology promises to transform finance, money and even governments. However, analyses of blockchain applicability and robustness typically focus on isolated systems whose actors contribute mainly by running the consensus algorithm. Here, we highlight the importance of considering trustless platforms within the broader ecosystem that includes social and communication networks. As an example, we analyse the flash-crash observed on 21st June 2017 in the Ethereum platform and show that a major phenomenon of social coordination led to a catastrophic cascade of events across several interconnected systems. We propose the concept of “emergent centralisation” to describe situations where a single system becomes critically important for the functioning of the whole ecosystem, and argue that such situations are likely to become more and more frequent in interconnected socio-technical systems. We anticipate that the systemic approach we propose will have implications for future assessments of trustless systems and call for the attention of policy-makers on the fragility of our interconnected and rapidly changing world.
  • Realized this morning that the weight matrix is a connectivity matrix between the neurons. That means that there are some very interesting things that we could do with partially connected layers. Sending signals just to adjacent downstream nodes in 2D – nD
  • More DNN post. Need to incorporate neuron graphs with the weight graphs, and update the sections of code about graphing. Done! And yet, somehow I’m still tweaking…
  • Working on the NoI. It’s a grind… Done? Sent off to John D.
  • Back to Docker
    • docker build -t friendlyhello . # Create image using this directory’s Dockerfile
    • docker run -p 4000:80 friendlyhello # Run “friendlyname” mapping port 4000 to 80
    • docker run -d -p 4000:80 friendlyhello # Same thing, but in detached mode
    • docker container ls # List all running containers docker container ls -a # List all containers, even those not running
    • docker container stop <hash> # Gracefully stop the specified container
    • docker container kill <hash> # Force shutdown of the specified container
    • docker container rm <hash> # Remove specified container from this machine
    • docker container rm $(docker container ls -a -q) # Remove all containers
    • docker image ls -a # List all images on this machine
    • docker image rm <image id> # Remove specified image from this machine
    • docker image rm $(docker image ls -a -q) # Remove all images from this machine
    • docker login # Log in this CLI session using your Docker credentials
    • docker tag <image> username/repository:tag # Tag <image> for upload to registry
    • docker push username/repository:tag # Upload tagged image to registry
    • docker run username/repository:tag # Run image from a registry
  • Ok, let’s see how to integrate with IntelliJ – Nope, reworking the data structures for better queries (and best practices as well). Sigh.

Phil 1.9.18

ASRC NASA(?) 7:00 – 6:30

  • Selective Exposure to Misinformation: Evidence from the consumption of fake news during the 2016 U.S. presidential campaign
    • Though some warnings about online “echo chambers” have been hyperbolic, tendencies toward selective exposure to politically congenial content are likely to extend to misinformation and to be exacerbated by social media platforms. We test this prediction using data on the factually dubious articles known as “fake news.” Using unique data combining survey responses with individual-level web trac histories, we estimate that approximately 1 in 4 Americans visited a fake news website from October 7-November 14, 2016. Trump supporters visited the most fake news websites, which were overwhelmingly pro-Trump. However, fake news consumption was heavily concentrated among a small group — almost 6 in 10 visits to fake news websites came from the 10% of people with the most conservative online information diets. We also find that Facebook was a key vector of exposure to fake news and that fact-checks of fake news almost never reached its consumers.
  • Need to write justifications for Don – Done
  • More DNN from scratch
    • Added plotting of neurons converging to values. Now I need to change the writeup
  • Aaron’s sick. Not sure what the task for today should be. Antibubbles?
  • Downloading and installing Docker
    • Has to run as admin
    • Got Hello world running after getting this error:
      • C:\Windows\System32>docker run hello-world
      • docker: error during connect: Post http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.39/containers/create: open //./pipe/docker_engine: The system cannot find the file specified. In the default daemon configuration on Windows, the docker client must be run elevated to connect. This error may also indicate that the docker daemon is not running.
      • See ‘docker run –help’.
    • You have to run the “Docker” app
    • Created a “Hello World” in python and containerized it. It runs!
    • Had to set up virtualization on the laptop
  • Connected to the ASRC gitlab and set up the IDE to use it
  • Write up a 250 word Notice of Intent
    • Notice of Intent (NOI) to Propose Material in a NOI is confidential and will be used for NASA planning purposes only, unless otherwise stated in the FA. An NOI is submitted by logging into NSPIRES at http://nspires.nasaprs.com. Space is provided for the applicant to provide, at a minimum, the following information, although additional special requests may also be indicated:
      • A Short Title of the anticipated proposal (50 characters or less); 7
      • A Full Title of the anticipated proposal (which should not exceed 254 characters and is of a nature that is understandable by a scientifically trained person);
      • A brief description of the primary research area(s) and objective(s) of the anticipated work (the information in this item does not constrain in any way the proposal summary that must be submitted with the final proposal); and
      • The names of any Co-Is and/or Collaborators as known at the time the NOI is submitted. In order to enter these names those team members must have previously accessed and registered in NSPIRES themselves; a Principle Investigator (PI) cannot do this for them. 
  • Meeting with Shimei. Long! Discussed the NN code, RPGs and D&D, mapmaking
    • Send list of map quality markers from dissertation
    • Send some links about D&D and Play-by-post

Phil 1.8.18

7:00 – ASRC NASA

  • Software meeting at 9:00 in Beltsville
    • Products group
    • Attach an adder to the overhead?
    • 12.5% per bill on contract, so 10 contracts support one person
    • Currently covered for 3 months
    • AIMS 2019, TACLAMBDA have been approved (for the next 3 months?)
    • $300k from corporate across all groups.
    • Tasking for the next three months
    • Taking 2 modules out of A2P and making them compatible with AIMS.
    • Erik Velte runs TACLAMBDA
    • Evaluate the modules within A2P and migrate to TACLAMBDA (90% phil)
    • Some kind of machine learning for visa applications (RFP)?
    • Machine learning BAA?
    • We’re all ASTS, with TS signed by Eric/T
    • JPSS/NPP – changing from instrument data to telemetry
  • Sprint planning Meeting
  • Working on nn blog post

Phil 1.7.19

7:00 – 5:00 ASRC

  • Call Tim – The week looks dry
  • Schedule Physical – try tomorrow?
  • Continue with A guided tour through a dirt-simple “deep” neural network. Finished learning, started graphing
  • Downloaded the latest antibubbles and ran processing
  • More financial forecasting?
  • Sprint review?
    • Prepping by adding in all the things that I wound up doing
  • Worked on getting Aaron’s code working, which required installing MSVC 2017 which required me redistributing apps to clear up space on the SSD drive.

Phil 1.4.19

7:00 – 5:30 ASRC NASA

  • Ping Shimei – Tuesday at 4:00
  • Ping Don – Wednesday at 4:00
  • Hammerhead – print shipping label. Use Karoo box on bookshelf
  • Antibubbles is coming along really well. If Saturday is really going to be a rainy day, maybe get started on the PHP story code? Note: Check in the html source how pictures are referenced
  • Try changing the error chart so that each sample is a seperate line (along with the average?) Done. I like this a lot! outputerror
  • Walk through SimpleLayer in the order that it’s used
    • Creation
    • Training
    • Learning
    • Graphing
  • Beat on the prediction plumbing with Aaron. The parts that collect the error and produce a forecast are there, but not working right?

Phil 1.3.19

7:00 – 5:30 ASRC NASA

  • Realized that error calculation for Holt can simply be error from the horizontal line from each prediction. There would be a distribution for T-1, T-2, T-3 … T-n. Later, when we get fancy, we can use the phi curve. So dumb.
  • Continuing my deep neural network writeup
  • Continuing Holt-Winters work with Aaron – probability distributions!
    • Ok, I think I’ve got this stupid thing figured out. Below is a screenshot of the table of predictions. These predictions are based on applying exponential smoothing to a history of sine waves:
      • sinewaves
    • The table consists of a set of predictions and their observed values (not sure why the time steps in the column on the left are duplicated. Need to fix that:
      • predictions
    • I can then make a table that contains each prediction as a line stretching into the future:
      • populations
    • This “population of prediction errors” can then be used to calculate the amount of error in our forecast:
      • charts
    • This will work for any of the prediction schemes. We just have to store all predictions and observed.
    • Here’s the spreadsheet: ExponentialSmoothing2
  • Ping Shimei – campus closed
  • Ping Don – campus closed
  • Hammerhead 

 

Phil 1.2.19

Gotta get used to writing dates

7:00 – 5:00 ASRC PhD NASA

  • Continuing my deep neural network writeup
  • Continuing Holt-Winters work with Aaron
  • Continuing to read Clockwork Muse
    • Martindale spends the book talking about poetry, but I’m listening to Kind of Blue right now and I realize that Jazz is similar. The thought leaders are in some state where they are paying attention to each other and not much else. That’s how we get a trajectory that leads to Bitches Brew.
    • I think this is probably a generally applicable pattern. The thing that I need to think through is how a small group of highly creative people in what could be described as an echo-ish chamber differs from mass activity in a large attractor like authoritarianism.
    • We want to know how many dimensions are needed to account for the similarities among poets. Fortunately, once we have correlated all of the poets with one another, a procedure called multidimensional scaling will tell us just this.* Multidimensional scaling tells us that the twenty-one French poets differ along three· main dimensions. These three dimensions account for 94 percent of the similarity matrix. (Page 114)
  • I have spent the day doing PHENOMENALLY STUPID MATH (Holt exponential smoothing with drecksnest damping). Excel file: ExponentialSmoothing2

Phil 12.31.18

7:00 – 4:30 ASRC NASA

  • Set up appt for physical
  • This is fabulous! Seeing Theory
    • Seeing Theory was created by Daniel Kunin while an undergraduate at Brown University. The goal of this website is to make statistics more accessible through interactive visualizations (designed using Mike Bostock’s JavaScript library D3.js).
  • Working on cleaning up and validating my Very Simple Perceptron class. I think I’m going to write the whole thing up as its own blog post
  • Why Trump Reigns as King Cyrus
    • This isn’t the religious right we thought we knew. The Christian nationalist movement today is authoritarian, paranoid and patriarchal at its core. They aren’t fighting a culture war. They’re making a direct attack on democracy itself.

 

Phil 12.21.18

7:00 – 4:30 ASRC PhD/NASA/NOAA

  • Spatial Representations in the Human Brain
    • While extensive research on the neurophysiology of spatial memory has been carried out in rodents, memory research in humans had traditionally focused on more abstract, language-based tasks. Recent studies have begun to address this gap using virtual navigation tasks in combination with electrophysiological recordings in humans. These studies suggest that the human medial temporal lobe (MTL) is equipped with a population of place and grid cells similar to that previously observed in the rodent brain. Furthermore, theta oscillations have been linked to spatial navigation and, more specifically, to the encoding and retrieval of spatial information. While some studies suggest a single navigational theta rhythm which is of lower frequency in humans than rodents, other studies advocate for the existence of two functionally distinct delta–theta frequency bands involved in both spatial and episodic memory. Despite the general consensus between rodent and human electrophysiology, behavioral work in humans does not unequivocally support the use of a metric Euclidean map for navigation. Formal models of navigational behavior, which specifically consider the spatial scale of the environment and complementary learning mechanisms, may help to better understand different navigational strategies and their neurophysiological mechanisms. Finally, the functional overlap of spatial and declarative memory in the MTL calls for a unified theory of MTL function. Such a theory will critically rely upon linking task-related phenomena at multiple temporal and spatial scales. Understanding how single cell responses relate to ongoing theta oscillations during both the encoding and retrieval of spatial and non-spatial associations appears to be key toward developing a more mechanistic understanding of memory processes in the MTL.
  • Three Kinds of Spatial Cognition
    • Nora S. Newcombe (Scholar)
    • Spatial cognition is often (but wrongly) conceptualized as a single domain of cognition. However, humans function in more than one way in the spatial world. We navigate, as do all mobile animals, but we also manipulate objects using distinctive hands with opposable thumbs, unlike other species. In fact, an important characteristic of human adaptation is the ability to invent tools. Of course, another central asset is human symbolic ability, which includes the ability to spatialize thought in abstractions such as maps, graphs, and analogies. Thus, there are at least three kinds of spatial cognition with three separable functions. Navigation involves moving around the environment to find food and shelter, and to avoid danger. It draws on several interconnected neural subsystems that track movement and encode the location of external entities with respect to each other and the moving self (i.e., extrinsic coding), and it integrates these inputs to achieve best‐possible estimates. Human navigation is characterized by a great deal of individual variation. Tool use and invention involves the mental representation and transformation of the shapes of objects (i.e., intrinsic coding). It relies on substantially different neural subsystems than navigation. Like navigation, it shows marked individual differences, which are related to variations in learning in science, technology, engineering, and mathematics (STEM). Spatialization is an aspect of human symbolic skill that cuts across multiple cognitive domains and involves many kinds of spatial symbol systems, including language, metaphor, analogy, gesture, sketches, diagrams, graphs, maps, and mental images. These spatial symbol systems are vital to many kinds of learning, including in STEM. Future research on human spatial cognition needs to further delineate the origins, development, neural substrates, variability, and malleability of navigation, tool use, and abstract spatial thinking, as well as their interconnections to each other and to other cognitive skills.
  • A little bit adding to Normal Accidents notes
  • Working on saving out to history and item table
  • Turns out that if you want to retrieve floats from a postgres table using psycopg2, you have to register a custom handler:
    DEC2FLOAT = psycopg2.extensions.new_type(
        psycopg2.extensions.DECIMAL.values,
        'DEC2FLOAT',
        lambda value, curs: float(value) if value is not None else None)
    psycopg2.extensions.register_type(DEC2FLOAT)
  • Learned about dollar-quoting as per https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-DOLLAR-QUOTING
  • To execute big inserts with psycopg2, you need to set autocommit = True
    self.conn = psycopg2.connect(config_str)
    self.conn.autocommit = True
  • And you should use try/catch
    def query_no_result(self, sql: str) -> bool:
        try:
            self.cursor.execute(sql)
            desc = self.cursor.statusmessage
            return True
        except:
            print("unable to execute: {}".format(sql))
            return False

 

Phil 12.20.18

7:00 – 4:00 ASRC NASA/PhD

  • Goal-directed navigation based on path integration and decoding of grid cells in an artificial neural network
    • As neuroscience gradually uncovers how the brain represents and computes with high-level spatial information, the endeavor of constructing biologically-inspired robot controllers using these spatial representations has become viable. Grid cells are particularly interesting in this regard, as they are thought to provide a general coordinate system of space. Artificial neural network models of grid cells show the ability to perform path integration, but important for a robot is also the ability to calculate the direction from the current location, as indicated by the path integrator, to a remembered goal. This paper presents a neural system that integrates networks of path integrating grid cells with a grid cell decoding mechanism. The decoding mechanism detects differences between multi-scale grid cell representations of the present location and the goal, in order to calculate a goal-direction signal for the robot. The model successfully guides a simulated agent to its goal, showing promise for implementing the system on a real robot in the future.
  • Path integration and the neural basis of the ‘cognitive map’
    • Accumulating evidence indicates that the foundation of mammalian spatial orientation and learning is based on an internal network that can keep track of relative position and orientation (from an arbitrary starting point) on the basis of integration of self-motion cues derived from locomotion, vestibular activation and optic flow (path integration).
    • Place cells in the hippocampal formation exhibit elevated activity at discrete spots in a given environment, and this spatial representation is determined primarily on the basis of which cells were active at the starting point and how far and in what direction the animal has moved since then. Environmental features become associatively bound to this intrinsic spatial framework and can serve to correct for cumulative error in the path integration process.
    • Theoretical studies suggested that a path integration system could involve cooperative interactions (attractor dynamics) among a population of place coding neurons, the synaptic coupling of which defines a two-dimensional attractor map. These cells would communicate with an additional group of neurons, the activity of which depends on the conjunction of movement speed, location and orientation (head direction) information, allowing position on the attractor map to be updated by self-motion information.
    • The attractor map hypothesis contains an inherent boundary problem: what happens when the animal’s movements carry it beyond the boundary of the map? One solution to this problem is to make the boundaries of the map periodic by coupling neurons at each edge to those on the opposite edge, resulting in a toroidal synaptic matrix. This solution predicts that, in a sufficiently large space, place cells would exhibit a regularly spaced grid of place fields, something that has never been observed in the hippocampus proper.
    • Recent discoveries in layer II of the medial entorhinal cortex (MEC), the main source of hippocampal afferents, indicate that these cells do have regularly spaced place fields (grid cells). In addition, cells in the deeper layers of this structure exhibit grid fields that are conjunctive for head orientation and movement speed. Pure head direction neurons are also found there. Therefore, all of the components of previous theoretical models for path integration appear in the MEC, suggesting that this network is the core of the path integration system.
    • The scale of MEC spatial firing grids increases systematically from the dorsal to the ventral poles of this structure, in much the same way as is observed for hippocampal place cells, and we show how non-periodic hippocampal place fields could arise from the combination of inputs from entorhinal grid cells, if the inputs cover a range of spatial scales rather than a single scale. This phenomenon, in the spatial domain, is analogous to the low frequency ‘beats’ heard when two pure tones of slightly different frequencies are combined.
    • The problem of how a two-dimensional synaptic matrix with periodic boundary conditions, postulated to underlie grid cell behaviour, could be self-organized in early development is addressed. Based on principles derived from Alan Turing’s theory of spontaneous symmetry breaking in chemical systems, we suggest that topographically organized, grid-like patterns of neural activity might be present in the immature cortex, and that these activity patterns guide the development of the proposed periodic synaptic matrix through a mechanism involving competitive synaptic plasticity.
  • Wormholes in virtual space: From cognitive maps to cognitive graphs
    • Cognitive maps are thought to have a metric Euclidean geometry.
    • Participants learned a non-Euclidean virtual environment with two ‘wormholes’.
    • Shortcuts reveal that spatial knowledge violates metric geometry.
    • Participants were completely unaware of the wormholes and geometric inconsistencies.
    • Results contradict a metric Euclidean map, but support a labelled ‘cognitive graph’.
  • Back to TimeSeriesML
    • Encryption class – done
      • Create a key and save it to file
      • Read a key in from a file into global variable
      • Encrypt a string if there is a key
      • Decrypt a string if there is a key
    • Postgres class – reading part is done
      • Open a global connection and cursor based on a config string
      • Run queries and return success
      • Fetch results of queries as lists of JSON objects

Phil 12.19.18

7:00 – 4:30 ASRC PhD/NASA

  • I think the IEEE paper with Antonio should be something on the math behind diversity/chaos <-> ensembles <-> hierarchies/stampedes
  • Continuing with Normal Accidents
  • Thinking about costly signalling (economics, and more generally) WRT stampede theory. It’s a form of friction. Proof-of-work could be adaptively added to a system to inhibit stampedes?
    • In contract theorysignalling is the idea that one party (termed the agent) credibly conveys some information about itself to another party (the principal). For example, in Michael Spence’s job-market signalling model, (potential) employees send a signal about their ability level to the employer by acquiring education credentials. The informational value of the credential comes from the fact that the employer believes the credential is positively correlated with having greater ability and difficult for low ability employees to obtain. Thus the credential enables the employer to reliably distinguish low ability workers from high ability workers.
  • Tweak optimizer. Change callback method to replace_with_your_method(), and add some documentation on how to use the classes
  • Move clustering paper to LaTex folder – done!
  • Pinged Antonio about the new paper ideas
  • More predictive analytics? Kind of – setting up to read and write out time series to db
  • Upgrading my postgreSQL, to read/write from a table
    • Installed drivers and python packages
    • Reading and writing in the IDE
      • Created and populated a dummy data table
    • Reading in python. Writing is next
  • I was thinking that if we run out of D&D data for other map configurations, that I can use the current data with some repurposing (replace orc with xxx) to create conversations about other environments using human speech. Kind of like PCA for DNA.

Phil 12.17.18

7:00 – 4:30 ASRC NASA/PhD

  • Ted Radio Hour interview with Margaret Heffernan, who spoke about her book, Willful Blindness:
    • “Companies that have been studied for willful blindness can be asked questions like, are there issues at work that people are afraid to raise? And when academics have done studies like this of corporations in the United States, what they find is 85 percent of people say yes. Eighty-five percent of people know there’s a problem, but they won’t say anything. And when I duplicated the research in Europe, asking all the same questions, I found exactly the same number. And what’s really interesting is that when I go to companies in Switzerland, they tell me this is a uniquely Swiss problem. And when I go to Germany, they say, oh yes, this is the German disease. And when I go to companies in England they say, oh yeah, the British are really bad at this. And the truth is, this is a human problem. We’re all, under certain circumstances, willfully blind.”
    • I’ve been thinking about this a lot because when I say, well, why don’t people speak up? What I get is, oh, it’s the culture. And I think, well, what is the culture? The culture is the accumulation of everybody’s actions. And in many of the organizations I work with, change starts in very unexpected places because people just decide, I want to do this or I want to try this. And then they discover they don’t get shot. And then they discover that, actually, now, they’ve got a really exciting project. You know, I think the most dangerous thing in organizations is silence. It’s all those brains whizzing around full of observations and insight and ideas that are not being articulated.
    • I think that that the 15% who do speak out are Nomads. They are mis-aligned with the culture and as such it’s 1) Easier to see problems and solutions. 2) an inability to not behave independently.
  • Bayesian Layers: A Module for Neural Network Uncertainty
    • We describe Bayesian Layers, a module designed for fast experimentation with neural network uncertainty. It extends neural network libraries with layers capturing uncertainty over weights (Bayesian neural nets), pre-activation units (dropout), activations (“stochastic output layers”), and the function itself (Gaussian processes). With reversible layers, one can also propagate uncertainty from input to output such as for flow-based distributions and constant-memory backpropagation. Bayesian Layers are a drop-in replacement for other layers, maintaining core features that one typically desires for experimentation. As demonstration, we fit a 10-billion parameter “Bayesian Transformer” on 512 TPUv2 cores, which replaces attention layers with their Bayesian counterpart.
  • Continuing with Normal Accidents
  • Nice interactive on disinformation on Twitter
  • The universal decay of collective memory and attention
    • Collective memory and attention are sustained by two channels: oral communication (communicative memory) and the physical recording of information (cultural memory). Here, we use data on the citation of academic articles and patents, and on the online attention received by songs, movies and biographies, to describe the temporal decay of the attention received by cultural products. We show that, once we isolate the temporal dimension of the decay, the attention received by cultural products decays following a universal biexponential function. We explain this universality by proposing a mathematical model based on communicative and cultural memory, which fits the data better than previously proposed log-normal and exponential models. Our results reveal that biographies remain in our communicative memory the longest (20–30 years) and music the shortest (about 5.6 years). These findings show that the average attention received by cultural products decays following a universal biexponential function.
  • Zach walkthough
    • Yarn Workspaces
    • NextJS – Tools for developing React Apps – check the github repo to see, for example, how to roll your own web server
    • REACT hooks api
  • Got the basic recursion piece of the optimizer working right. Works for ints, floats, and strings:
    def cascading_step(self):
        self.cur_val = self.range_array[self.index]
        print("{} cur_val = {}".format(self.name, self.cur_val))
    
        child_complete = True
        if self.child:
            child_complete = self.child.cascading_step()
    
        if child_complete:
            self.index += 1
            if self.index >= len(self.range_array):
                self.index = 0
                return True
        return False
  • And here’s the first working test:
    v3 cur_val = v3_0
    v2 cur_val = v2_0
    v1 cur_val = v1_0
    step 0 -----------
    v3 cur_val = v3_0
    v2 cur_val = v2_0
    v1 cur_val = v1_1
    step 1 -----------
    v3 cur_val = v3_0
    v2 cur_val = v2_0
    v1 cur_val = v1_2
    step 2 -----------
    v3 cur_val = v3_0
    v2 cur_val = v2_0
    v1 cur_val = v1_3
    step 3 -----------
    v3 cur_val = v3_0
    v2 cur_val = v2_1
    v1 cur_val = v1_0

     

Phil 12.14.18

7:00 – 4:30 ASRC PhD/NASA

  • Sent Greg a couple of quick notes on using CNNs to match bacteria to phages.
  • Continuing with Normal Accidents
  • A Digital Test of the News: Checking the Web for Public Facts – Workshop report, December 2018
    • The Digital Test of the News workshop brought together digital sociologists, data visualisation and new media researchers at the Centre for Interdisciplinary Methodologies at the University of Warwick on 8 and 9 May 2018. The workshop is part of a broader research collaboration between the Centre for Interdisciplinary Methodologies and the Public Data Lab which investigates the changing nature of public knowledge formation in digital societies and develops inventive methods to capture and visualise knowledge dynamics online. Below we outline the workshop’s aims and outcomes.
  • Added plots to the NN code. Everything seems to look right. Looking at the individual weights in a layer is very informative. Need to add this kind of plotting to our keras code somehow:
  • Changing the coherence code so that the row values are zero or one. Actually, as the amount of data grows, BOW is getting more useful raw. This spreadsheet shows all posts, including the DM. Note that the word frequency is power law (R squared = .9352): All_posts
  • Started the optimizer and excel utils classes
  • NOAA meeting
  • NOAA meeting 2
  • Some thoughts from Aaron on our initial ML approach
    • I think for the first pass we do 1-2 models based on contract type focused on the $500k+ award contracts (120ish total).
    • We construct the inputs like sentences in the word generation LSTM with padded lengths equal to the longest running contract of that type, sorted by length. The model can be tested against current contracts held out in a test set using point by point prediction so we can show accuracy of the model against existing data and use that to set our accuracy threshold.
    • My guess is this will be at least an ORF/PAC model (two different primary contract types) which we can work on tuning with the learning_optimizer.py to get as accurate as possible in the timeframe we have.
    • One of the things we advertise as “next steps” is a detailed analysis of contracts based on similarity measures to identify a series of more accurate models. We can pair this with additional models such as Exponential Smoothing and ARIMA which use fundamentally the exact same pipeline.
    • The GUI will be plumbed up to show these analytic outputs on a per contract basis and we can show by the end of January a simple linear model and the LSTM model to demonstrate how Exponential Smoothing / ARIMA or model averages could be displayed. Once we have these outputs we can take the top 5 highest predicted UDO and display in a summary page so they can use those as a launching off point.
    • If we do it this way it means we only have to focus on the completion of TimeSeriesML LSTM and it’s data pipeline with a maximum of 2 initial models (contract type). I think that is a far more reasonable thing to complete in the timeframe and should still be really exciting to show off.

Phil 12.12.18

7:00 – 4:30 ASRC NASA/PhD

  • Do a dungeon analytic with new posts and DM for Aaron – done!
  • Send email to Shimei for registration and meeting after grading is finished
  • Start review of Normal Accidents – started!
  • Debug NN code – in process. Very tricky figuring out the relationships between the layers in backpropagation
  • Sprint planning
  • NASA meeting
  • Talked to Zach about the tagging project. Looks good, but I wonder how much time we’ll have. Got a name though – TaggerML