{"id":26660060,"url":"https://github.com/cair/dpcl-classifier","last_synced_at":"2025-10-24T21:05:02.166Z","repository":{"id":268842896,"uuid":"682103875","full_name":"cair/dpcl-classifier","owner":"cair","description":null,"archived":false,"fork":false,"pushed_at":"2024-12-19T07:49:45.000Z","size":87,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-12-19T08:35:01.826Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cair.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-08-23T12:57:41.000Z","updated_at":"2024-12-19T07:49:48.000Z","dependencies_parsed_at":"2024-12-19T08:45:36.790Z","dependency_job_id":null,"html_url":"https://github.com/cair/dpcl-classifier","commit_stats":null,"previous_names":["cair/dpcl-classifier"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cair%2Fdpcl-classifier","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cair%2Fdpcl-classifier/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cair%2Fdpcl-classifier/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cair%2Fdpcl-classifier/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cair","download_url":"https://codeload.github.com/cair/dpcl-classifier/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245449656,"owners_count":20617190,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-03-25T11:18:22.379Z","updated_at":"2025-10-24T21:05:02.101Z","avatar_url":"https://github.com/cair.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Generalized Convergence Analysis of Tsetlin Machines: A Probabilistic Approach to Concept Learning\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Python Version](https://img.shields.io/badge/python-3.11-blue.svg)](https://www.python.org/downloads/release/python-3110/)\n[![TensorFlow Version](https://img.shields.io/badge/tensorflow-2.13.0-brightgreen.svg)](https://www.tensorflow.org/)\n\n## Table of Contents\n- [Introduction](#introduction)\n- [Installation](#installation)\n- [Usage](#usage)\n- [License](#license)\n\n## Introduction\n\nTsetlin Machines (TMs) have garnered increasing interest for their ability to learn concepts via propositional formulas and their proven efficiency across various application domains. Despite this, the convergence proof for the TMs, particularly for the AND operator (_conjunction_ of literals), in the generalized case (inputs greater than two bits) remains an open problem. This paper aims to fill this gap by presenting a comprehensive convergence analysis of Tsetlin automaton-based Machine Learning algorithms. We introduce a novel framework, referred to as Probabilistic Concept Learning (PCL), which simplifies the TM structure while incorporating dedicated feedback mechanisms and dedicated inclusion/exclusion probabilities for literals. Given $n$ features, PCL aims to learn a set of conjunction clauses $C_i$ each associated with a distinct inclusion probability $p_i$. Most importantly, we establish a theoretical proof confirming that, for any clause $C_k$, PCL converges to a conjunction of literals when $0.5 \u003c p_k \u003c1 $.\nThis result serves as a stepping stone for future research on the convergence properties of Tsetlin automaton-based learning algorithms. Our findings not only contribute to the theoretical understanding of Tsetlin Machines but also have implications for their practical application, potentially leading to more robust and interpretable machine learning models.\n\n## Installation\n\n### Prerequisites\n\n- Python 3.11 or higher\n- Poetry package manager\n\n### Steps\n\n1. Clone the repository:\n    ```bash\n    git clone https://github.com/cair/dpcl-classifier.git\n    ```\n\n2. Navigate to the project directory:\n\n   ```bash\n   cd dpcl-classifier\n   ```\n\n3. Install the dependencies using Poetry:\n\n   ```bash\n   poetry install\n   ```\n\n## Usage\n\nYou can run the main script as follows:\n    ```bash\n    python classifier_numba.py\n    ```\n\n## License \n\nThis project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcair%2Fdpcl-classifier","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcair%2Fdpcl-classifier","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcair%2Fdpcl-classifier/lists"}