Expertise
Reasonance combines expertise in software development with research knowledge. Our team has successfully developed large-scale end-to-end software solutions covering the software development process from requirements engineering, architecture, implementation, deployment, to maintenance and support. Having contributed to machine learning research and published work at top-level conferences, our experts are able to understand and explain the foundations of our algorithms to business clients and evaluate modern research topics. Moreover, our experience across multiple countries and industry domains makes us comfortable working with international and interdisciplinary customers.
Time Series Analysis
Using time series analysis, we detect trends and seasonality in time dependent data to explain historical data and predict future occurrences. Our expertise includes:
- Regression-based Approaches
- Exponential Smoothing
- Time Series Decomposition – Factor Analysis, STL, etc.
- Gradient Boosting
- Autoregressive Models: ARMA, ARIMA, SARIMA, ARCH, etc.
- Recurrent Neural Networks
- Bayesian Filtering
Optimization
To optimize processes and their digital transformations, we use:
- Combinatoric Optimization
- Gradient-Based Approaches
- Heuristic-Based Approaches
- Stochastic Methods for Optimization
- Deterministic Methods
Computer Vision
To analyze image and video data, we leverage our expertise with the following algorithms:
- Convolutional Neural Networks
- SIFT / SURF
- Viola-Jones
- Manifold-Learning
- Sensor Information Fusion Techniques
- ResNet
- Multi View Stereo Vision Techniques
Natural Language Processing
To extract knowledge from textual data, we use:
- Bag of Words
- N-grams
- Recurrent Neural Networks
- Convolutional Neural Networks
- Hidden Markov Models
- Latent Dirichlet Allocation
- Skip Gram
Probabilistic Neural Networks
We build neural network models, capable of:
- Providing information about their model certainty
- Training with smaller datasets without over-fitting
- Incorporating prior knowledge of the data generation process
- Information fusion
- Handling missing observations
Software Architecture and Development
A solution is a ready usable system. To achieve this, we made sure we cover:
- Object-Oriented Design
- Functional Programming
- Distributed Programming
- Database Design
- Source Control
- Software Testing
- Data Structures and Algorithms
- Micro Services
- Containerization
- Fault Tolerant Distributed Systems
- REST APIs
- System and API Integration