菜单

机器学习算法

相关源文件

本文档涵盖了存储库中的机器学习算法实现,包括分类、聚类、神经网络和支持性工具。这些实现范围从传统的统计方法到深度学习架构,应用于文本处理、计算机视觉和数值优化。

有关优化背景下的动态规划算法,请参阅动态规划。有关可能用于图神经网络等机器学习领域的图算法,请参阅图算法与网络分析

分类算法

该存储库实现了几种用于监督学习任务的核心分类算法。

支持向量机

machine_learning/sequential_minimum_optimization.py47-403 中的 SmoSVM 类实现了使用顺序最小优化 (SMO) 的支持向量机。实现包括

线性判别分析

machine_learning/linear_discriminant_analysis.py94-250 中的 LDA 实现提供了基于高斯分布的分类

SVM 和 LDA 架构

来源:machine_learning/sequential_minimum_optimization.py, machine_learning/linear_discriminant_analysis.py

聚类算法

K-Means 实现

machine_learning/k_means_clust.py129-176 中的 kmeans() 函数提供了无监督聚类及相关工具

功能目的输入输出
get_initial_centroids()初始化簇中心(data, k, seed)初始质心
assign_clusters()分配点到簇(data, centroids)簇分配
revise_centroids()更新簇中心(data, k, assignments)新质心
compute_heterogeneity()计算簇内方差(data, k, centroids, assignments)异质性得分

来源:machine_learning/k_means_clust.py

神经网络架构

该存储库实现了多种神经网络架构,用于不同的应用。

卷积神经网络

两个 CNN 实现服务于不同目的

通用 CNN 框架CNNneural_network/convolution_neural_network.py23-353 提供了一个完整的框架

基于 Keras 的 CNN:用于肺结核检测的医学影像应用 computer_vision/cnn_classification.py30-101 用于肺结核检测

前馈网络

The BPNNneural_network/back_propagation_neural_network.py99-175 实现反向传播网络

LSTM 网络

通过 machine_learning/lstm/lstm_prediction.py14-56 实现时间序列预测能力

神经网络架构概述

来源:neural_network/convolution_neural_network.pyneural_network/back_propagation_neural_network.pymachine_learning/lstm/lstm_prediction.pycomputer_vision/cnn_classification.py

文本处理与自然语言处理

词频分析

词频模块 machine_learning/word_frequency_functions.py43-120 实现信息检索算法

这些实现处理了文本预处理,包括标点符号移除和大小写规范化。

算法公式用例
词频count(term, document)局部项重要性
文档频率count(documents containing term)全局项稀有度
TF-IDFtf * log10(N/df)平衡项加权

来源:machine_learning/word_frequency_functions.py

计算机视觉应用

图像处理管道

Haralick 描述符的实现 computer_vision/haralick_descriptors.py256-290 提供纹理分析

医学影像

结核病检测系统 computer_vision/cnn_classification.py30-101 展示了 CNN 的实际应用

计算机视觉处理流程

来源: computer_vision/haralick_descriptors.py, computer_vision/cnn_classification.py

支持的工具和基础架构

数据处理

MNIST 数据实用工具 neural_network/input_data.py114-342 提供标准化的数据集管理

评分和排名

邻近度评分算法 other/scoring_algorithm.py97-119 实现基于范围的排名

该算法将多维数据转换为 0-1 范围,并应用方向权重(0 表示最小化,1 表示最大化)来生成复合分数。

支持的基础架构

来源: neural_network/input_data.py, other/scoring_algorithm.py, machine_learning/word_frequency_functions.py