Commit Graph

635 Commits

Author SHA1 Message Date
Al
9abbf42bf4 [language_classifier] Command-line client for language classification 2016-01-26 01:20:59 -05:00
Al
314b65e192 [build] Adding shuffle.c to language_classifier_train 2016-01-26 01:18:35 -05:00
Al
ababb8f2d0 [fix] sign comparison in regularized gradient computation for logistic regression 2016-01-26 01:16:16 -05:00
Al
ae2b839f17 [build] Adding language classifier train/test/cli programs to the build 2016-01-26 00:09:07 -05:00
Al
5d5d5713cc [transliteration] Regenerating transliterator scripts 2016-01-18 12:04:14 -05:00
Al
0dfd8d6439 [language_classification] Adding script feature for any non-Latin script. Even if the script doesn't directly identify the language, it can act as a modified intercept (all Han script addresses will share the Han feature, even if we haven't seen one of the > 80k Han characters) 2016-01-17 21:37:45 -05:00
Al
b9a3230f65 [language_classification] Removing the per-country classifier, text-based alone is doing close to 99% accuracy now 2016-01-17 21:13:14 -05:00
Al
f808f74271 [language_classification] Automatic hyperparameter optimization using either the cross-validation set or two distinct subsets of the training set 2016-01-17 21:11:37 -05:00
Al
af5689ee52 [fix] removing unused var 2016-01-17 21:00:17 -05:00
Al
7d727fc8f0 [optimization] Using adapted learning rate in stochastic gradient descent (if lambda > 0) 2016-01-17 20:59:47 -05:00
Al
7b300639f1 [fix] Trie prefix search tail comparison 2016-01-17 20:56:37 -05:00
Al
70dbfdd560 [unicode] Regenerating unicode_script_data.c 2016-01-17 20:53:44 -05:00
Al
de240d2b94 [fix] tokenize_add_tokens respects specified length 2016-01-17 20:51:47 -05:00
Al
10cadc67d7 [io] matrix_read using array I/O functions 2016-01-17 20:40:18 -05:00
Al
baba826d21 [io] Cutting down on system calls in trie_read 2016-01-17 20:39:19 -05:00
Al
cba2acc21f [io] Sparse matrix using array I/O methods 2016-01-17 20:38:16 -05:00
Al
46b35c5202 [utils] Adding functions to read numeric arrays from files 2016-01-17 20:36:57 -05:00
Al
d4143c1685 [parsing] Adding an optimization to the parser API where, if the entire input is a single known geographic phrase like New York, it returns the most likely label from the training data. That way e.g. a search for 'Florida' doesn't get tagged as 'house.' This doesn't affect training, only prediction. 2016-01-15 20:07:21 -05:00
Al
622dc354e7 [optimization] Adding learning rate to lazy sparse update in stochastic gradient descent 2016-01-12 11:04:16 -05:00
Al
79f2b7c192 [build] Removing source from libpostal shared lib 2016-01-12 10:31:22 -05:00
Al
6a9c1e8c6d [build] Adding trie_utils.c to address parser train/test 2016-01-12 10:22:34 -05:00
Al
7cc201dec3 [optimization] Moving gamma_t calculation to the header in SGD 2016-01-11 16:40:50 -05:00
Al
25ae5bed33 [unicode] Adding SCRIPT_INHERITED as a common script so diacritics like COMBING CEDILLA don't break the current script and produce false word breaks 2016-01-11 16:39:21 -05:00
Al
3260edcf18 [math] Adding sparse dot sparse given a dense output matrix (suitable for the minibatch use case), fixing sparse dot vector 2016-01-11 13:55:54 -05:00
Al
736bc7c70d [config] language_classifier data dir 2016-01-10 03:05:36 -05:00
Al
ebaedb6bcf [language_classifier] Language classifier training using L2-regularized logistic regression and stochastic gradient descent 2016-01-10 01:31:18 -05:00
Al
56710cce21 [language_classifier] Language classifier data set I/O 2016-01-10 01:22:29 -05:00
Al
0558475a50 [language_classifier] Language classifier structs, I/O and API 2016-01-10 01:20:17 -05:00
Al
b85e454a58 [fix] var 2016-01-09 03:43:53 -05:00
Al
b13462f8ef [language_classifier] Features for address languages classification, quadgrams for most languages, unigrams for ideographic characters, script for single-script languages like Thai, Hebrew, etc. 2016-01-09 03:42:57 -05:00
Al
29930fa7b6 [fix] sort hash keys by value 2016-01-09 03:38:25 -05:00
Al
62017fd33d [optimization] Using sparse updates in stochastic gradient descent. Decomposing the updates into the gradient of the loss function (zero for features not observed in the current batch) and the gradient of the regularization term. The derivative of the regularization term in L2-regularized models is equivalent to an exponential decay function. Before computing the gradient for the current batch, we bring the weights up to date only for the features observed in that batch, and update only those values 2016-01-09 03:37:31 -05:00
Al
aa22db11b2 [math] Matrix arithmetic 2016-01-09 01:45:10 -05:00
Al
197b18f3cf [fix] NULL check 2016-01-09 01:43:25 -05:00
Al
9c4b5ccbb1 [math] Adding array_{op}_times_scalar methods 2016-01-09 01:42:54 -05:00
Al
2f1e2139ca [math] Unique columns as array for CSR sparse matrix 2016-01-09 01:40:26 -05:00
Al
023c04d78f [classification] Pre-allocating memory in logistic regression trainer, storing last updated timestamps for sparse stochastic gradient descent and using the new gradient API 2016-01-09 01:39:24 -05:00
Al
562cc06eaf [classification] Sparse version of logistic regression gradient which, given an array of the features/columns used in the input batch, only updates the gradient for that batch, even for the operations which otherwise would apply to the entire matrix (scaling by -1/m, regularization) 2016-01-09 01:33:33 -05:00
Al
5ca4bba1d5 [fix] Writing matrix dimension as 64-bit 2016-01-08 01:29:52 -05:00
Al
8f054eeeb1 [classification] Training structures for logistic regression and stochastic (minibatch) gradient descent update 2016-01-08 01:07:20 -05:00
Al
4acf10c3a4 [classification] Multinomial logistic regression, gradient and cost function 2016-01-08 01:03:09 -05:00
Al
8b70529711 [optimization] Stochastic gradient descent with gain schedule a la Leon Bottou 2016-01-08 00:54:17 -05:00
Al
6b164d263e [math] Sparse matrix from dense 2016-01-08 00:48:57 -05:00
Al
ba8fc716df [features] Functions for dealing with minibatches 2016-01-08 00:48:11 -05:00
Al
06638d2885 [fix] only strdup when necessary in feature counting functions 2016-01-08 00:46:41 -05:00
Al
31a3a2a3fa [math] Matrix scalar arithmetic functions 2016-01-08 00:44:33 -05:00
Al
b6ce94166b [sparse] Only increase size of sparse matrix on finalize row if it needs to be 2016-01-07 13:19:22 -05:00
Al
2e67afab09 [fix] adding functions to string_utils header 2016-01-06 23:03:16 -05:00
Al
a8b9a2c153 [fix] making *_hash_sort_keys_by_value static 2016-01-06 23:01:00 -05:00
Al
0d5cf0d6d7 [utils] char_array_cat_printf was forcing a doubling of the size of the buffer, which is bad if calling many times. Now only initiates a realloc if the char_array is almost full. Also adding cstring_array_from_strings which takes a list of char *s 2016-01-06 22:56:01 -05:00