Update app.py
Browse files
app.py
CHANGED
@@ -1,7 +1,9 @@
|
|
1 |
import streamlit as st
|
2 |
import numpy as np
|
|
|
3 |
from sklearn.decomposition import DictionaryLearning
|
4 |
-
|
|
|
5 |
import matplotlib.pyplot as plt
|
6 |
|
7 |
# Title of the app
|
@@ -13,62 +15,8 @@ st.write('''
|
|
13 |
Dictionary learning aims to find a sparse representation of the data in the form of a dictionary and a sparse matrix.
|
14 |
''')
|
15 |
|
16 |
-
#
|
17 |
-
|
18 |
-
data = digits.data
|
19 |
-
|
20 |
-
# Display a sample image from the dataset
|
21 |
-
st.write("Sample image from the dataset:")
|
22 |
-
sample_index = 0
|
23 |
-
sample_image = data[sample_index].reshape(8, 8)
|
24 |
-
plt.imshow(sample_image, cmap='gray')
|
25 |
-
st.pyplot(plt)
|
26 |
-
|
27 |
-
# Get user input for the number of dictionary components
|
28 |
-
n_components = st.slider('Number of dictionary components', 1, 64, 32)
|
29 |
-
|
30 |
-
# Perform dictionary learning
|
31 |
-
dl = DictionaryLearning(n_components=n_components, transform_algorithm='lasso_lars', random_state=0)
|
32 |
-
X_transformed = dl.fit_transform(data)
|
33 |
-
dictionary = dl.components_
|
34 |
-
|
35 |
-
# Display the learned dictionary components
|
36 |
-
st.write("Learned dictionary components:")
|
37 |
-
fig, axes = plt.subplots(4, 8, figsize=(8, 4))
|
38 |
-
for i, ax in enumerate(axes.ravel()):
|
39 |
-
if i < n_components:
|
40 |
-
ax.imshow(dictionary[i].reshape(8, 8), cmap='gray')
|
41 |
-
ax.axis('off')
|
42 |
-
st.pyplot(fig)
|
43 |
-
|
44 |
-
# Display sparsity of the transformed data
|
45 |
-
sparsity = np.mean(X_transformed == 0)
|
46 |
-
st.write(f'Sparsity of the transformed data: {sparsity:.2f}')
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
st.title('Dictionary Learning')
|
51 |
-
|
52 |
-
uploaded_file = st.file_uploader("Upload an image", type="jpg")
|
53 |
-
|
54 |
-
n_atoms = st.number_input('Number of atoms in the dictionary', 10, 100, 50)
|
55 |
-
sparsity = st.number_input('Sparsity of the representation', 1, 10, 5)
|
56 |
-
|
57 |
-
if uploaded_file is not None:
|
58 |
-
image = np.array(Image.open(uploaded_file))
|
59 |
-
image = image.reshape(-1, image.shape[-1])
|
60 |
-
|
61 |
-
if st.button('Learn Dictionary'):
|
62 |
-
dl = DictionaryLearning(n_components=n_atoms, alpha=1, beta_0=1, n_iter=100, tol=1e-3)
|
63 |
-
dl.fit(image)
|
64 |
-
st.write('Dictionary learned!')
|
65 |
-
|
66 |
-
# Display the dictionary atoms
|
67 |
-
st.write('Dictionary atoms:')
|
68 |
-
st.image(dl.components_.reshape(n_atoms, image.shape[1], image.shape[2]), caption='Dictionary atoms')
|
69 |
-
|
70 |
-
# Display the sparse codes
|
71 |
-
st.write('''
|
72 |
# 🩺🔍 Search Results
|
73 |
### 11 Jul 2023 | [FairLay-ML: Intuitive Remedies for Unfairness in Data-Driven Social-Critical Algorithms](https://arxiv.org/abs/2307.05029) | [⬇️](https://arxiv.org/pdf/2307.05029)
|
74 |
*Normen Yu, Gang Tan, Saeid Tizpaz-Niari*
|
@@ -314,18 +262,15 @@ To test the efficiency of this system, 60 questions were generated targeting
|
|
314 |
academic words. The generated items were reviewed by expert reviewers who
|
315 |
judged the well-formedness of the sentences and word options, adding comments
|
316 |
to items judged not well-formed. Results showed a 75% rate of well-formedness
|
317 |
-
for sentences and 66.85% rate for
|
318 |
improvement over the generator used earlier in our research which did not take
|
319 |
advantage of GPT's capabilities. Post-hoc qualitative analysis reveals several
|
320 |
points for improvement in future work including cross-referencing
|
321 |
part-of-speech tagging, better sentence validation, and improving GPT prompts.
|
322 |
|
323 |
-
|
324 |
-
|
325 |
-
|
326 |
-
*Yuan Tang*
|
327 |
-
|
328 |
-
TF.Learn is a high-level Python module for distributed machine learning
|
329 |
inside TensorFlow. It provides an easy-to-use Scikit-learn style interface to
|
330 |
simplify the process of creating, configuring, training, evaluating, and
|
331 |
experimenting a machine learning model. TF.Learn integrates a wide range of
|
@@ -336,12 +281,9 @@ high-level language as well as researchers who want to implement, benchmark,
|
|
336 |
and compare their new methods in a structured environment. Emphasis is put on
|
337 |
ease of use, performance, documentation, and API consistency.
|
338 |
|
339 |
-
|
340 |
-
|
341 |
-
|
342 |
-
*Vanika Singhal and Angshul Majumdar*
|
343 |
-
|
344 |
-
The concept of deep dictionary learning has been recently proposed. Unlike
|
345 |
shallow dictionary learning which learns single level of dictionary to
|
346 |
represent the data, it uses multiple layers of dictionaries. So far, the
|
347 |
problem could only be solved in a greedy fashion; this was achieved by learning
|
@@ -358,12 +300,9 @@ autoencoder, deep belief network, contractive autoencoder and K-sparse
|
|
358 |
autoencoder) show that our method supersedes their performance both in accuracy
|
359 |
and speed.
|
360 |
|
361 |
-
|
362 |
-
|
363 |
-
|
364 |
-
*Jeff Heaton*
|
365 |
-
|
366 |
-
Deep learning is a group of exciting new technologies for neural networks.
|
367 |
Through a combination of advanced training techniques and neural network
|
368 |
architectural components, it is now possible to create neural networks that can
|
369 |
handle tabular data, images, text, and audio as both input and output. Deep
|
@@ -382,12 +321,9 @@ implement deep learning using Google TensorFlow and Keras. It is not necessary
|
|
382 |
to know Python prior to this book; however, familiarity with at least one
|
383 |
programming language is assumed.
|
384 |
|
385 |
-
|
386 |
-
|
387 |
-
|
388 |
-
*Luc Le Magoarou (INRIA - IRISA), R\'emi Gribonval (INRIA - IRISA)*
|
389 |
-
|
390 |
-
Dictionary learning is a branch of signal processing and machine learning
|
391 |
that aims at finding a frame (called dictionary) in which some training data
|
392 |
admits a sparse representation. The sparser the representation, the better the
|
393 |
dictionary. The resulting dictionary is in general a dense matrix, and its
|
@@ -400,12 +336,9 @@ dictionaries --and their fast implementation-- over training data. The approach
|
|
400 |
is demonstrated experimentally with the factorization of the Hadamard matrix
|
401 |
and with synthetic dictionary learning experiments.
|
402 |
|
403 |
-
|
404 |
-
|
405 |
-
|
406 |
-
*Shuai Shao, Lei Xing, Wei Yu, Rui Xu, Yanjiang Wang, Baodi Liu*
|
407 |
-
|
408 |
-
The label-embedded dictionary learning (DL) algorithms generate influential
|
409 |
dictionaries by introducing discriminative information. However, there exists a
|
410 |
limitation: All the label-embedded DL methods rely on the labels due that this
|
411 |
way merely achieves ideal performances in supervised learning. While in
|
@@ -420,12 +353,9 @@ label-embedded DL method. We evaluate our SSDL on two human activity
|
|
420 |
recognition datasets. The comparison results with other state-of-the-art
|
421 |
methods have demonstrated the efficiency of SSDL.
|
422 |
|
423 |
-
|
424 |
-
|
425 |
-
|
426 |
-
*Fabian Pedregosa, Ga\"el Varoquaux, Alexandre Gramfort, Vincent Michel, Bertrand Thirion, Olivier Grisel, Mathieu Blondel, Andreas M\"uller, Joel Nothman, Gilles Louppe, Peter Prettenhofer, Ron Weiss, Vincent Dubourg, Jake Vanderplas, Alexandre Passos, David Cournapeau, Matthieu Brucher, Matthieu Perrot, \'Edouard Duchesnay*
|
427 |
-
|
428 |
-
Scikit-learn is a Python module integrating a wide range of state-of-the-art
|
429 |
machine learning algorithms for medium-scale supervised and unsupervised
|
430 |
problems. This package focuses on bringing machine learning to non-specialists
|
431 |
using a general-purpose high-level language. Emphasis is put on ease of use,
|
@@ -434,12 +364,9 @@ and is distributed under the simplified BSD license, encouraging its use in
|
|
434 |
both academic and commercial settings. Source code, binaries, and documentation
|
435 |
can be downloaded from http://scikit-learn.org.
|
436 |
|
437 |
-
|
438 |
-
|
439 |
-
|
440 |
-
*Yifei Shen, Ye Xue, Jun Zhang, Khaled B. Letaief, and Vincent Lau*
|
441 |
-
|
442 |
-
Dictionary learning is a classic representation learning method that has been
|
443 |
widely applied in signal processing and data analytics. In this paper, we
|
444 |
investigate a family of $\ell_p$-norm ($p>2,p \in \mathbb{N}$) maximization
|
445 |
approaches for the complete dictionary learning problem from theoretical and
|
@@ -454,12 +381,9 @@ experiments will demonstrate that the $\ell_p$-based approaches enjoy a higher
|
|
454 |
computational efficiency and better robustness than conventional approaches and
|
455 |
$p=3$ performs the best.
|
456 |
|
457 |
-
|
458 |
-
|
459 |
-
|
460 |
-
*Alexander Tapley and Kyle Gatesman and Luis Robaina and Brett Bissey and Joseph Weissman*
|
461 |
-
|
462 |
-
Explainable Reinforcement Learning (XRL) can provide transparency into the
|
463 |
decision-making process of a Deep Reinforcement Learning (DRL) model and
|
464 |
increase user trust and adoption in real-world use cases. By utilizing XRL
|
465 |
techniques, researchers can identify potential vulnerabilities within a trained
|
@@ -472,12 +396,9 @@ effectiveness, we provide explainability visualizations and vulnerability
|
|
472 |
analysis for a publicly available DRL model. The open-source code repository is
|
473 |
available for download at https://github.com/mitre/arlin.
|
474 |
|
475 |
-
|
476 |
-
|
477 |
-
|
478 |
-
*Harsha Nori and Samuel Jenkins and Paul Koch and Rich Caruana*
|
479 |
-
|
480 |
-
InterpretML is an open-source Python package which exposes machine learning
|
481 |
interpretability algorithms to practitioners and researchers. InterpretML
|
482 |
exposes two types of interpretability - glassbox models, which are machine
|
483 |
learning models designed for interpretability (ex: linear models, rule lists,
|
@@ -490,205 +411,74 @@ the Explainable Boosting Machine, a powerful, interpretable, glassbox model
|
|
490 |
that can be as accurate as many blackbox models. The MIT licensed source code
|
491 |
can be downloaded from github.com/microsoft/interpret.
|
492 |
|
493 |
-
|
494 |
-
|
495 |
-
|
496 |
-
|
497 |
-
|
498 |
-
|
499 |
-
|
500 |
-
**PDF Link:** [https://arxiv.org/pdf/2307.05029](https://arxiv.org/pdf/2307.05029)
|
501 |
-
|
502 |
-
---
|
503 |
-
|
504 |
-
**Date:** 29 Jan 2020
|
505 |
-
|
506 |
-
**Title:** stream-learn -- open-source Python library for difficult data stream batch analysis
|
507 |
-
|
508 |
-
**Abstract Link:** [https://arxiv.org/abs/2001.11077](https://arxiv.org/abs/2001.11077)
|
509 |
-
|
510 |
-
**PDF Link:** [https://arxiv.org/pdf/2001.11077](https://arxiv.org/pdf/2001.11077)
|
511 |
-
|
512 |
-
---
|
513 |
-
|
514 |
-
**Date:** 16 Oct 2022
|
515 |
-
|
516 |
-
**Title:** POTATO: exPlainable infOrmation exTrAcTion framewOrk
|
517 |
-
|
518 |
-
**Abstract Link:** [https://arxiv.org/abs/2201.13230](https://arxiv.org/abs/2201.13230)
|
519 |
-
|
520 |
-
**PDF Link:** [https://arxiv.org/pdf/2201.13230](https://arxiv.org/pdf/2201.13230)
|
521 |
-
|
522 |
-
---
|
523 |
-
|
524 |
-
**Date:** 01 Aug 2019
|
525 |
-
|
526 |
-
**Title:** ProSper -- A Python Library for Probabilistic Sparse Coding with Non-Standard Priors and Superpositions
|
527 |
-
|
528 |
-
**Abstract Link:** [https://arxiv.org/abs/1908.06843](https://arxiv.org/abs/1908.06843)
|
529 |
-
|
530 |
-
**PDF Link:** [https://arxiv.org/pdf/1908.06843](https://arxiv.org/pdf/1908.06843)
|
531 |
-
|
532 |
-
---
|
533 |
-
|
534 |
-
**Date:** 27 Jul 2020
|
535 |
-
|
536 |
-
**Title:** metric-learn: Metric Learning Algorithms in Python
|
537 |
-
|
538 |
-
**Abstract Link:** [https://arxiv.org/abs/1908.04710](https://arxiv.org/abs/1908.04710)
|
539 |
-
|
540 |
-
**PDF Link:** [https://arxiv.org/pdf/1908.04710](https://arxiv.org/pdf/1908.04710)
|
541 |
-
|
542 |
-
---
|
543 |
|
544 |
-
|
545 |
-
|
546 |
-
|
547 |
-
|
548 |
-
**Abstract Link:** [https://arxiv.org/abs/2311.06169](https://arxiv.org/abs/2311.06169)
|
549 |
-
|
550 |
-
**PDF Link:** [https://arxiv.org/pdf/2311.06169](https://arxiv.org/pdf/2311.06169)
|
551 |
-
|
552 |
-
---
|
553 |
-
|
554 |
-
**Date:** 12 Jul 2021
|
555 |
-
|
556 |
-
**Title:** Online Graph Dictionary Learning
|
557 |
-
|
558 |
-
**Abstract Link:** [https://arxiv.org/abs/2102.06555](https://arxiv.org/abs/2102.06555)
|
559 |
-
|
560 |
-
**PDF Link:** [https://arxiv.org/pdf/2102.06555](https://arxiv.org/pdf/2102.06555)
|
561 |
-
|
562 |
-
---
|
563 |
-
|
564 |
-
**Date:** 25 Nov 2021
|
565 |
-
|
566 |
-
**Title:** Online Orthogonal Dictionary Learning Based on Frank-Wolfe Method
|
567 |
-
|
568 |
-
**Abstract Link:** [https://arxiv.org/abs/2103.01484](https://arxiv.org/abs/2103.01484)
|
569 |
-
|
570 |
-
**PDF Link:** [https://arxiv.org/pdf/2103.01484](https://arxiv.org/pdf/2103.01484)
|
571 |
-
|
572 |
-
---
|
573 |
-
|
574 |
-
**Date:** 14 Jun 2022
|
575 |
-
|
576 |
-
**Title:** Supervised Dictionary Learning with Auxiliary Covariates
|
577 |
-
|
578 |
-
**Abstract Link:** [https://arxiv.org/abs/2206.06774](https://arxiv.org/abs/2206.06774)
|
579 |
-
|
580 |
-
**PDF Link:** [https://arxiv.org/pdf/2206.06774](https://arxiv.org/pdf/2206.06774)
|
581 |
-
|
582 |
-
---
|
583 |
-
|
584 |
-
**Date:** 07 Oct 2013
|
585 |
-
|
586 |
-
**Title:** Online Unsupervised Feature Learning for Visual Tracking
|
587 |
-
|
588 |
-
**Abstract Link:** [https://arxiv.org/abs/1310.1690](https://arxiv.org/abs/1310.1690)
|
589 |
-
|
590 |
-
**PDF Link:** [https://arxiv.org/pdf/1310.1690](https://arxiv.org/pdf/1310.1690)
|
591 |
-
|
592 |
-
---
|
593 |
-
|
594 |
-
**Date:** 04 Mar 2024
|
595 |
-
|
596 |
-
**Title:** Automated Generation of Multiple-Choice Cloze Questions for Assessing English Vocabulary Using GPT-turbo 3.5
|
597 |
-
|
598 |
-
**Abstract Link:** [https://arxiv.org/abs/2403.02078](https://arxiv.org/abs/2403.02078)
|
599 |
-
|
600 |
-
**PDF Link:** [https://arxiv.org/pdf/2403.02078](https://arxiv.org/pdf/2403.02078)
|
601 |
-
|
602 |
-
---
|
603 |
-
|
604 |
-
**Date:** 13 Dec 2016
|
605 |
-
|
606 |
-
**Title:** TF.Learn: TensorFlow's High-level Module for Distributed Machine Learning
|
607 |
-
|
608 |
-
**Abstract Link:** [https://arxiv.org/abs/1612.04251](https://arxiv.org/abs/1612.04251)
|
609 |
-
|
610 |
-
**PDF Link:** [https://arxiv.org/pdf/1612.04251](https://arxiv.org/pdf/1612.04251)
|
611 |
-
|
612 |
-
---
|
613 |
-
|
614 |
-
**Date:** 11 Dec 2019
|
615 |
-
|
616 |
-
**Title:** Majorization Minimization Technique for Optimally Solving Deep Dictionary Learning
|
617 |
-
|
618 |
-
**Abstract Link:** [https://arxiv.org/abs/1912.10801](https://arxiv.org/abs/1912.10801)
|
619 |
-
|
620 |
-
**PDF Link:** [https://arxiv.org/pdf/1912.10801](https://arxiv.org/pdf/1912.10801)
|
621 |
-
|
622 |
-
---
|
623 |
-
|
624 |
-
**Date:** 17 May 2022
|
625 |
-
|
626 |
-
**Title:** Applications of Deep Neural Networks with Keras
|
627 |
-
|
628 |
-
**Abstract Link:** [https://arxiv.org/abs/2009.05673](https://arxiv.org/abs/2009.05673)
|
629 |
-
|
630 |
-
**PDF Link:** [https://arxiv.org/pdf/2009.05673](https://arxiv.org/pdf/2009.05673)
|
631 |
-
|
632 |
-
---
|
633 |
-
|
634 |
-
**Date:** 26 Feb 2015
|
635 |
-
|
636 |
-
**Title:** Learning computationally efficient dictionaries and their implementation as fast transforms
|
637 |
-
|
638 |
-
**Abstract Link:** [https://arxiv.org/abs/1406.5388](https://arxiv.org/abs/1406.5388)
|
639 |
-
|
640 |
-
**PDF Link:** [https://arxiv.org/pdf/1406.5388](https://arxiv.org/pdf/1406.5388)
|
641 |
-
|
642 |
-
---
|
643 |
-
|
644 |
-
**Date:** 03 Dec 2021
|
645 |
-
|
646 |
-
**Title:** SSDL: Self-Supervised Dictionary Learning
|
647 |
-
|
648 |
-
**Abstract Link:** [https://arxiv.org/abs/2112.01790](https://arxiv.org/abs/2112.01790)
|
649 |
-
|
650 |
-
**PDF Link:** [https://arxiv.org/pdf/2112.01790](https://arxiv.org/pdf/2112.01790)
|
651 |
-
|
652 |
-
---
|
653 |
-
|
654 |
-
**Date:** 05 Jun 2018
|
655 |
-
|
656 |
-
**Title:** Scikit-learn: Machine Learning in Python
|
657 |
-
|
658 |
-
**Abstract Link:** [https://arxiv.org/abs/1201.0490](https://arxiv.org/abs/1201.0490)
|
659 |
-
|
660 |
-
**PDF Link:** [https://arxiv.org/pdf/1201.0490](https://arxiv.org/pdf/1201.0490)
|
661 |
-
|
662 |
-
---
|
663 |
-
|
664 |
-
**Date:** 15 Jul 2020
|
665 |
-
|
666 |
-
**Title:** Complete Dictionary Learning via $\ell_p$-norm Maximization
|
667 |
-
|
668 |
-
**Abstract Link:** [https://arxiv.org/abs/2002.10043](https://arxiv.org/abs/2002.10043)
|
669 |
-
|
670 |
-
**PDF Link:** [https://arxiv.org/pdf/2002.10043](https://arxiv.org/pdf/2002.10043)
|
671 |
-
|
672 |
-
---
|
673 |
|
674 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
675 |
|
676 |
-
**Title:** Utilizing Explainability Techniques for Reinforcement Learning Model Assurance
|
677 |
|
678 |
-
**Abstract Link:** [https://arxiv.org/abs/2311.15838](https://arxiv.org/abs/2311.15838)
|
679 |
|
680 |
-
**PDF Link:** [https://arxiv.org/pdf/2311.15838](https://arxiv.org/pdf/2311.15838)
|
681 |
|
682 |
-
|
|
|
683 |
|
684 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
685 |
|
686 |
-
|
687 |
|
688 |
-
|
689 |
|
690 |
-
|
691 |
|
692 |
-
---
|
693 |
|
694 |
-
''')
|
|
|
1 |
import streamlit as st
|
2 |
import numpy as np
|
3 |
+
from sklearn.feature_extraction.text import CountVectorizer
|
4 |
from sklearn.decomposition import DictionaryLearning
|
5 |
+
import pandas as pd
|
6 |
+
import networkx as nx
|
7 |
import matplotlib.pyplot as plt
|
8 |
|
9 |
# Title of the app
|
|
|
15 |
Dictionary learning aims to find a sparse representation of the data in the form of a dictionary and a sparse matrix.
|
16 |
''')
|
17 |
|
18 |
+
# Text input
|
19 |
+
text_input = st.text_area("Enter the text to analyze:", value='''
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20 |
# 🩺🔍 Search Results
|
21 |
### 11 Jul 2023 | [FairLay-ML: Intuitive Remedies for Unfairness in Data-Driven Social-Critical Algorithms](https://arxiv.org/abs/2307.05029) | [⬇️](https://arxiv.org/pdf/2307.05029)
|
22 |
*Normen Yu, Gang Tan, Saeid Tizpaz-Niari*
|
|
|
262 |
academic words. The generated items were reviewed by expert reviewers who
|
263 |
judged the well-formedness of the sentences and word options, adding comments
|
264 |
to items judged not well-formed. Results showed a 75% rate of well-formedness
|
265 |
+
for sentences and 66.85% rate for suitableword options. This is a marked
|
266 |
improvement over the generator used earlier in our research which did not take
|
267 |
advantage of GPT's capabilities. Post-hoc qualitative analysis reveals several
|
268 |
points for improvement in future work including cross-referencing
|
269 |
part-of-speech tagging, better sentence validation, and improving GPT prompts.
|
270 |
|
271 |
+
13 Dec 2016 | TF.Learn: TensorFlow's High-level Module for Distributed Machine Learning | ⬇️
|
272 |
+
Yuan Tang
|
273 |
+
TF.Learn is a high-level Python module for distributed machine learning
|
|
|
|
|
|
|
274 |
inside TensorFlow. It provides an easy-to-use Scikit-learn style interface to
|
275 |
simplify the process of creating, configuring, training, evaluating, and
|
276 |
experimenting a machine learning model. TF.Learn integrates a wide range of
|
|
|
281 |
and compare their new methods in a structured environment. Emphasis is put on
|
282 |
ease of use, performance, documentation, and API consistency.
|
283 |
|
284 |
+
11 Dec 2019 | Majorization Minimization Technique for Optimally Solving Deep Dictionary Learning | ⬇️
|
285 |
+
Vanika Singhal and Angshul Majumdar
|
286 |
+
The concept of deep dictionary learning has been recently proposed. Unlike
|
|
|
|
|
|
|
287 |
shallow dictionary learning which learns single level of dictionary to
|
288 |
represent the data, it uses multiple layers of dictionaries. So far, the
|
289 |
problem could only be solved in a greedy fashion; this was achieved by learning
|
|
|
300 |
autoencoder) show that our method supersedes their performance both in accuracy
|
301 |
and speed.
|
302 |
|
303 |
+
17 May 2022 | Applications of Deep Neural Networks with Keras | ⬇️
|
304 |
+
Jeff Heaton
|
305 |
+
Deep learning is a group of exciting new technologies for neural networks.
|
|
|
|
|
|
|
306 |
Through a combination of advanced training techniques and neural network
|
307 |
architectural components, it is now possible to create neural networks that can
|
308 |
handle tabular data, images, text, and audio as both input and output. Deep
|
|
|
321 |
to know Python prior to this book; however, familiarity with at least one
|
322 |
programming language is assumed.
|
323 |
|
324 |
+
26 Feb 2015 | Learning computationally efficient dictionaries and their implementation as fast transforms | ⬇️
|
325 |
+
Luc Le Magoarou (INRIA - IRISA), R'emi Gribonval (INRIA - IRISA)
|
326 |
+
Dictionary learning is a branch of signal processing and machine learning
|
|
|
|
|
|
|
327 |
that aims at finding a frame (called dictionary) in which some training data
|
328 |
admits a sparse representation. The sparser the representation, the better the
|
329 |
dictionary. The resulting dictionary is in general a dense matrix, and its
|
|
|
336 |
is demonstrated experimentally with the factorization of the Hadamard matrix
|
337 |
and with synthetic dictionary learning experiments.
|
338 |
|
339 |
+
03 Dec 2021 | SSDL: Self-Supervised Dictionary Learning | ⬇️
|
340 |
+
Shuai Shao, Lei Xing, Wei Yu, Rui Xu, Yanjiang Wang, Baodi Liu
|
341 |
+
The label-embedded dictionary learning (DL) algorithms generate influential
|
|
|
|
|
|
|
342 |
dictionaries by introducing discriminative information. However, there exists a
|
343 |
limitation: All the label-embedded DL methods rely on the labels due that this
|
344 |
way merely achieves ideal performances in supervised learning. While in
|
|
|
353 |
recognition datasets. The comparison results with other state-of-the-art
|
354 |
methods have demonstrated the efficiency of SSDL.
|
355 |
|
356 |
+
05 Jun 2018 | Scikit-learn: Machine Learning in Python | ⬇️
|
357 |
+
Fabian Pedregosa, Ga"el Varoquaux, Alexandre Gramfort, Vincent Michel, Bertrand Thirion, Olivier Grisel, Mathieu Blondel, Andreas M"uller, Joel Nothman, Gilles Louppe, Peter Prettenhofer, Ron Weiss, Vincent Dubourg, Jake Vanderplas, Alexandre Passos, David Cournapeau, Matthieu Brucher, Matthieu Perrot, 'Edouard Duchesnay
|
358 |
+
Scikit-learn is a Python module integrating a wide range of state-of-the-art
|
|
|
|
|
|
|
359 |
machine learning algorithms for medium-scale supervised and unsupervised
|
360 |
problems. This package focuses on bringing machine learning to non-specialists
|
361 |
using a general-purpose high-level language. Emphasis is put on ease of use,
|
|
|
364 |
both academic and commercial settings. Source code, binaries, and documentation
|
365 |
can be downloaded from http://scikit-learn.org.
|
366 |
|
367 |
+
15 Jul 2020 | Complete Dictionary Learning via $\ell_p$-norm Maximization | ⬇️
|
368 |
+
Yifei Shen, Ye Xue, Jun Zhang, Khaled B. Letaief, and Vincent Lau
|
369 |
+
Dictionary learning is a classic representation learning method that has been
|
|
|
|
|
|
|
370 |
widely applied in signal processing and data analytics. In this paper, we
|
371 |
investigate a family of $\ell_p$-norm ($p>2,p \in \mathbb{N}$) maximization
|
372 |
approaches for the complete dictionary learning problem from theoretical and
|
|
|
381 |
computational efficiency and better robustness than conventional approaches and
|
382 |
$p=3$ performs the best.
|
383 |
|
384 |
+
27 Nov 2023 | Utilizing Explainability Techniques for Reinforcement Learning Model Assurance | ⬇️
|
385 |
+
Alexander Tapley and Kyle Gatesman and Luis Robaina and Brett Bissey and Joseph Weissman
|
386 |
+
Explainable Reinforcement Learning (XRL) can provide transparency into the
|
|
|
|
|
|
|
387 |
decision-making process of a Deep Reinforcement Learning (DRL) model and
|
388 |
increase user trust and adoption in real-world use cases. By utilizing XRL
|
389 |
techniques, researchers can identify potential vulnerabilities within a trained
|
|
|
396 |
analysis for a publicly available DRL model. The open-source code repository is
|
397 |
available for download at https://github.com/mitre/arlin.
|
398 |
|
399 |
+
19 Sep 2019 | InterpretML: A Unified Framework for Machine Learning Interpretability | ⬇️
|
400 |
+
Harsha Nori and Samuel Jenkins and Paul Koch and Rich Caruana
|
401 |
+
InterpretML is an open-source Python package which exposes machine learning
|
|
|
|
|
|
|
402 |
interpretability algorithms to practitioners and researchers. InterpretML
|
403 |
exposes two types of interpretability - glassbox models, which are machine
|
404 |
learning models designed for interpretability (ex: linear models, rule lists,
|
|
|
411 |
that can be as accurate as many blackbox models. The MIT licensed source code
|
412 |
can be downloaded from github.com/microsoft/interpret.
|
413 |
|
414 |
+
''', height=200)
|
415 |
+
Get user input for the number of dictionary components
|
416 |
+
n_components = st.slider('Number of dictionary components', 1, 20, 10)
|
417 |
+
if st.button('Analyze'):
|
418 |
+
# Perform text preprocessing
|
419 |
+
vectorizer = CountVectorizer(stop_words='english')
|
420 |
+
X = vectorizer.fit_transform([text_input])
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
421 |
|
422 |
+
# Perform dictionary learning
|
423 |
+
dl = DictionaryLearning(n_components=n_components, transform_algorithm='lasso_lars', random_state=0)
|
424 |
+
X_transformed = dl.fit_transform(X)
|
425 |
+
dictionary = dl.components_
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
426 |
|
427 |
+
# Get the feature names (terms)
|
428 |
+
feature_names = vectorizer.get_feature_names_out()
|
429 |
+
|
430 |
+
# Create a DataFrame with dictionary components and their corresponding terms
|
431 |
+
df_components = pd.DataFrame(dictionary, columns=feature_names)
|
432 |
+
df_components['Component'] = ['Component ' + str(i+1) for i in range(n_components)]
|
433 |
+
df_components = df_components.set_index('Component')
|
434 |
+
|
435 |
+
# Display the DataFrame
|
436 |
+
st.markdown("### Dictionary Components")
|
437 |
+
st.dataframe(df_components)
|
438 |
+
|
439 |
+
# Create a graph of terms and their connections
|
440 |
+
G = nx.Graph()
|
441 |
+
|
442 |
+
# Add nodes to the graph
|
443 |
+
for term in feature_names:
|
444 |
+
G.add_node(term)
|
445 |
+
|
446 |
+
# Add edges to the graph based on co-occurrence in dictionary components
|
447 |
+
for i in range(n_components):
|
448 |
+
terms = df_components.columns[df_components.iloc[i] > 0]
|
449 |
+
for term1 in terms:
|
450 |
+
for term2 in terms:
|
451 |
+
if term1 != term2:
|
452 |
+
G.add_edge(term1, term2)
|
453 |
+
|
454 |
+
# Plot the graph
|
455 |
+
fig, ax = plt.subplots(figsize=(8, 8))
|
456 |
+
pos = nx.spring_layout(G, k=0.3)
|
457 |
+
nx.draw_networkx_nodes(G, pos, node_size=100, node_color='lightblue', alpha=0.8)
|
458 |
+
nx.draw_networkx_edges(G, pos, edge_color='gray', alpha=0.5)
|
459 |
+
nx.draw_networkx_labels(G, pos, font_size=8)
|
460 |
+
ax.axis('off')
|
461 |
+
st.pyplot(fig)
|
462 |
|
|
|
463 |
|
|
|
464 |
|
|
|
465 |
|
466 |
+
st,write('''
|
467 |
+
In this code:
|
468 |
|
469 |
+
1. The text input is provided through a textarea (`st.text_area`) and stored in the `text_input` variable.
|
470 |
+
2. The user can specify the number of dictionary components using a slider (`st.slider`).
|
471 |
+
3. When the "Analyze" button is clicked (`st.button`), the following steps are performed:
|
472 |
+
- The text is preprocessed using the `CountVectorizer` from scikit-learn.
|
473 |
+
- Dictionary learning is performed on the preprocessed text data.
|
474 |
+
- The dictionary components and their corresponding terms are displayed in a DataFrame using Streamlit's `st.dataframe`.
|
475 |
+
- A graph is created using the NetworkX library to visualize the connections between the terms based on their co-occurrence in the dictionary components.
|
476 |
+
- The graph is plotted using Matplotlib and displayed using Streamlit's `st.pyplot`.
|
477 |
|
478 |
+
The text input is directly included in the code using a multiline string (triple quotes `'''`). This allows the user to analyze the provided text by clicking the "Analyze" button.
|
479 |
|
480 |
+
The rest of the code remains the same as before, with the addition of the text input being provided through the textarea.
|
481 |
|
482 |
+
''')
|
483 |
|
|
|
484 |
|
|