Category Archives: Machine Learning

Phil 1.16.18

7:00 – 5:00 ASRC NASA

  • Starting to take a deep look at Slack as another Antibubbles RPG dungeon. From yesterday’s post
    • You can download conversations as JSON files, and I’d need to build (or find) a dice bot.
    • Created Antibubbles.slack.com
    • Ok, getting at the data is trivial. An admin can just go to antibubbles.slack.com/services/export. You get a nice zip file that contains everything that you need to reconstruct users and conversations: slack
    • The data is pretty straightforward too. Here’s the JSON file that has my first post in test-dungeon-1:
      {
              "client_msg_id": "41744548-2c8c-4b7e-b01a-f7cba402a14e",
              "type": "message",
              "text": "SUBJECT: dungeon_master1's introduction to the dungeon\n\tPOST: dungeon_master1 says that you are about to take on a 3-room linear dungeon.",
              "user": "UFG26JUS3",
              "ts": "1547641117.000400"
          }

      So we have the dungeon (the directory/file), unique id for message and user, the text and a timestamp. I’m going to do a bit more reading and then look into getting the Chat & Slash App.

    • Looking at the Workspace Admin page. Trying to see where the IRB can be presented.
  • More work on getting the historical data put into a reasonable format. Put together a spreadsheet with the charts for all permutations of fundcode/project/contractfor discussion tomorrow.
  • Updated the AI for social good proposal. Need to get the letter signed by mayself and Aaron tomorrow.
  • Pytorch tutorial, with better variable names than usual

Phil 1.15.19

7:00 – 3:00 ASRC NASA

  • Cool antibubbles thing: artboard 1
  • Also, I looked into a Slack version of Antibubbles. You can download conversations as JSON files, and I’d need to build (or find) a dice bot.
  • Fake News, Real Money: Ad Tech Platforms, Profit-Driven Hoaxes, and the Business of Journalism
    • Following the viral spread of hoax political news in the lead-up to the 2016 US presidential election, it’s been reported that at least some of the individuals publishing these stories made substantial sums of money—tens of thousands of US dollars—from their efforts. Whether or not such hoax stories are ultimately revealed to have had a persuasive impact on the electorate, they raise important normative questions about the underlying media infrastructures and industries—ad tech firms, programmatic advertising exchanges, etc.—that apparently created a lucrative incentive structure for “fake news” publishers. Legitimate ad-supported news organizations rely on the same infrastructure and industries for their livelihood. Thus, as traditional advertising subsidies for news have begun to collapse in the era of online advertising, it’s important to understand how attempts to deal with for-profit hoaxes might simultaneously impact legitimate news organizations. Through 20 interviews with stakeholders in online advertising, this study looks at how the programmatic advertising industry understands “fake news,” how it conceptualizes and grapples with the use of its tools by hoax publishers to generate revenue, and how its approach to the issue may ultimately contribute to reshaping the financial underpinnings of the digital journalism industry that depends on the same economic infrastructure.
  • The structured backbone of temporal social ties
    • In many data sets, information on the structure and temporality of a system coexists with noise and non-essential elements. In networked systems for instance, some edges might be non-essential or exist only by chance. Filtering them out and extracting a set of relevant connections is a non-trivial task. Moreover, mehods put forward until now do not deal with time-resolved network data, which have become increasingly available. Here we develop a method for filtering temporal network data, by defining an adequate temporal null model that allows us to identify pairs of nodes having more interactions than expected given their activities: the significant ties. Moreover, our method can assign a significance to complex structures such as triads of simultaneous interactions, an impossible task for methods based on static representations. Our results hint at ways to represent temporal networks for use in data-driven models.
  • Brandon RohrerData Science and Robots
  • Physical appt?
  • Working on getting the histories calculated and built
    • Best contracts are: contract 4 = 6, contract 5 = 9,  contract 12 = 10, contract 18 = 140
    • Lots of discussion on how exactly to do this. I think at this point I’m waiting on Heath to pull some new data that I can then export to Excel and play with to see the best way of doing things

Phil 1.14.19

7:00 – 5:00 ASRC NASA

  • Artificial Intelligence in the Age of Neural Networks and Brain Computing
    • Artificial Intelligence in the Age of Neural Networks and Brain Computing demonstrates that existing disruptive implications and applications of AI is a development of the unique attributes of neural networks, mainly machine learning, distributed architectures, massive parallel processing, black-box inference, intrinsic nonlinearity and smart autonomous search engines. The book covers the major basic ideas of brain-like computing behind AI, provides a framework to deep learning, and launches novel and intriguing paradigms as future alternatives.
  • Sent Aaron Mannes the iConference and SASO papers
  • Work on text analytics
    • Extract data by groups, group, user and start looking at cross-correlations
      • Continued modifying post_analyzer.py
      • Commenting out TF-IDF and coherence for a while?
  • Registered for iConference
  • Renew passport!
  • Current thinking on the schema. db_diagram
  • Making progress on the python to write lineitems and prediction history entries
  • Meeting with Don
    • Got most of the paperwork in line and then went over the proposal. I need to make changes to the text based on Don’t suggestions

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.24.18

PhD 7:00 – 3:00

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.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.