MDP (kit modular para processamento de dados) é uma biblioteca de algoritmos de processamento de dados amplamente utilizados que podem ser combinados de acordo com a analogia de um gasoduto para construir o software de processamento de dados mais complexa.
Da perspectiva do usuário, MDP consiste de uma coleção de algoritmos supervisionados e não supervisionados de aprendizagem, e outros dados de unidades de processamento (nós) que podem ser combinados em sequências de processamento de dados (fluxos) e arquiteturas de rede mais complexas feed-forward. Dado um conjunto de dados de entrada, MDP cuida de formação sucessiva ou a execução de todos os nós na rede. Isto permite ao utilizador especificar algoritmos complexos como uma série de passos de processamento de dados simples de uma forma natural.
A base de algoritmos disponíveis é cada vez maior e inclui, para citar apenas os mais comuns, Análise de Componentes Principais (PCA e NIPALS), vários algoritmos de análise de componentes independentes (CUBICA, FastICA, TDSEP, JADE, e XSFA), Análise de Recurso lenta, Gaussian classificadores, Restricted Boltzmann Máquinas e localmente Linear incorporação.
Um cuidado especial foi tomado para fazer cálculos eficiente em termos de velocidade e memória. Para reduzir os requisitos de memória, é possível a realização de aprendizagem usando lotes de dados, e para definir os parâmetros internos dos nós a serem precisão única, o que torna o uso de muito grandes conjuntos de dados possível. Além disso, a sub-embalagem 'paralelo' oferece uma implementação paralela dos gânglios de base e os fluxos.
Do ponto de vista do desenvolvedor, MDP é uma estrutura que faz com que a implementação de novos algoritmos de aprendizado supervisionado e não supervisionado fácil e simples. A classe de base, 'Nó', cuida de tarefas tediosas como tipo numérica e verificação de dimensionalidade, deixando o desenvolvedor livre para se concentrar na implementação das fases de aprendizagem e de execução. Devido à interface comum, o nó então automaticamente integra com o restante da biblioteca e pode ser usado em uma rede em conjunto com outros nós. Um nó pode ter várias fases de treinamento e até mesmo um número indeterminado de fases. Isso permite a implementação de algoritmos que precisa coletar algumas estatísticas sobre toda a entrada antes de prosseguir com o treinamento real, e outros que precisam interagir sobre uma fase de treinamento até que um critério de convergência está satisfeito. A capacidade de treinar cada fase usando pedaços de dados de entrada é mantido se os pedaços são gerados com iteradores. Além disso, a recuperação de falhas está disponível opcionalmente: em caso de falha, o estado atual do fluxo é salvo para inspeção posterior.
MDP foi escrito no contexto da pesquisa teórica em neurociência, mas ele foi projetado para ser útil em qualquer contexto em que são utilizados dados treináveis algoritmos de processamento. Sua simplicidade do lado do usuário, juntamente com a reutilização dos nós implementadas tornam também uma ferramenta educacional válida
O que é novo nesta versão:.
- Suporte Python 3.
- Novas extensões: caching e gradiente .
- Um tutorial melhorado e ampliado.
- Várias melhorias e correções de erros.
- Esta versão está sob uma licença BSD.
O que é novo na versão 2.5:
- 2009-06-30: Adicionado detecção em linha de backend numérica , suporte python paralelo, backend symeig e backend numérica para a saída de testes de unidade. Deve ajudar na depuração.
- 2009-06-12:. Integração dos nós de corte e de histograma
- 2009-06-12:. Corrigido o erro no fluxo paralelo (manipulação de exceção)
- 2009-06-09: Corrigido o erro em LLENode quando output_dim é um float. Graças a Konrad Hinsen.
- 2009-06-05:. Corrigido bugs no fluxo paralelo para vários programadores
- 2009-06-05:. Corrigido um erro na camada inverso, graças a Alberto Escalante
- 2009-04-29:. Adicionado um LinearRegressionNode
- 2009-03-31: PCANode não reclama mais quando matriz de covariância tem valores próprios negativos IFF svd == Verdadeiro ou reduzir == True. Se output_dim foi especificado tem uma variância desejado, valores próprios negativos são ignorados. Melhoria da mensagem de erro para SFANode em caso de valores próprios negativos, nós agora sugerimos para preceder o nó com um PCANode (svd = True) ou PCANode (reduzir = True).
- 2009-03-26: migrou do pacote thread antiga para a nova segmentação um. Bandeira adicionado ao desativar o cache no processo do programador. Há algumas alterações significativas para programadores personalizados (formação fluxo paralelo ou execução não é afetado).
- 2009-03-25:. Apoio rastreamento Adicionado revisão svn
- 2009-03-25: Removida a bandeira copy_callable para programador, este está agora completamente substituído por bifurcar o TaskCallable. Isto não tem efeito para a interface ParallelFlow conveniente, mas programadores personalizados ter quebrado.
- 2009-03-22:. Implementado cache no ProcessScheduler
- 2009-02-22:. Make_parallel agora funciona completamente no local para economizar memória
- 2009-02-12:. Adicionado métodos recipiente para FlowNode
- 2009-03-03:. Adicionado CrossCovarianceMatrix com testes
- 2009-02-03:. Adicionado IdentityNode
- 2009-01-30:. Adicionado uma função auxiliar em Hinet para exibir diretamente uma representação HTML fluxo
- 2009-01-22:. Permitir output_dim na camada a ser definido preguiçosamente
- 2008-12-23:. Adicionado total_variance ao nó NIPALS
- 2008-12-23:. Sempre definir explained_variance e total_variance após o treinamento em PCANode
- 2008-12-12: Modificado symrand para realmente voltar matrizes simétricas (e definitiva, não só positivo). GaussianClassifierNode adaptado para explicar isso. Symrand adaptado para retornar também matrizes hermitianos complexos.
- 2008-12-11: Corrigido um problema no PCANode (quando output_dim foi definido para input_dim da variância total foi tratado como desconhecido). Parâmetro var_part fixa em ParallelPCANode.
- 2008-12-11:. Adicionado recurso var_part para PCANode (filtro de acordo com a variação em relação ao absoute variância)
- 2008-12-04: Fixo faltando arg eixo na chamada amax no tutorial. Graças a Samuel John!
- 2008-12-04: Corrigido o iterador de dados vazio manipulação no ParallelFlow. Também foi adicionado cheques iteradoras vazias no fluxo normal (levantar uma exceção se o iterador está vazia).
- 2008-11-19: Modificado pca e nós sfa para verificar se há valores próprios negaive nas matrizes COV
- 2008-11-19: symeig integrado no scipy, MDP pode usá-lo de lá agora .
- 2008-11-18:. Adicionado ParallelFDANode
- 2008-11-18:. Atualizado o trem que pode ser chamado para ParallelFlow para apoiar argumentos adicionais
- 2008-11-05: Reescrita do código paralelo marca, agora suporta estruturas Hinet .
- 2008-11-03: Rewrite do criador repesentation Hinet HTML. Infelizmente, este também quebra a interface pública, mas as mudanças são bastante simples.
- 2008-10-29: Desligue os avisos vindos de processos remotos em ProcessScheduler
- 2008-10-27:. Corrigido o problema com a substituição kwargs no método init de ParallelFlow
- 2008-10-24:. Fixo gânglios pré-treinado bug em hinet.FlowNode
- 2008-10-20:. Corrigido bug crítico no pacote de importação paralela quando pp (biblioteca python paralela) está instalado
Requisitos :
- Python
- NumPy
- SciPy
Comentários não encontrado