A full list of publications can be found on my Google Scholar profile.
Selected articles are listed below.
1. AI-Enabled Advance Care Planning (ACP)
During my PhD I have been the tech lead of the AI-Enabled ACP project at Stanford. The goal of this initiative is to increase access to palliative care services (Advance Care Planning) for hospitalized patients by efficiently identifying suitable candidates using machine learning. This system has been deployed and operational at the General Medicine service line of Stanford Hospital since more than a year.
Improving Palliative Care with Deep Learning. This was the first publication in this line of work, where we validated the feasibility of identifying patients who suitable for ACP by predicting their 12-month mortality risk. The paper received the Best Student Paper award at the IEEE International Conference of Bioinformatics and Biomedicine 2017.
Team-Based ACP with AI. In this post we discuss how AI has played a key role not only in patient care, but also in transforming team dynamics, empowering (non-physician) members and flattening traditional hierarchies within the care team.
A framework for making predictive models useful in practice. Clinical deployment a model requires careful consideration of care delivery factors beyond just the model accurarcy. In this paper we lay out a framework for analyzing the impact of these factors on the net utility or net benefit in order to guide the design of a clinical workflow.
A Model is Not Enough: A Case of AI-Enabled Healthcare Delivery. In this workshop paper we describe our experience in operationalizing the workflow.
This work has received media attention and coverage as well:
New York Times - This Cat Sensed Death. What if Computers Could, too?
IEEE Spectrum - Stanford’s AI Predicts Death for Better End-of-Life Care
The AI Podcast - Ep 47. How AI Can Improve Access to Palliative Care
2. Predictive Uncertainty Quantification
I have a strong interest in the general area of making high quality probabilistic forecasts using Machine Learning that quantifies uncertainty accurately. Some keywords that make up this theme include: calibration and sharpness, proper scoring rules, survival prediction, natural gradient, information geometry, gradient boosting.
NGBoost: Natural Gradient Boosting for Probabilistic Prediction. NGBoost brings, for the first time, generic probabilistic prediction capabilities to gradient boosting. We propose the generalized natural gradient to support a variety of scoring rules and probability distributions in a principled way. NGBoost is powering the ML system behind the AI-Enabled ACP project.
Countdown Regression: Sharp and Calibrated Survival Predictions. In this work we propose a novel loss function, SurvivalCRPS, that is robust against heavy censoring. SurvivalCRPS is a proper scoring rule that aligns with the paradigm of maximizing sharpness subject to calibration. It is supported in NGBoost via the generalized natural gradient technique.
CRUDE: Calibrating Regression Uncertainty Distributions Empirically. CRUDE is a post-hoc recalibration technique for probabilistic regression models. This algorithm has shown remarkable performance compared to competitive calibration methods on a wide variety of tasks. We also present a connection between CRUDE and conformal inference.
Short-Term Solar Irradiance Forecasting Using Calibrated Probabilistic Models. Solar forecasting is essential to integrate of solar energy into the electricity grid. We find NGBoost provides the state-of-the-art forecasting of solar irradiance, and the combination of NGBoost with CRUDE matches a numerical weather prediction model in probabilistic predictive performance.
3. Distributed Systems
Previously I was the architect, lead contributor and maintainer of the open source distributed filesystem Gluster. The filesystem is used by several large enterprises in production. My work on this project has resulted in a number of issued patents.
- 8,874,626 - Tracking files and directories related to unsuccessful change operations
- 8,943,031 - Granular self-healing of a file in a distributed file system
- 8,983,908 - File link migration for decommissioning a storage server
- 9,110,917 - Creating a file descriptor independent of an open operation
- 9,317,508 - Pro-active self-healing in a distributed file system
- 9,317,509 - Pro-active self-healing in a distributed file system (contd.)
- 9,529,817 - Pro-active self-healing in a distributed file system (contd.)
- 9,535,925 - File link migration
- 9,535,926 - Reducing transaction operations using deferred operations
- 9,648,103 - Non-Uniform File Access in a Distributed File System
- 9,760,577 - Write-Behind Caching in Distributed File Systems
- 9,965,505 - Identifying Files in Change Logs Using File Content Location Identifiers
- 9,971,787 - Unified File and Object Data Storage
- 9,971,788 - Unified File and Object Data Storage (contd.)
- 9,979,783 - Distributed Coordinated Snapshots
- 9,986,029 - File Replication using File Content Location Identifiers
- 10,025,808 - Compacting change logs using file content location identifiers
- 10,120,868 - Outcast Index in Distributed File Systems
- 10,146,791 - Open File Rebalance
- 10,235,382 - Transferring Objects between different Storage devices based on Timestamps
- 10,515,058 - Unified file and object data storage (contd.)
- 10,534,753 - Caseless file lookup in a distributed file system
- 10,754,825 - Path resolver for client access to distributed file systems