HackerTrans
TopNewTrendsCommentsPastAskShowJobs

romanfll

no profile record

Submissions

[untitled]

1 points·by romanfll·3 bulan yang lalu·0 comments

DriftMind – Anomaly detection and forecasting for Excel users (no signup)

thingbook.io
2 points·by romanfll·6 bulan yang lalu·3 comments

Reflexive Memory: A CPU-Only Alternative to Transformers for Streaming Data

medium.com
3 points·by romanfll·6 bulan yang lalu·1 comments

A linear-time alternative for Dimensionality Reduction and fast visualisation

medium.com
118 points·by romanfll·7 bulan yang lalu·36 comments

[untitled]

1 points·by romanfll·7 bulan yang lalu·0 comments

comments

romanfll
·6 bulan yang lalu·discuss
Good catch—it's actually a hybrid approach: 1. Anomaly Detection & Visualisation: This runs 100% locally via WASM using the linear-time algorithms I shared here previously. 2. Forecasting: This hits our DriftMind API [1][2]. We designed the API to be transient-only. The data is processed in-memory for the forecast and immediately discarded; absolutely nothing is persisted to disk or used for training. We wanted to keep the browser lightweight while still offering the heavy-duty forecasting from our core engine

[1] https://thingbook.io/doc/devGuide.html [2] https://medium.com/towards-artificial-intelligence/reflexive...
romanfll
·6 bulan yang lalu·discuss
I previously shared my linear-time dimensionality reduction algorithm https://news.ycombinator.com/item?id=46285535 I've now wrapped that + my one-pass forecasting engine into a free tool for non-coders. Tool explained here: https://medium.com/@roman.f/why-were-liberating-anomaly-dete...
romanfll
·6 bulan yang lalu·discuss
This post details the architecture behind DriftMind, a streaming forecasting engine we built to replace Transformers at the edge.The Context:We monitor high-frequency industrial sensor streams where the cost of round-tripping data to a GPU cluster (latency + bandwidth) often exceeds the value of the forecast itself. We needed a model that could run locally on a CPU, learn in a single pass (cold start), and adapt to concept drift instantly. The Core Mechanism: Instead of attention heads, we use a "Reflexive Memory" system: Online Clustering: Incoming data points are mapped to micro-clusters in $O(1)$.Temporal Graphs: We build a transition graph between these clusters to model state probabilities.Result: We achieve ~94% of Transformer accuracy with <1% of the training cost and 25ms inference latency on standard CPUs.The full mathematical breakdown and benchmarks are in the article. I’ll be around to answer questions about the trade-offs and the implementation!
romanfll
·7 bulan yang lalu·discuss
The shift from Explicit Reduction to GNNs/Embeddings is where the high-end is going in my view… We hit this exact fork in the road with our forecasting/anomaly detection engine (DriftMind). We considered heavy embedding models but realised that for edge streams, we couldn't afford the inference cost or the latency of round-tripping to a GPU server. It feels like the domain is splitting into 'Massive Server-Side Intelligence' (I am a big fan of Graphistry) and 'Hyper-Optimized Edge Intelligence' (where we are focused).
romanfll
·7 bulan yang lalu·discuss
Not yet, but coming...
romanfll
·7 bulan yang lalu·discuss
You are strictly correct for a single pass! log2(9000)~13, which is indeed much smaller than k=50. The missing variable in that comparison is Iterations. t-SNE and UMAP are iterative optimisation algorithms. They repeat that O(N log N) step hundreds of times to converge. My approach is a closed-form linear solution (Ax=b) that runs exactly once. So the wall-clock comparison is effectively: Iterations * (N log N) VS 1 * (N *k) That need for convergence is where the speedup comes from, not the complexity class per se.
romanfll
·7 bulan yang lalu·discuss
Thanks for your comment.

To clarify: K is a fixed hyperparameter in this implementation, strictly independent of N. Whether we process 9k points or 90k points, we keep K at ~100. We found that increasing K yields diminishing returns very quickly. Since the landmarks are generated along a fixed synthetic topology, increasing K essentially just increases resolution along that specific curve, but once you have enough landmarks to define the curve's structure, adding more doesn't reveal new topology… it just adds computational cost to the distance matrix calculation. Re: sqrt(N): That is purely a coincidence!
romanfll
·7 bulan yang lalu·discuss
The '2 seconds' figure comes from the end-to-end time on a standard laptop. I quoted 2s to set realistic expectations for the user experience, not the CPU cycle count. You are right that the core linear algebra (Ax=b) is milliseconds. The bottleneck is the DOM/rendering overhead, but strictly speaking, the math itself is blazing fast.
romanfll
·7 bulan yang lalu·discuss
Thanks for your comment. You are spot on, that is effectively the standard Nyström/Landmark MDS approach.

The technique actually supports both modes in the implementation (synthetic skeleton or random subsampling). However, for this browser visualisation, we default to the synthetic sine skeleton for two reasons:

1. Determinism: Random landmarks produce a different layout every time you calculate the projection. For a user interface, we needed the layout to be identical every time the user loads the data, without needing to cache a random seed. 2. Topology Forcing: By using a fixed sine/loop skeleton, we implicitly 'unroll' the high-dimensional data onto a clean reduced structure. We found this easier for users to visually navigate compared to the unpredictable geometry that comes from a random subset
romanfll
·7 bulan yang lalu·discuss
Thanks! You nailed the intuition! Yes, it shares DNA with Landmark MDS, but we needed something strictly deterministic for the UI. Re: Publishing: We don't have a paper planned for this specific visualisation technique yet. I just wanted to open-source it because it solved a major bottleneck for our dashboard. However, our main research focus at Thingbook is DriftMind (a cold start streaming forecaster and anomaly detector, preprint here: https://www.researchgate.net/publication/398142288_DriftMind...). That paper is currently under peer review! It shares the same 'efficiency-first' philosophy as this visualisation tool
romanfll
·7 bulan yang lalu·discuss
Thanks for your comment! You are right, Barnes-Hut implementation brings UMAP down to O(N log N). I should have been more precise in the document. The main point is that even O(N log N) could be too much if you run this in a browser.. Thanks for clarifying!
romanfll
·7 bulan yang lalu·discuss
Author here. I built this because I needed to run dimensionality reduction entirely in the browser (client-side) for an interactive tool. The standard options (UMAP, t-SNE) were either too heavy for JS/WASM or required a GPU backend to run at acceptable speeds for interactive use.

This approach ("Sine Landmark Reduction") uses linearised trilateration—similar to GPS positioning—against a synthetic "sine skeleton" of landmarks.

The main trade-offs:

It is O(N) and deterministic (solves Ax=b instead of iterative gradient descent).

It forces the topology onto a loop structure, so it is less accurate than UMAP for complex manifolds (like Swiss Rolls), but it guarantees a clean layout for user interfaces.

It can project ~9k points (50 dims) to 3D in about 2 seconds on a laptop CPU. Python implementation and math details are in the post. Happy to answer questions!
romanfll
·7 bulan yang lalu·discuss
Author here.

I built this because I needed to run dimensionality reduction entirely in the browser (client-side) for an interactive tool. The standard options (UMAP, t-SNE) were either too heavy for JS/WASM or required a GPU backend to run at acceptable speeds for interactive use.

This approach ("Sine Landmark Reduction") uses linearised trilateration—similar to GPS positioning—against a synthetic "sine skeleton" of landmarks.

The main trade-offs:

It is O(N) and deterministic (solves Ax=b instead of iterative gradient descent).

It forces the topology onto a loop structure, so it is less accurate than UMAP for complex manifolds (like Swiss Rolls), but it guarantees a clean layout for user interfaces.

It can project ~9k points (50 dims) to 3D in about 2 seconds on a laptop CPU. Python implementation and math details are in the post. Happy to answer questions!