Learning-based Programming Paradigm: Difference between revisions

From GM-RKB
Jump to navigation Jump to search
m (Text replacement - "<P> [[" to "<P>  [[")
m (Text replacement - " [[" to " [[")
 
Line 9: Line 9:
=== 2011 ===
=== 2011 ===
* http://cogcomp.cs.illinois.edu/page/project_view/23
* http://cogcomp.cs.illinois.edu/page/project_view/23
** [[Learning based program]]s are [[software application]]s that utilize [[machine learning technology]] to [[interact with]] [[naturally occurring data]] that are highly [[variable data|variable]] and [[ambiguous|ambiguous data]]. They lend themselves towards a [[computational model]] in which some of the [[variable]]s, [[concept]]s, and [[relation]]s may be [[task definition task|defined]] only in a [[data-driven task|data driven way]], or may not be unambiguously defined without relying on other concepts acquired this way. Unfortunately, neither [[modern programming language]]s nor the [[mathematical abstraction]]s so cleanly utilized by [[machine learning researcher]]s facilitate such a [[programming model|model]]. As a result, it is inevitable that the design of systems with multiple learning components becomes quite complex, and their efficient implementation can only be accomplished by those with expertise both in the selected [[learning algorithm]]s and the application domain. Even when such expertise is available, implementations of conceptually simple learning-based programs can be time consuming and prone to error.        <P>         [[Learning-based Programming Paradigm|Learning Based Programming (LBP)]] is a [[programming paradigm]] that addresses these issues. In [[Learning-based Programming Paradigm|LBP]], the implementation details of feature extraction, learning, and inference are abstracted away from the [[programmer]] so that he or she may focus more directly on the design of his application. To accomplish this, an [[Learning-based Programming Paradigm|LBP]] implementation formalizes the definitions of these concepts so that they may be integrated into a [[programming language]], enabling the [[programmer]] to use them as building blocks. Using [[Learning-based Programming Paradigm|LBP]], a programmer names classifiers and optionally provides [[hard-coded definition]]s for them. Where [[hard-coded definition]]s are not available, other classifiers are designated as information sources, and the compiler takes care of learning the desired classifiers from data. Constraints over one or more classifiers' outputs may also be imposed declaratively, and [[learned classifier]]s will automatically respect them.
** [[Learning based program]]s are [[software application]]s that utilize [[machine learning technology]] to [[interact with]] [[naturally occurring data]] that are highly [[variable data|variable]] and [[ambiguous|ambiguous data]]. They lend themselves towards a [[computational model]] in which some of the [[variable]]s, [[concept]]s, and [[relation]]s may be [[task definition task|defined]] only in a [[data-driven task|data driven way]], or may not be unambiguously defined without relying on other concepts acquired this way. Unfortunately, neither [[modern programming language]]s nor the [[mathematical abstraction]]s so cleanly utilized by [[machine learning researcher]]s facilitate such a [[programming model|model]]. As a result, it is inevitable that the design of systems with multiple learning components becomes quite complex, and their efficient implementation can only be accomplished by those with expertise both in the selected [[learning algorithm]]s and the application domain. Even when such expertise is available, implementations of conceptually simple learning-based programs can be time consuming and prone to error.        <P>         [[Learning-based Programming Paradigm|Learning Based Programming (LBP)]] is a [[programming paradigm]] that addresses these issues. In [[Learning-based Programming Paradigm|LBP]], the implementation details of feature extraction, learning, and inference are abstracted away from the [[programmer]] so that he or she may focus more directly on the design of his application. To accomplish this, an [[Learning-based Programming Paradigm|LBP]] implementation formalizes the definitions of these concepts so that they may be integrated into a [[programming language]], enabling the [[programmer]] to use them as building blocks. Using [[Learning-based Programming Paradigm|LBP]], a programmer names classifiers and optionally provides [[hard-coded definition]]s for them. Where [[hard-coded definition]]s are not available, other classifiers are designated as information sources, and the compiler takes care of learning the desired classifiers from data. Constraints over one or more classifiers' outputs may also be imposed declaratively, and [[learned classifier]]s will automatically respect them.


=== 2010 ===
=== 2010 ===

Latest revision as of 09:04, 23 May 2024

A Learning-based Programming Paradigm is a Data-Driven Programming Paradigm that includes the ability to insert machine learning operations.



References

2011

2010