I've thought about some, like predicting Concrete's strength by it's composition, but would like some ideas on the theme. One other thing I was thinking was traffic, how would I use machine learning to predict something related to streets and roads... Maybe something related to hydraulics on a building. I'm really beginning on machine learning so I'm not so good at knowing how can I use it. Although it's amazing. Thank's a lot guys.
This is something I've experimented with substantially. Predicting the compressive strength of concrete based on it's mix design is a great example, and fairly challenging - I used the concrete compressive strength dataset available at the UCI ML repository to help me better understand how to manipulate ML algorithms to get good predictive results. Here's a guy who took the same data set and used BigML's tools to do an analysis.
I've also used ML to predict payitem bid prices on highway construction contracts to help improve cost estimation. For example, I set out to determine the unit price for a specific item, like guardrail, that contractors are likely to bid given a contract's location, time of year, total value, relevant cost indices, etc. It took a lot of time and experimentation, but I achieved surprisingly good predictive results.
Regarding your specific topics of interest, I imagine you'll have to just do a lot of searching and reviewing master's theses on related topics, taking time to learn the mathematical models and theories that they employ.
If you want to know where to get started, my learning path involved the following:
- Learning whatever I could about neural networks and machine learning theory (guys like Jeff Heaton proved helpful, here)
- Taking Andrew Ng's Machine Learning course on Coursera.
- Downloading and getting to know the R scripting language
- Reading whitepapers / theses on applying ML to specific applications.
- Developing a solid, rigorous understanding of basic statistics theory, especially linear regression.
There's a lot of different ways to approach the topic, though. Websites like BigML.com are a good way to get your feet wet doing ML without having a rigorous mathematical / statistical understanding, but it'll only get you so far.
In the end, you'll really need to devote time to getting your head wrapped around the math and programming in languages like R or Python. It's also important to remember that while ML seems to favor complexity over simplicity (in many cases non-linear problems benefit from novel and sometimes non-intuitive approaches), sometimes the simplest approach is best. It's really a question of how accurate the final model really needs to be.
You are touching some issues that border simulation, namely Discrete Event Simulation (Simpy, Simul8). For instance Traffic Simulation is mainly done using this, and others, techniques with the purpose of either testing the consequences of a change to the system, or to conceptualize the system altogether. Some commons areas you might like to consider exploring are:
- Mobility scenarios (traffic, etc.),
- Optimization of mining or construction operations,
- Consumption scenarios (water, electricity, etc.)
These are all fields that can be broadly put inside Operations Research (Python for OP). In the event that you might want to tackle issues related to this, the first thing you need to decide is "What Problem are you trying to solve?":
- I need to see if a buildings water distribution will hold the requirements (simulating water use scenarios against water/pressure availability).
- I need to optimize the transportation and mobility in a construction site.
- I need to conceptualize the emergency exits plan against possible evacuation scenarios.
Than, what information do you need to build your models? Data analysis, image analysis, data management and manipulation. What are my variables? What are my scenarios? Can I predict phenomena (it's easier to predict water usage peaks than earthquakes, for example)? Can I create a model using those predictions?
Machine Learning is not an answer for the question of Life, the Universe, and Everything or silver bullet but a very powerful tool which you should apply to a problem (and corresponding data). So, the short answer to your question is 'depends on data you have and problems you see'.
Generally, the best way would be taking any available introductory course into Data Science / Machine Learning, given you have at least some programming experience so that you could complete assignments: that would not address your question directly, but you will get your hands on some examples of data and will see how ML is used to tackle that data. After you will grow some understanding, you will see potential applications of ML when you see any particular blob of data.