Abstract
We present a programming language for machine learning based on the concepts of ‘induction’ and ‘abduction’ as encountered in Peirce’s logic of science. We consider the desirable features such a language must have, and we identify the ‘abductive decoupling’ of parameters as a key general enabler of these features. Both an idealised abductive calculus and its implementation as a PPX extension of OCaml are presented, along with several simple examples.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
The Curry-Howard correspondence emphasises types, whereas realisability emphasises proofs. Because we discuss new proof rules, rather than new types, we will prefer the realisability approach.
- 2.
Abduction is essential in making statements about reality when we only have access to sense-data such as measurements. For example, the Result might be ‘The thermometer reads \(10^{\circ }\)’ with the Rule ‘If the temperature is \(10^{\circ }\) then the thermometer reads \(10^{\circ }\)’. From these we can abduce the Case, that ‘The temperature is \(10^{\circ }\)’. Note that this can never be apodeictic because, for example, the thermometer may be broken. Denying abductive reasoning and demanding the certainty of deduction leads to universal scepticism, e.g. Descartes’s ‘evil demon’ which may subvert our experience of the world.
- 3.
- 4.
References
Chu, C.T., Kim, S.K., Lin, Y.A., Yu, Y., Bradski, G., Olukotun, K., Ng, A.Y.: Map-reduce for machine learning on multicore. In: Advances in Neural Information Processing Systems, pp. 281–288 (2007)
King, D.E.: Dlib-ml: a machine learning toolkit. J. Mach. Learn. Res. 10, 1755–1758 (2009)
Huet, G.: Deduction and computation. In: Bibel, W., Jorrand, P. (eds.) Fundamentals of Artificial Intelligence: An Advanced Course. LNCS, vol. 232, pp. 38–74. Springer, Heidelberg (1986). https://doi.org/10.1007/BFb0022680
Muroya, K., Cheung, S., Ghica, D.R.: Abductive functional programming, a semantic approach. CoRR abs/1710.03984 (2017). Submitted for publication
Howson, C.: Hume’s Problem: Induction and the Justification of Belief. Clarendon Press, Oxford (2000)
Kleene, S.C.: On the interpretation of intuitionistic number theory. J. Symb. Log. 10(4), 109–124 (1945)
Howard, W.A.: The formulae-as-types notion of construction. In: To HB Curry: Essays on Combinatory Logic, Lambda Calculus and Formalism, vol. 44, pp. 479–490 (1980)
Sheridan, F.: A survey of techniques for inference under uncertainty. Artif. Intell. Rev. 5(1–2), 89–119 (1991)
Aurenhammer, F.: Voronoi diagramsa survey of a fundamental geometric data structure. ACM Comput. Surv. (CSUR) 23(3), 345–405 (1991)
Marks, R.: Introduction to Shannon Sampling and Interpolation Theory. Springer, New York (2012). https://doi.org/10.1007/978-1-4613-9708-3
Vaughn, B.K.: Data analysis using regression and multilevel/hierarchical models. J. Educ. Meas. 45(1), 94–97 (2008)
Ehrgott, M., Gandibleux, X.: A survey and annotated bibliography of multiobjective combinatorial optimization. OR-Spektrum 22(4), 425–460 (2000)
Snyman, J.: Practical Mathematical Optimization: An Introduction to Basic Optimization Theory and Classical and New Gradient-Based Algorithms, vol. 97. Springer, Boston (2005). https://doi.org/10.1007/b105200
Smith, B.C.: Reflection and semantics in Lisp. In: POPL, pp. 23–35. ACM (1984)
Rall, L.B.: Automatic Differentiation: Techniques and Applications. Springer, Heidelberg (1981). https://doi.org/10.1007/3-540-10861-0
Lyness, J.N., Moler, C.B.: Numerical differentiation of analytic functions. SIAM J. Numer. Anal. 4(2), 202–210 (1967)
Abadi, M., Agarwal, A., Barham, P., Brevdo, E., Chen, Z., Citro, C., Corrado, G.S., Davis, A., Dean, J., Devin, M., et al.: TensorFlow: large-scale machine learning on heterogeneous distributed systems. arXiv preprint arXiv:1603.04467 (2016)
Cleveland, W.S.: Robust locally weighted regression and smoothing scatterplots. J. Am. Stat. Assoc. 74(368), 829–836 (1979)
Lewis, J.R., Launchbury, J., Meijer, E., Shields, M.B.: Implicit parameters: dynamic scoping with static types. In: POPL, pp. 108–118 (2000)
Girard, J.Y.: Geometry of interaction 1: interpretation of system F. Stud. Log. Found. Math. 127, 221–260 (1989)
Muroya, K., Ghica, D.R.: The dynamic geometry of interaction machine: a call-by-need graph rewriter. In: Computer Science Logic, pp. 32:1–32:15 (2017)
Leroy, X., Doligez, D., Frisch, A., Garrigue, J., Rémy, D., Vouillon, J.: The OCaml system release 4.02 (2013)
Svenningsson, J., Axelsson, E.: Combining deep and shallow embedding for EDSL. In: Loidl, H.-W., Peña, R. (eds.) TFP 2012. LNCS, vol. 7829, pp. 21–36. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-40447-4_2
Scherr, M., Chiba, S.: Implicit staging of EDSL expressions: a bridge between shallow and deep embedding. In: Jones, R. (ed.) ECOOP 2014. LNCS, vol. 8586, pp. 385–410. Springer, Heidelberg (2014). https://doi.org/10.1007/978-3-662-44202-9_16
Gibbons, J., Wu, N.: Folding domain-specific languages: deep and shallow embeddings (functional pearl). In: ICFP, Gothenburg, Sweden, pp. 339–347 (2014)
Martin-Löf, P.: Analytic and synthetic judgements in type theory. In: Parrini, P. (ed.) Kant and Contemporary Epistemology, pp. 87–99. Springer, Dordrecht (1994). https://doi.org/10.1007/978-94-011-0834-8_5
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer International Publishing AG, part of Springer Nature
About this paper
Cite this paper
Cheung, S., Darvariu, V., Ghica, D.R., Muroya, K., Rowe, R.N.S. (2018). A Functional Perspective on Machine Learning via Programmable Induction and Abduction. In: Gallagher, J., Sulzmann, M. (eds) Functional and Logic Programming. FLOPS 2018. Lecture Notes in Computer Science(), vol 10818. Springer, Cham. https://doi.org/10.1007/978-3-319-90686-7_6
Download citation
DOI: https://doi.org/10.1007/978-3-319-90686-7_6
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-90685-0
Online ISBN: 978-3-319-90686-7
eBook Packages: Computer ScienceComputer Science (R0)