Research
I was exploring the research and field of Machine Learning as it is a very interesting career field with a lot of future potential. Immediately I began thinking if these algorithms and predictions can be put to use in the stock market. I was unsure of this at the start so I began researching this and I found out that there are actually ways that I can use machine learning to help me predict the future trends of the stocks. This article explains many ways we can use predictive analytics, a component of machine learning, to predict trends of the stocks.
The author showed off an example in the article about himself using it as well but I will explain that later. However, I answered my biggest question so far, can machine learning be used in the stock market. The answer to this question is a confident yes but the help is not as drastic as I had originally thought. This is fine, I don’t mind having to do the work but the quality of my algorithmic writing is going to determine how much money I can reap off of ML predictions. Trading in the past used to take a very long time as one would have to research the company and then place an order to a broker over the phone and then he would buy it for that person. Nowadays, it is not like that as apps such as Robinhood exist where I can order several stocks off of my phone without even paying a commission. And there is a way to get machine learning involved in the equation.
Building off that, equation writing is the key. Many people think the computer will do all the work. That is, in some instances, true however I will have to be the one to write all the equations and algorithms for it to do “all the work”. First off, machine learning is used in the stock market by predicting trends of stocks. As simple as that. The way these machines can predict the trends of these stocks is by using algorithms which would be written by the user, which in this case would be myself. Once the algorithms are written (I do not know yet how to write these algorithms but I will become a master in it), the first step is to organize the data set for the preferred instrument. After I have done this, then I have to split these into two sets, the training set and the actual test set. I will go over these two sets briefly before I continue. The training set is where most of the real work happens. This is where I will have to actually test out my algorithm to see if everything is working correctly and the sales predictions aren’t too dramatic. I will have to see how the machine is working with the data and whether it is making calculated decisions based on the previous trends of the data. Once all of that is tuned to my liking, I will then have to put that algorithm to use into the actual test set. This is where I will receive my sales predictions of the data. After I have received the result I can compare it to the current data. This is the traditional approach to predicting stock with machine learning.
That is completely acceptable to use, but the author mentioned a method that I plan to do more research on. This method is called ensemble learning. Ensemble learning is a fairly new method for trading stocks and is often not used as it is unfamiliar to most. It is the process of not using just one algorithm, but stacking multiple functioning algorithms on top of each other and using the combined data that is calculated to truly predict the stock trend. The reason I like this idea much more is because I believe that it will account for a much more accurate prediction. I do a lot of Java coding so I believe I can come up with algorithms that account for various functions of the same data such as one algorithm to combine the previous stock data, another to measure the volatility of the stock throughout the last 5-10 years etc. Stacking algorithms like this, in my opinion, will take off the burden to create one super accurate algorithm to do everything.
Throughout my research I have gathered, first and foremost, that ML is able to predict stock trends. I also learned the process of how I would go about this path of using ML in the stock market. This article was very relevant to my research as, initially, the first thing I thought about when researching ML is whether it can be used in the stock market. This research helped me discover a new way that I can implement my coding and AI skills into another domain in which I have interest, the stock market. A couple of thoughts that I’m left with after reading this is how I will go about writing these algorithms. I have the concept down but I truly have to think how I can use past data to predict future trends. I am also left wondering how close to perfection can I get to predicting the stock trend once I truly delve into ML as a career.
Research Assessment 1
Research Assessment 1
Research Assessment 2
After learning about the ways Machine Learning could be used in the stock market, I began researching on my own to find other implementations of it. Something that has always been a huge interest of mine is the vast expanse of outer space. Space exploration has always been very interesting and to see that Machine learning can be used in space exploration is very fascinating to me. This is what I decided to conduct my weekly research upon and the article I have come across has provided me with a lot of information that will be useful to me in the future. Machine learning is present in many aspects of space exploration such as space shuttle navigation and many other things.
It is common knowledge that NASA has sent out 3 rovers to Mars. One of these, the Curiosity, is still operational today. This rover is seemingly straightforward but in reality it has a lot of complexities to it. Curiosity is a self driving rover, meaning that there are no humans involved in the steering, not directly at least. The rover uses special algorithms that allow it to traverse the unfamiliar space of Mars. Up until now I had thought it would be simpler to program a rover to simply move around in plane space, no cars, humans or any animals so I believed it wouldn’t be that hard. It turns out that it is actually a bit more complicated than coding self driving cars here on earth. On earth we know the roads, the whole maps of cities and all the possible hazards that could come into contact with the car. Once a rover goes to Mars, it does not have such luxuries. I realized that since the land is very foreign, we do not have any prior knowledge of the terrain of Mars. What the scientists did with the Curiosity rover is that they made it so that it avoids all possible hazards and only follows straightforward paths. An example would be that the rover avoids canyons and cliffs, areas where the rover could get stuck and become unoperational. In addition to this, the main reason the rover was even sent to Mars was to track it for life. As a result, the Curiosity rover takes many pictures per day, but since not every picture would be important to us (rocks that the scientists have seen many times, familiar cliffs and canyons) the rover uses a special technology which filters between unique pictures and redundant information. This tech is called AEGIS (Autonomous Exploration for Gathering Increased Science). This is machine learning in action as once the machine has gathered a piece of information, the algorithm adjusts itself and makes it so that the same information is not sent again if it is found by the rover in the future.
Astronauts are often locked away in space for long periods of time. They stay in the ISS, international space station, for months before coming back to earth. In the event that medical emergencies or medical attention is needed, NASA is developing a new machine learning technology which creates new healthcare methods in order to help astronauts. This tech is called ExMC (Exploration Medical Capability). There is not much information about this technology as it hasn’t been released yet, but the idea of creating new medicines, healthcare methods and allowing astronauts to take care of themselves on board the ISS is rather helpful. There is a vast time lag between space and earth so this could help in emergency situations. All in all, the ExMC uses machine learning to provide self reliant medical care with the help of remote medical technologies to those on board the ISS.
In addition to space exploration, the goal of NASA is to find new life. In order to do that, they have to look for habitable planets. NASA uses a technology called the Planetary Spectrum Generator to check the basic components of an exoplanet. I thought this was very interesting as they are able to track down planets and predict their natural elements and they are able to determine if the planet has life. The generator creates 3D orbits and atmospheric properties of the exoplanets it finds. The calculations and algorithms are a bit complex for somebody my age, but in layman’s terms, the generator uses linear regression and convolutional neural networks to ascertain the elemental composition of the designated exoplanet. Based on the models that I have seen, they are incredibly accurate. No human could ever ascertain something as accurate as this without having prior knowledge of the atmosphere itself. I find it astonishing that the generator can come up with such accurate data without having such knowledge. Over 100s of earth-like planets have been found using this generator and the technology is going to keep on improving as time progresses.
One of the biggest issues of deep space travel is the amount of time it takes and the amount of resources it would take to send humans up there. A very clever team of scientists has come up with a “Robonaut” which is a robot astronaut that can be sent up to space instead. This robot uses machine learning to make decisions on its own. It is equipped with high flexibility, multiple cameras and other types of sensory equipment. This will allow us to further explore the expanse of space and we will be able to travel further than is possible with human pilots. An example of this is that the shuttles can go further distances such as Jupiter and maybe even Saturn, a couple of our satellites have made it out there and with the Robonaut it has become a new possibility for a shuttle to make it out towards the further regions of the solar system. I think it is fascinating how the Robonaut unlocks so many possibilities for space travel. Since it is a robot, no food, sleep or rest, it only requires charging which can be done through batteries, or even solar charging depending on the trip. The fact that human needs will not be a factor in space exploration is incredibly revolutionary.
Research Assessment 3
Machine Learning is a key aspect of most major businesses. There is no way that a company and its employees can handle as much backend problems as machines handle in a day. It would be a waste of resources and personnel to make humans handle the things that machines can do. Machines have been proven to work faster than humans, solve complicated problems easily, and work reliably without many errors. Due to these reasons, it would be a detriment to not include technology and machine learning within the company dealings.
As I have said earlier, I am currently taking a coding class in school and I am enrolled in an online coding course on Udemy. I have seen the first-hand benefits of machine-based operations within my coding projects. In the Java language, there is a function known as looping. I, the user, create loops that perform a function on each iteration until they reach a certain point when they must shut down. Rather than myself having to print 100 iterations of the same statement, I can simply put one iteration into a loop, and the computer will take care of all of the 100 loops of that iteration. This simple task saves so much time as I am relying upon the computer to do the work for me. Machine learning is an advanced version of this, as in Java I am telling the computer exactly what to do, in machine code, I am giving a rough model of how things should pan out and the computer learns the process for me.
Let’s say I type in “Will Smith” into the Google taskbar. And then shortly after I type “Pursuit” and before I finish typing, the movie recommendation “Pursuit of Happiness” shows up. This is not a mere coincidence, it is machine learning at work. By seeing that you have an interest in Will Smith, any actions that you do on the taskbar in that time frame will take your previous activity into account. That is how Google taskbar seems to know exactly what you want to search for, it is using common data to provide you with the best results. This is an easily relatable example of machine learning.
Each machine learning model is made up of 3 key components: the model, parameters, and learner. The model serves as a thesis statement, it tells the machine what it should be analyzing. The parameters are the data that is used to make new iterations of the model. The learner is where the model takes into account the parameters and adjusts its data, a place where the machine “learns” or improves upon itself. I did not know this process until I read this article. I’ve realized that this 3 step process of machine learning is actually a cycle. The model is always adjusting to new parameters with the use of the learner which is very efficient. In addition, it further bolsters the idea of the model acting upon previously held data, and the more data that the machine knows, the better the results will be.
Despite the numerous benefits of machine learning, I have understood a flaw in the implementation of it. YouTube has recently made a flagging system that flags inappropriate videos so that those ideas do not get ad support. While it is a good idea, the system did not do its job properly as it flagged multiple videos that were completely appropriate. This instance made me realize that machine learning still requires human involvement in order to perform at its peak level. Without human interaction, the system would have continued the false flagging as the data had already been placed inside the console. In addition, I further understood that machines cannot totally replace humans, no matter how advanced technology gets. Even if technology takes over all the jobs, humans will still have to maintain the machines whether physically or electronically.
All in all, machine learning technologies can serve as a shortcut for employees to focus on more conceptual tasks. Time is a valuable asset in the business world, and if technology can provide more efficient use of time then it is a success. Machine learning will continue to play a greater part in the future and my goal is to capitalize upon this shift. As the machine learning technology becomes more advanced, the workforce will see a shift to a more digitized setting. Perhaps workers will have more at home days for work due to the online platform for machine learning. I know that students will be increasingly encouraged to pursue some form of coding or technological applications.
Research Assessment 4
My learning within the field of technology and artificial intelligence began when I first started learning the Java programming language. I started learning Java in my freshman year but my main expertise up until now has come from my development within the field this year. I began coding in May of 2020 in order to be on the level of the AP students who were enrolled in AP Computer Science. I spent the 4 months leading up to school learning the basic components of the language, such as loops, methods, inheritance, and a little bit of object oriented programming.
As I entered AP Computer Science, I began learning more about Arrays, ArrayLists, and 2D Arrays. To explain in simple terms, arrays can be compared to a car factory that produces only one brand of car, let’s take Toyota as an example. Each car produced has varying names, some may be the same too, but at the end of the production line, the car being produced is still a Toyota branded car. Arrays work similar to this, a person can take a variable of a specific type (int, double, float) and within an array, a person can establish multiple values of the specific type of variable they chose. This helps save programmers a lot of time when it comes to coding as they don’t have to create multiple variables of a type with multiple names, that would be an absurdly drawn out process. Arrays can allow a programmer to declare a certain variable, then create how many ever indexes he or she wants, then simply refer to the Array index in order to get the value. It may sound slightly complex to the non-programmer, but it saves professionals a lot of time. An ArrayList can be compared to something simple, like a grocery list. Each object on a grocery list has unique qualities, such as the name of the food, the calories, whether it is organic or not, etc. ArrayLists serve as lists for unique objects to be placed, just like a grocery list. Rather than having the programmer create a whole new object each time, the ArrayList simply serves as a template for the programmer, all he or she needs to do is input the unique qualities of the object such as name, calories, etc. 2D Arrays is what I am currently studying in class, it serves as a grid that is especially helpful for graphic design and art. A programmer can use 2D Arrays to create illustrious drawings via a Java code, once I have more information on this I’ll be more knowledgeable on its unique applications.
Moving on from Java code, I also learned a little bit about machine learning. As I wrote in my blog, I have enrolled myself in an online Stanford Coursera course for machine learning. So far, the information has been more conceptual rather than technical, but nonetheless, it is very interesting.
There are two main types of machine learning, unsupervised and supervised learning. Supervised learning is the more basic of the two, but both learnings do similar things. In supervised learning, given a data set, we already know what our answer should look like. I will give an example of this. Let’s say there are 3 different types of houses listed on the market, one which is sized at 2300 sq. ft, one that is listed at 4000 sq. ft, and another which is listed at 7000 sq ft. Based on the data listed, the machine’s job is to predict the price of each house given previous data of how much each house sells for. As humans, we already know that the bigger square feet house is likely to sell for more price, but the machine doesn’t have the level of understanding that humans do. The machine’s job is to use a regression model to predict the price of each house listed relative to other house prices listed depending on square footage. This type of prediction is called a regression problem; supervised learning offers two types of predictions as well. The other prediction type is called a classification prediction. Let’s take an example of breast cancer tumors, there are two types, benign (harmless) and malignant (harmful). On a graph, the size of the tumor would be the only thing on the x - axis, and there wouldn't be a y-axis. Now, let’s say a tumor greater than 3 inches is malignant and less than 3 is benign, depending on the previous data. The machine’s job would be to classify whether the tumor is malignant or benign depending on the size of the tumor compared to the previous data. This type of learning is called classification as the machine is identifying which group the object belongs to. In supervised learning, the conductor would already have an idea of the outcome, as in house prices or tumor size. Unsupervised learning is a little bit different than this.
Unsupervised learning provides the machine with just a data set, and the human has little idea of what the results will look like. There are two types of learning within this form of ML as well, clustered and unclustered learning. Clustered is when a machine takes a collection of 1,000,000 different genes, and finds a way to automatically group these genes into groups that are somehow similar or related by different variables, such as lifespan, location, roles, etc. Unclustered learning is when a machine can find structure in a chaotic environment. (i.e. identifying individual voices and music from a mesh of sounds at a cocktail party). This type of learning is more applicable to real life, when humans don’t necessarily know all the answers but can use learning algorithms to make a predictive analysis.
This niche of technology is something that I’ve found a great interest in. Predicting things with technology is very cool to me and it can become a great way for businesses to maximize their profits, or gain the most amount of customers. Technology is only going to keep helping businesses improve their operations so that they can make the most money possible. The course at Stanford University, as well as my AP Computer Science class, are valuable sources of information for me to learn more about this revelation in technology.