Skip to main content

Adaptive Power Neurons

Adaptive Power Neurons is a Python library for building machine learning models using adaptive power perceptrons. These perceptrons dynamically adjust their polynomial feature power and input indices, enabling the model to learn complex patterns effectively.

The library is designed for both regression and classification tasks and supports multi-layer neural networks with adaptive neurons.


Features

  • Dynamic Adaptation: Perceptrons adjust their polynomial degree (power) and input index bias during training.
  • Polynomial Feature Expansion: Supports automatic polynomial feature generation up to a specified degree.
  • Index Bias Adjustment: Incorporates adjustable input bias for feature shifts.
  • Multi-Layer Support: Create flexible, multi-layer neural networks.
  • Customizable Optimizer: Fine-tune hyperparameters like learning rate, polynomial power, and indexing rate dynamically.

Mathematical Overview

1. Polynomial Feature Expansion

Each perceptron transforms the input into a polynomial feature vector: [ \phi(x) = [x^1, x^2, \dots, x^p] ] Where ( p ) is the maximum power specified for the perceptron.

2. Weighted Output

The perceptron computes a weighted sum of the polynomial features: [ z = w_1 \phi(x_1) + w_2 \phi(x_2) + \dots + w_n \phi(x_n) + b ]

3. Loss Function

The library uses Mean Squared Error (MSE) for regression: [ \text{MSE} = \frac{1}{N} \sum_{i=1}^{N} \left( y_i - \hat{y}_i \right)^2 ]

For classification, a step function is used: [ \hat{y} = \begin{cases} 1 & \text{if } z \geq 0 \ 0 & \text{if } z < 0 \end{cases} ]

4. Index Bias Adjustment

An adjustable index bias ( \delta ) shifts the input features: [ x_{\text{adjusted}} = x + \delta ]

5. Weight Updates

Weights, biases, and index bias are updated using gradient descent: [ w_i = w_i - \eta \cdot \frac{\partial \text{MSE}}{\partial w_i}, \quad b = b - \eta \cdot \frac{\partial \text{MSE}}{\partial b}, \quad \delta = \delta - \eta \cdot \frac{\partial \text{MSE}}{\partial \delta} ]


Installation

To install the library, clone the repository and install it locally:

pip install adaptive-power-neurons

# Example Usage for Adaptive Power Neurons

import numpy as np
from adaptive_power_neurons import AdaptivePowerModel, SGD, DenseLayer

# Hyperparameters
input_dim = 3  # Number of input features
output_dim = 2  # Number of output neurons
max_power = 2  # Max power for the neurons
learning_rate = 0.001  # Learning rate for the optimizer
indexing_rate = 0.01  # Indexing rate

# Create SGD optimizer
optimizer = SGD(learning_rate)

# Create AdaptivePowerModel and add layers
model = AdaptivePowerModel()
model.add(DenseLayer(input_dim, 1, max_power, optimizer, indexing_rate, activation="relu"))
model.add(DenseLayer(1, output_dim, max_power, optimizer, indexing_rate, activation="sigmoid"))

# Dummy dataset
x = np.array([[1.0, 2.0, 3.0], [4.0, 5.0, 6.0], [7.0, 8.0, 9.0]])  # Input features
y = np.array([[0.5, 1.0], [1.0, 0.0], [0.0, 1.0]])  # Target labels

# Train the model
model.train(x, y, epochs=100, batch_size=1)

model.predict_(np.array([[1, 2, 3]]))

Metadata

Release files for adaptive-power-neurons 0.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for adaptive-power-neurons 0.4.0
File Size Uploaded Provenance
adaptive_power_neurons-0.4.0.tar.gz 6.2 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for adaptive-power-neurons 0.4.0
File Interpreter ABI Platform
adaptive_power_neurons-0.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 13.9 kB

Release files / adaptive_power_neurons-0.4.0.tar.gz

Download URL adaptive_power_neurons-0.4.0.tar.gz
Size 6.2 kB
Tags Source
SHA-256 checksum
How to use checksums
1b5d27ecc50b6f6a050a654df9b06b3ea51023804d9f486a8d536456a9466478
BLAKE2b-256 checksum
How to use checksums
5583b9952a213de84808a55c007e4783bcc0c8e80274d733f4a99b5e82d8368a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.8.18

Release files / adaptive_power_neurons-0.4.0-py3-none-any.whl

Download URL adaptive_power_neurons-0.4.0-py3-none-any.whl
Size 7.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
72265590b725376ba88bd5bd06df9f927ad29b67d251eaae9eb4cc89b1780eac
BLAKE2b-256 checksum
How to use checksums
d97c1169ce24e6eb60679ef41f4c7df57634a81dd31c8caa2a45afb01e7fc5ee
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.8.18

Security for adaptive-power-neurons 0.4.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page