From 6b813e326bab1d1b3363f5c55dab2b1f2d59c6ed Mon Sep 17 00:00:00 2001 From: Ziyu-Mu Date: Mon, 27 May 2024 11:46:06 +0200 Subject: [PATCH] update cites, titles, regul2plots Signed-off-by: Ziyu-Mu --- slides/R.mk | 0 slides/README.md | 0 slides/advriskmin/Makefile | 0 slides/advriskmin/chapter-order.tex | 0 slides/advriskmin/figure/L2-loss.png | Bin slides/advriskmin/figure/bayes_error_5.png | Bin ...ias_variance_decomposition-bootstrap_1.png | Bin ...ias_variance_decomposition-bootstrap_2.png | Bin ...s_variance_decomposition-complex_model.png | Bin ...iance_decomposition-complex_model_bias.png | Bin ...e_decomposition-complex_model_variance.png | Bin ...s_variance_decomposition-correct_model.png | Bin ...iance_decomposition-correct_model_bias.png | Bin ...e_decomposition-correct_model_variance.png | Bin ...as_variance_decomposition-linear_model.png | Bin ...riance_decomposition-linear_model_bias.png | Bin ...ce_decomposition-linear_model_variance.png | Bin ...bias_variance_decomposition-train_test.png | Bin slides/advriskmin/figure/ftrue.pdf | Bin slides/advriskmin/figure/ftrue.png | Bin slides/advriskmin/figure/l1_vs_l2.png | Bin slides/advriskmin/figure/laplace_plot.pdf | Bin slides/advriskmin/figure/lasso_penalized.png | Bin slides/advriskmin/figure/lasso_penalty.png | Bin .../advriskmin/figure/lasso_unpenalized.png | Bin slides/advriskmin/figure/log_reg_erm.pdf | Bin slides/advriskmin/figure/log_reg_ml.pdf | Bin slides/advriskmin/figure/loss_absolute_1.png | Bin slides/advriskmin/figure/loss_absolute_2.png | Bin slides/advriskmin/figure/loss_cauchy.png | Bin slides/advriskmin/figure/loss_dist_based.png | Bin .../figure/loss_eps_insensitive.png | Bin slides/advriskmin/figure/loss_huber_plot.png | Bin slides/advriskmin/figure/loss_l1_l2.png | Bin .../advriskmin/figure/loss_logbarrier_1.png | Bin .../advriskmin/figure/loss_logbarrier_2.png | Bin slides/advriskmin/figure/loss_logcosh.png | Bin slides/advriskmin/figure/loss_quadratic_1.png | Bin slides/advriskmin/figure/loss_quadratic_2.png | Bin slides/advriskmin/figure/loss_quantile.png | Bin slides/advriskmin/figure/loss_symmetric.png | Bin slides/advriskmin/figure/loss_transl_inv.png | Bin .../advriskmin/figure/optimal_pointwise.png | Bin .../advriskmin/figure/optimal_pointwise_1.png | Bin .../advriskmin/figure/optimal_pointwise_2.png | Bin slides/advriskmin/figure/plot_bernoulli.png | Bin .../plot_bernoulli_plusmin_encoding.png | Bin .../advriskmin/figure/plot_bernoulli_prob.png | Bin slides/advriskmin/figure/plot_brier.png | Bin slides/advriskmin/figure/plot_loss_01.png | Bin .../figure/plot_loss_exponential.png | Bin slides/advriskmin/figure/plot_loss_hinge.png | Bin .../figure/plot_loss_hinge_squared.png | Bin .../advriskmin/figure/plot_loss_overview.png | Bin .../figure/plot_loss_overview_classif.png | Bin .../figure/plot_loss_overview_classif_2.png | Bin .../figure/plot_loss_squared_scores.png | Bin .../advriskmin/figure/plot_quad_pseudores.png | Bin .../advriskmin/figure/pseudo_residual_1.png | Bin .../advriskmin/figure/pseudo_residual_2.png | Bin .../figure/residuals_plot_Huber_L1.pdf | Bin .../advriskmin/figure/residuals_plot_L1.pdf | Bin .../figure/residuals_plot_L1_title.png | Bin .../advriskmin/figure/residuals_plot_L2.pdf | Bin .../figure/residuals_plot_L2_title.png | Bin slides/advriskmin/figure/robustness.png | Bin slides/advriskmin/figure/softmax_1.png | Bin slides/advriskmin/figure/softmax_2.png | Bin .../advriskmin/figure_man/S_function_plot.pdf | Bin .../convex-vs-nonconfex-landscape.png | Bin .../figure_man/cosh-gaussian-densities.png | Bin slides/advriskmin/figure_man/lcurve_1.png | Bin .../figure_man/logcosh-derivation.png | Bin .../figure_man/optimization_steps.jpeg | Bin .../advriskmin/figure_man/plot_const_var.png | Bin .../figure_man/risk_minimization_diagram.png | Bin slides/advriskmin/figure_man/vgg_example.png | Bin slides/advriskmin/references.bib | 29 ++++++ slides/advriskmin/rsrc/S_function_plot.nb | 0 .../rsrc/bias_variance_decomposition.R | 0 slides/advriskmin/rsrc/error_surface.R | 0 slides/advriskmin/rsrc/example_intro.R | 0 slides/advriskmin/rsrc/ggsave-4.R | 0 .../advriskmin/rsrc/helpers/loss_functions.R | 0 slides/advriskmin/rsrc/lasso.R | 0 slides/advriskmin/rsrc/logcosh-derivation.R | 0 slides/advriskmin/rsrc/loss_properties.R | 0 .../advriskmin/rsrc/make_bayes_error_plots.R | 0 .../rsrc/make_different_losses_plots.R | 0 .../rsrc/make_empirical_risk_plots.R | 0 slides/advriskmin/rsrc/make_graddesc_plot.R | 0 .../advriskmin/rsrc/make_logreg_ml_erm_plot.R | 0 .../advriskmin/rsrc/make_loss_absolute_plot.R | 0 .../rsrc/make_loss_bernoulli_plots.R | 0 slides/advriskmin/rsrc/make_loss_brier_plot.R | 0 .../advriskmin/rsrc/make_loss_cauchy_plot.R | 0 .../advriskmin/rsrc/make_loss_cauchy_plot1.R | 0 .../rsrc/make_loss_eps_insensitive_plot.R | 0 .../rsrc/make_loss_exponential_plot.R | 0 slides/advriskmin/rsrc/make_loss_hinge_plot.R | 0 slides/advriskmin/rsrc/make_loss_huber_plot.R | 0 .../rsrc/make_loss_logbarrier_plot.R | 0 .../advriskmin/rsrc/make_loss_logcosh_plot.R | 0 .../rsrc/make_loss_overview_classif_plot.R | 0 .../advriskmin/rsrc/make_loss_overview_plot.R | 0 .../rsrc/make_loss_quad_pseudores_plot.R | 0 .../rsrc/make_loss_quadratic_plot.R | 0 .../advriskmin/rsrc/make_loss_quantile_plot.R | 0 .../rsrc/make_loss_squared_scores_plot.R | 0 .../advriskmin/rsrc/make_loss_zero_one_plot.R | 0 .../rsrc/make_optimal_constant_model_plots.R | 0 .../make_optimal_pointwise_prediction_plots.R | 0 .../rsrc/make_pseudo_residual_plots.R | 0 slides/advriskmin/rsrc/make_residual_plots.R | 0 slides/advriskmin/rsrc/make_robustness_plot.R | 0 .../rsrc/optimal-constant-model-variance.R | 0 .../advriskmin/rsrc/optimal_constant_model.R | 0 slides/advriskmin/rsrc/softmax_fun.R | 0 slides/advriskmin/rsrc/tangent_line_y_x2.R | 0 ...n-bias-variance-decomposition-deepdive.tex | 26 +++--- ...advriskmin-bias-variance-decomposition.tex | 28 +++--- .../slides-advriskmin-classification-01.tex | 25 +++-- ...es-advriskmin-classification-bernoulli.tex | 27 +++--- ...slides-advriskmin-classification-brier.tex | 24 ++--- ...des-advriskmin-classification-deepdive.tex | 27 +++--- ...dvriskmin-classification-furtherlosses.tex | 23 ++--- .../slides-advriskmin-logreg-deepdive.tex | 29 +++--- .../slides-advriskmin-losses-properties.tex | 27 +++--- .../slides-advriskmin-max-likelihood-l2.tex | 27 +++--- ...slides-advriskmin-max-likelihood-other.tex | 30 +++--- .../slides-advriskmin-pseudo-residuals.tex | 24 +++-- ...s-advriskmin-regression-further-losses.tex | 28 +++--- ...ides-advriskmin-regression-l1-deepdive.tex | 25 +++-- .../slides-advriskmin-regression-l2-l1.tex | 23 +++-- .../slides-advriskmin-risk-minimizer.tex | 29 +++--- slides/all/Makefile | 0 slides/all/README.md | 0 slides/all/slides_sl.tex | 0 slides/all/titlepage.jpg | Bin slides/boosting/Makefile | 0 .../componentwise_gradient_boosting.tex | 0 .../forward_stagewise_additive_modeling.tex | 0 ...gradient_boosting_for_k_classification.tex | 0 .../algorithms/gradient_boosting_general.tex | 0 ...radient_boosting_tree_algorithm_altern.tex | 0 .../gradient_tree_boosting_algorithm.tex | 0 slides/boosting/chapter-order.tex | 0 .../boosting/cheatsheet_new/beamerposter.sty | 0 .../cheatsheet_new/beamerthememlr.sty | 0 slides/boosting/cheatsheet_new/cheatsheet.tex | 0 .../data/who-life-expectancy-data.csv | 0 .../boosting/figure/adaboost_viz_mlr3_1.png | Bin .../boosting/figure/adaboost_viz_mlr3_2.png | Bin .../boosting/figure/boosting-cwb-bl-add1.pdf | Bin .../figure/boosting-cwb-bl-add1.pdf.png | Bin .../boosting/figure/boosting-cwb-bl-add2.pdf | Bin .../figure/boosting-cwb-bl-add2.pdf.png | Bin .../boosting/figure/boosting-cwb-bl-add3.pdf | Bin .../figure/boosting-cwb-bl-add3.pdf.png | Bin .../figure/boosting-cwb-bl1-points.png | Bin slides/boosting/figure/boosting-cwb-bl1.png | Bin .../figure/boosting-cwb-bl2-points.png | Bin slides/boosting/figure/boosting-cwb-bl2.png | Bin .../figure/boosting-cwb-bl3-points.png | Bin slides/boosting/figure/boosting-cwb-bl3.png | Bin slides/boosting/figure/boosting-cwb-bl4.png | Bin .../boosting/figure/boosting-cwb-blpool1.png | Bin .../boosting/figure/boosting-cwb-blpool2.png | Bin .../boosting/figure/boosting-cwb-blpool3.png | Bin .../boosting/figure/boosting-cwb-blpool4.png | Bin slides/boosting/figure/boosting_classif_1.png | Bin .../boosting/figure/boosting_classif_10.png | Bin .../boosting/figure/boosting_classif_100.png | Bin slides/boosting/figure/boosting_classif_2.png | Bin slides/boosting/figure/boosting_classif_5.png | Bin .../figure/boosting_classif_error_1.png | Bin .../figure/boosting_classif_error_10.png | Bin .../figure/boosting_classif_error_100.png | Bin .../figure/boosting_classif_error_2.png | Bin .../figure/boosting_classif_error_5.png | Bin .../figure/boosting_classif_example.png | Bin .../boosting_interaction_example_ID2.png | Bin .../boosting_interaction_example_gam.png | Bin .../boosting/figure/boosting_multiclass_1.png | Bin .../figure/boosting_multiclass_10.png | Bin .../figure/boosting_multiclass_100.png | Bin .../boosting/figure/boosting_multiclass_2.png | Bin .../boosting/figure/boosting_multiclass_5.png | Bin slides/boosting/figure/bspline-basis.png | Bin .../figure/compboost-base-learner-linear.png | Bin .../figure/compboost-base-learner-ridge.png | Bin .../figure/compboost-base-learner-spline.png | Bin .../figure/compboost-base-learner-tensor.png | Bin .../figure/compboost-illustration-1.png | Bin .../figure/compboost-illustration-2.png | Bin .../figure/compboost-illustration-3.png | Bin .../figure/compboost-intercept-handling.png | Bin .../figure/compboost-to-glm-iter1000.png | Bin .../figure/compboost-to-glm-iter10000.png | Bin .../figure/compboost-to-glm-iter250.png | Bin .../figure/compboost-to-glm-iter500.png | Bin .../figure/compboost-to-glm-iter5000.png | Bin .../figure/cwb-anim-nl/fig-iter-0001.png | Bin .../figure/cwb-anim-nl/fig-iter-0002.png | Bin .../figure/cwb-anim-nl/fig-iter-0005.png | Bin .../figure/cwb-anim-nl/fig-iter-0010.png | Bin .../figure/cwb-anim-nl/fig-iter-0015.png | Bin .../figure/cwb-anim-nl/fig-iter-0017.png | Bin .../figure/cwb-anim-nl/fig-iter-0018.png | Bin .../figure/cwb-anim-nl/fig-iter-0020.png | Bin .../figure/cwb-anim-nl/fig-iter-0023.png | Bin .../figure/cwb-anim-nl/fig-iter-0024.png | Bin .../figure/cwb-anim-nl/fig-iter-0030.png | Bin .../figure/cwb-anim-nl/fig-iter-0050.png | Bin .../figure/cwb-anim-nl/fig-iter-0070.png | Bin .../figure/cwb-anim-nl/fig-iter-0088.png | Bin .../figure/cwb-anim-nl/fig-iter-0089.png | Bin .../figure/cwb-anim-nl/fig-iter-0090.png | Bin .../figure/cwb-anim-nl/fig-iter-0110.png | Bin .../figure/cwb-anim-nl/fig-iter-0130.png | Bin .../figure/cwb-anim-nl/fig-iter-0150.png | Bin .../figure/cwb-anim/fig-iter-0001.png | Bin .../figure/cwb-anim/fig-iter-0002.png | Bin .../figure/cwb-anim/fig-iter-0005.png | Bin .../figure/cwb-anim/fig-iter-0010.png | Bin .../figure/cwb-anim/fig-iter-0015.png | Bin .../figure/cwb-anim/fig-iter-0016.png | Bin .../figure/cwb-anim/fig-iter-0020.png | Bin .../figure/cwb-anim/fig-iter-0030.png | Bin .../figure/cwb-anim/fig-iter-0037.png | Bin .../figure/cwb-anim/fig-iter-0038.png | Bin .../figure/cwb-anim/fig-iter-0050.png | Bin .../figure/cwb-anim/fig-iter-0070.png | Bin .../figure/cwb-anim/fig-iter-0090.png | Bin .../figure/cwb-anim/fig-iter-0110.png | Bin .../figure/cwb-anim/fig-iter-0116.png | Bin .../figure/cwb-anim/fig-iter-0117.png | Bin .../figure/cwb-anim/fig-iter-0140.png | Bin .../figure/cwb-anim/fig-iter-0150.png | Bin slides/boosting/figure/fig-decomp1.png | Bin slides/boosting/figure/fig-decomp2.png | Bin slides/boosting/figure/fig-gb-concept-1.png | Bin slides/boosting/figure/fig-gb-concept-2.png | Bin .../boosting/figure/fig-gb-concept-idea-1.png | Bin .../boosting/figure/fig-gb-concept-idea-2.png | Bin .../boosting/figure/fig-gb-concept-idea-3.png | Bin .../boosting/figure/fig-gb-concept-idea.png | Bin .../figure/fig-gb-concept-pseudo-resi-1.png | Bin .../figure/fig-gb-concept-pseudo-resi-2.png | Bin .../boosting/figure/fig-loss-huber-delta.png | Bin slides/boosting/figure/gbm_anim_02.png | Bin slides/boosting/figure/gbm_anim_03.png | Bin slides/boosting/figure/gbm_anim_51.png | Bin slides/boosting/figure/gbm_anim_data.png | Bin slides/boosting/figure/gbm_anim_init.png | Bin .../gbm_regu_oversmoothing_overfitting.png | Bin slides/boosting/figure/gbm_sine.png | Bin slides/boosting/figure/gbm_sine_title.png | Bin slides/boosting/figure/gbm_spam.png | Bin .../figure/illustration_data_normal.png | Bin .../figure/illustration_gaussian_L1_1.png | Bin .../figure/illustration_gaussian_L1_10.png | Bin .../figure/illustration_gaussian_L1_100.png | Bin .../figure/illustration_gaussian_L1_2.png | Bin .../figure/illustration_gaussian_L1_3.png | Bin .../figure/illustration_gaussian_L1_lin_1.png | Bin .../illustration_gaussian_L1_lin_10.png | Bin .../illustration_gaussian_L1_lin_100.png | Bin .../figure/illustration_gaussian_L2_1.png | Bin .../figure/illustration_gaussian_L2_10.png | Bin .../figure/illustration_gaussian_L2_100.png | Bin .../figure/illustration_gaussian_L2_2.png | Bin .../figure/illustration_gaussian_L2_3.png | Bin .../figure/illustration_gaussian_L2_lin_1.png | Bin .../illustration_gaussian_L2_lin_10.png | Bin .../illustration_gaussian_L2_lin_100.png | Bin .../illustration_gaussian_huber_02_10.png | Bin .../illustration_gaussian_huber_2_10.png | Bin .../figure/illustration_tdist_L1_10.png | Bin .../figure/illustration_tdist_L1_100.png | Bin .../figure/illustration_tdist_L2_10.png | Bin .../figure/illustration_tdist_L2_100.png | Bin slides/boosting/figure/illustration_title.png | Bin slides/boosting/figure/interaction_td1_d3.png | Bin slides/boosting/figure/interaction_td2_d3.png | Bin slides/boosting/figure/pseudo_residual_1.png | Bin slides/boosting/figure/split_finding_1.png | Bin slides/boosting/figure/split_finding_2.png | Bin slides/boosting/figure/stump_plots.png | Bin slides/boosting/figure/stump_plots_noisy.png | Bin .../figure_man/adaboost_example_adjusted.png | Bin .../figure_man/bagging_vs_boosting.png | Bin .../figure_man/boosting_classif_title.PNG | Bin .../figure_man/boosting_interact_expl1.PNG | Bin .../figure_man/boosting_interact_expl2.PNG | Bin .../boosting_interaction_depth1fit3D_x1.png | Bin .../boosting_interaction_depth1fit3D_x2.png | Bin .../boosting_interaction_targetfunction3D.png | Bin slides/boosting/figure_man/df_to_lambda.pdf | Bin .../boosting/figure_man/gbm_anim/old/gbm5.jpg | Bin .../figure_man/gbm_leaf_adjustment.pdf | Bin slides/boosting/figure_man/trees_balance.pdf | Bin slides/boosting/references.bib | 58 ++++++++++++ slides/boosting/rsrc/ada_vs_forest.RData | Bin slides/boosting/rsrc/attic/adaboost_viz_mlr.R | 0 slides/boosting/rsrc/benchmark.R | 0 slides/boosting/rsrc/benchmark.RData | Bin .../rsrc/boosting-example-datapoints.R | 0 .../rsrc/boosting-trees-interaction-example.R | 0 .../rsrc/boosting_animation_classification.R | 0 slides/boosting/rsrc/boosting_animation_gam.R | 0 slides/boosting/rsrc/boosting_idea.R | 0 .../rsrc/boosting_illustration_plot.R | 0 .../boosting/rsrc/boosting_intro_animation.R | 0 slides/boosting/rsrc/cim1_optim.R | 0 slides/boosting/rsrc/comparing_methods.R | 0 slides/boosting/rsrc/comparing_methods.RData | Bin .../rsrc/comparing_methods_result.RData | Bin .../boosting/rsrc/create_df_to_lambda_viz.R | 0 slides/boosting/rsrc/create_spam_data.R | 0 slides/boosting/rsrc/fig-adaboost-viz-mlr3.R | 0 slides/boosting/rsrc/fig-bspline-basis.R | 0 slides/boosting/rsrc/fig-centered-bl.R | 0 slides/boosting/rsrc/fig-compboost-add.R | 0 .../rsrc/fig-compboost-base-learner.R | 0 slides/boosting/rsrc/fig-compboost-blpools.R | 0 .../rsrc/fig-compboost-cboost-to-glm.R | 0 .../rsrc/fig-compboost-illustration.R | 0 slides/boosting/rsrc/fig-cwb-anim.R | 0 .../rsrc/fig-cwb-intercept-handling.R | 0 slides/boosting/rsrc/fig-gb-anim.R | 0 slides/boosting/rsrc/fig-gb-concept-idea.R | 0 .../rsrc/fig-gb-concept-pseudo-resi.R | 0 slides/boosting/rsrc/fig-gb-concept.R | 0 slides/boosting/rsrc/fig-gb-sine.R | 0 .../fig-gbm-regu-oversmoothing-overfitting.R | 0 slides/boosting/rsrc/fig-gbm-spam-data.RDS | Bin slides/boosting/rsrc/fig-gbm-spam.R | 0 slides/boosting/rsrc/fig-loss-huber-delta.R | 0 slides/boosting/rsrc/fig-regr-illustration.R | 0 slides/boosting/rsrc/fig-rf-vs-adaboost.R | 0 slides/boosting/rsrc/gbm_spam_defs.R | 0 slides/boosting/rsrc/gbm_spam_exps.R | 0 slides/boosting/rsrc/gbm_spam_imp_ggplot.pdf | Bin slides/boosting/rsrc/gbm_spam_results.R | 0 slides/boosting/rsrc/gbm_spam_results.RData | Bin .../boosting/rsrc/gbm_spam_results_long.RData | Bin slides/boosting/rsrc/gbm_spam_vars.txt | 0 ...make_boosting_animation_multiclass_plots.R | 0 slides/boosting/rsrc/make_iris_ds_plot.R | 0 .../boosting/rsrc/make_split_finding_plots.R | 0 slides/boosting/rsrc/model_best_spam.rds | Bin slides/boosting/rsrc/numbers_on_slides.R | 0 slides/boosting/rsrc/plotLearnerPrediction.R | 0 slides/boosting/rsrc/pseudo_boosting.R | 0 slides/boosting/rsrc/spam.RData | Bin slides/boosting/rsrc/spam_example.R | 0 slides/boosting/rsrc/spam_example.RData | Bin slides/boosting/rsrc/stump_plots.R | 0 .../boosting/slides-boosting-cwb-advanced.tex | 25 ++--- .../boosting/slides-boosting-cwb-basics.tex | 22 ++--- .../boosting/slides-boosting-cwb-basics2.tex | 25 ++--- slides/boosting/slides-boosting-cwb-glm.tex | 20 ++-- .../slides-boosting-gbm-classification.tex | 22 ++--- .../slides-boosting-gbm-regularization.tex | 23 +++-- .../slides-boosting-gbm-with-trees-1.tex | 20 ++-- .../slides-boosting-gbm-with-trees-2.tex | 20 ++-- ...des-boosting-gradient-boosting-concept.tex | 21 ++--- .../slides-boosting-intro-adaboost.tex | 29 +++--- slides/boosting/slides-boosting-lgm-ctbm.tex | 19 ++-- ...ides-boosting-regression-illustrations.tex | 20 ++-- .../slides-boosting-xgboost-deepdive.tex | 21 +++-- slides/boosting/slides-boosting-xgboost.tex | 21 +++-- slides/boosting/slides-order.txt | 0 slides/boosting/tex/cwb-algo-short.tex | 0 slides/boosting/tex/cwb-bl-sel.tex | 0 slides/boosting/tex/fig-cwb-anim-nl.tex | 0 slides/boosting/tex/fig-cwb-anim.tex | 0 slides/cod/Makefile | 0 slides/cod/chapter-order.tex | 0 slides/cod/figure/2d_normal_plot.png | Bin slides/cod/figure/capital_letters_3d_plot.png | Bin slides/cod/figure/capital_letters_plot.png | Bin .../figure/cursed_dim_fraction_edge_plot.png | Bin slides/cod/figure/exclamation_marks_plot.png | Bin .../cod/figure/gauss_high_dim_hist_plot.png | Bin slides/cod/figure/high_dim_cube_plot.png | Bin .../cod/figure/knn_contrast_locality_plot.png | Bin slides/cod/figure/knn_density_plot.png | Bin slides/cod/figure/knn_error_plot.png | Bin .../cod/figure/knn_misclassification_plot.png | Bin slides/cod/figure/knn_table.png | Bin slides/cod/figure/lm_mse_plot.png | Bin slides/cod/figure/lm_noise_plot.png | Bin slides/cod/figure/manifold_plot.png | Bin slides/cod/figure/vol_dim_plot.png | Bin slides/cod/figure_man/exponentialcubes.png | Bin slides/cod/figure_man/hypercube.png | Bin slides/cod/figure_man/orange.png | Bin slides/cod/figure_man/sphere_in_cube.png | Bin slides/cod/rsrc/curseofdim.R | 0 slides/cod/rsrc/datasets/cod_lm.R | 0 slides/cod/rsrc/datasets/cod_lm_cond.rds | Bin slides/cod/rsrc/datasets/cod_lm_noise.R | 0 slides/cod/rsrc/datasets/cod_lm_noise.rds | Bin slides/cod/rsrc/datasets/cod_lm_rpart.rds | Bin slides/cod/rsrc/datasets/distances.rds | Bin .../cod/rsrc/datasets/distances_dataset.rds | Bin .../knn_misclassification_dataset.rds | Bin slides/cod/rsrc/datasets/lm_mse_dataset.rds | Bin slides/cod/rsrc/datasets/lm_noise_dataset.rds | Bin .../rsrc/datasets/make_distances_dataset.R | 0 .../make_knn_misclassification_dataset.R | 0 .../cod/rsrc/datasets/make_lm_mse_dataset.R | 0 .../cod/rsrc/datasets/make_lm_noise_dataset.R | 0 slides/cod/rsrc/helpers/constants.R | 0 slides/cod/rsrc/helpers/data_generators.R | 0 slides/cod/rsrc/helpers/utilities.R | 0 slides/cod/rsrc/make_2d_normal_plot.R | 0 .../cod/rsrc/make_capital_letters_3d_plot.R | 0 slides/cod/rsrc/make_capital_letters_plot.R | 0 .../rsrc/make_cursed_dim_fraction_edge_plot.R | 0 slides/cod/rsrc/make_exclamation_marks_plot.R | 0 .../cod/rsrc/make_gauss_high_dim_hist_plot.R | 0 slides/cod/rsrc/make_high_dim_cube_plot.R | 0 .../rsrc/make_knn_contrast_locality_plot.R | 0 slides/cod/rsrc/make_knn_density_plot.R | 0 slides/cod/rsrc/make_knn_error_plot.R | 0 .../rsrc/make_knn_misclassification_plot.R | 0 slides/cod/rsrc/make_knn_table.R | 0 slides/cod/rsrc/make_lm_mse_plot.R | 0 slides/cod/rsrc/make_lm_noise_plot.R | 0 slides/cod/rsrc/make_manifold_plot.R | 0 slides/cod/rsrc/make_vol_dim_plot.R | 0 slides/cod/rsrc/reg_l12.R | 0 slides/cod/rsrc/regularized_log_reg.R | 0 slides/cod/rsrc/ridge_polynomial_reg.R | 0 slides/cod/slides-cod-examples.tex | 20 ++-- slides/cod/slides-cod.tex | 23 +++-- slides/feature-selection/Makefile | 0 slides/feature-selection/chapter-order.tex | 0 .../figure/avoid_overfitting_02.png | Bin .../filter_comparison_har_classif.kknn.png | Bin .../figure/fs-auc-barplot.png | Bin .../figure/fs-filters-scree-plot.png | Bin .../figure/fs-micro-array.png | Bin .../feature-selection/figure/fs-roc-curve.png | Bin slides/feature-selection/figure/fs-t-test.png | Bin .../fs-wrappers-backwards-powerset-tree-4.png | Bin .../figure/fs-wrappers-powerset-all-1.png | Bin .../figure/fs-wrappers-powerset-all-2.png | Bin .../figure/fs-wrappers-powerset-all-3.png | Bin .../figure/fs-wrappers-powerset-all-4.png | Bin .../figure/fs-wrappers-powerset-tree-1.png | Bin .../figure/fs-wrappers-powerset-tree-2.png | Bin .../figure/fs-wrappers-powerset-tree-3.png | Bin .../figure/fs-wrappers-powerset-tree-4.png | Bin .../figure/gene-data-points.pdf | Bin .../feature-selection/figure/genetic-alg.png | Bin .../figure/greedy-forwards-search.png | Bin .../figure/guyon_example_correlation.png | Bin .../guyon_example_intra_class_covariance.png | Bin ...e_intra_class_covariance_perpendicular.png | Bin .../guyon_example_presumably_redundant.png | Bin ...n_example_presumably_redundant_rotated.png | Bin .../figure/guyon_example_xor.png | Bin .../figure/regu_example_lasso_ridge.png | Bin .../figure/searchspace_binary.png | Bin .../figure/var-selection1.png | Bin .../figure/var-selection2.png | Bin .../figure_man/chunk2_filter_correlation.png | Bin .../figure_man/correlation_example.png | Bin .../figure_man/distance-corre.png | Bin .../figure_man/feat_extraction.png | Bin .../feature-selection/figure_man/feat_sel.png | Bin .../feat_sel_vs_feat_extraction.png | Bin .../figure_man/feature_extraction.png | Bin .../figure_man/feature_sel_vs_extr.png | Bin .../figure_man/feature_selection.png | Bin .../feature_selection_vs_extraction.pptx | Bin .../figure_man/tibshirani_fig_18_1.png | Bin .../figure_man/tibshirani_fig_18_1_mod.png | Bin .../figure_man/tibshirani_fig_18_4.png | Bin .../figure_man/tibshirani_tab_18_1.png | Bin .../figure_man/varsel_ex0.png | Bin .../figure_man/varsel_ex1.png | Bin .../figure_man/varsel_ex2.png | Bin .../figure_man/varsel_overview.png | Bin .../figure_man/varsel_overview.pptx | Bin .../figure_man/varsel_space.png | Bin .../figure_man/wrapperanim.R | 0 .../figure_man/wrapperanim1.png | Bin .../figure_man/wrapperanim2.png | Bin .../figure_man/wrapperanim3.png | Bin .../figure_man/wrapperanim4.png | Bin .../figure_man/wrapperanim5.png | Bin .../figure_man/wrapperanim6.png | Bin slides/feature-selection/references.bib | 38 ++++++++ .../rscr/chunk2_filter_correlation.R | 0 .../rscr/feature_selection_vs_extraction.R | 0 .../rscr/filter_examples_data.csv | 0 .../rscr/fs-filters-examples.R | 0 .../rscr/fs-filters-guyon-examples.R | 0 .../rscr/fs-filters-roc-curve.R | 0 .../rscr/fs-filters-scree-plot.R | 0 .../rscr/fs-filters-t-test.R | 0 .../rscr/fs-micro-array-plot.R | 0 .../rscr/fs-wrappers-visualization.R | 0 slides/feature-selection/rscr/ggsave-2.R | 0 .../rscr/scree-plot-data.csv | 0 .../feature-selection/slides-fs-filters1.tex | 21 +++-- .../feature-selection/slides-fs-filters2.tex | 22 +++-- .../slides-fs-introduction.tex | 23 ++--- .../slides-fs-motivating-examples.tex | 23 ++--- .../feature-selection/slides-fs-wrapper.tex | 31 ++++--- slides/information-theory/Makefile | 0 slides/information-theory/chapter-order.tex | 0 .../figure/beta_entropy.png | Bin .../information-theory/figure/binary-ce.jpg | Bin .../figure/correlation_plot.png | Bin .../figure/cross_entropy_plot_1.png | Bin .../figure/cross_entropy_plot_2.png | Bin .../figure/entropy_bernoulli.png | Bin .../figure/entropy_calc.png | Bin .../figure/entropy_plot.png | Bin .../figure/entropy_plot_reordering.png | Bin .../figure/entropy_uniform_plot.png | Bin slides/information-theory/figure/ftrue.pdf | Bin .../figure/gaussian_mixture_scatter.png | Bin .../gaussian_mixture_with_marginals.png | Bin .../figure/kl_calculation_plot_1.png | Bin .../figure/kl_calculation_plot_2.png | Bin .../figure/kl_ce_comparison.png | Bin .../figure/kl_fitting_plot.png | Bin .../information-theory/figure/kl_log_diff.png | Bin .../figure/kl_log_diff_plot.png | Bin .../information-theory/figure/kl_norm_lp.png | Bin .../figure/kl_norm_lp_sigma.png | Bin .../information-theory/figure/max_entropy.png | Bin .../figure/max_entropy_1.pdf | Bin .../figure/max_entropy_2.pdf | Bin .../figure/max_entropy_3.pdf | Bin .../figure/max_entropy_4.pdf | Bin .../figure/max_entropy_5.pdf | Bin .../figure/normal_distributions.png | Bin .../figure/normal_entropy.png | Bin .../figure/normal_entropy_sigma.png | Bin .../information-theory/figure/uni_entropy.png | Bin .../figure_man/ambiguity.png | Bin .../information-theory/figure_man/binom1.png | Bin .../information-theory/figure_man/binom2.png | Bin .../figure_man/claude-shannon.jpg | Bin .../figure_man/codetree1.png | Bin .../figure_man/codetree2.png | Bin .../figure_man/coin-entropy.png | Bin .../figure_man/crossent.png | Bin .../figure_man/diffent-quant.png | Bin .../figure_man/equal_decode.png | Bin .../figure_man/kl_me_constraint.png | Bin .../figure_man/kl_me_cosy.png | Bin .../figure_man/kl_me_indep_sub.png | Bin .../figure_man/kl_ml_dist_sim.png | Bin .../figure_man/kl_ml_fkl_rkl.png | Bin .../figure_man/kl_ml_mi.png | Bin .../figure_man/kl_ml_prob_fit.png | Bin .../figure_man/kl_ml_vi.png | Bin .../figure_man/length_same.png | Bin .../figure_man/length_var.png | Bin .../figure_man/multiclass-predictive.png | Bin .../figure_man/multinoulli.png | Bin .../information-theory/figure_man/shift.png | Bin .../information-theory/figure_man/xent_pq.png | Bin slides/information-theory/references.bib | 32 +++++++ .../information-theory/rsrc/make_binary-ce.py | 0 .../rsrc/make_correlation_plot.R | 0 .../rsrc/make_cross_entropy_plots.R | 0 .../rsrc/make_diff_entropy_plots.R | 0 .../rsrc/make_entropy_plot.R | 0 .../rsrc/make_entropy_uniform_plot.R | 0 .../information-theory/rsrc/make_ftrue_plot.R | 0 .../rsrc/make_gaussian_mixture_plots.R | 0 .../rsrc/make_gaussian_mixture_scatter.R | 0 .../rsrc/make_kl_calculation_plot.R | 0 .../rsrc/make_kl_ce_comparison.R | 0 .../rsrc/make_kl_fitting_plot.R | 0 .../rsrc/make_kl_log_diff_plot.R | 0 .../slides-info-cross-entropy-kld.tex | 22 ++--- .../slides-info-diffent.tex | 21 +++-- .../slides-info-entropy.tex | 22 ++--- .../slides-info-entropy2.tex | 25 ++--- .../slides-info-kl-ment.tex | 25 +++-- .../information-theory/slides-info-kl-ml.tex | 23 +++-- slides/information-theory/slides-info-kl.tex | 22 ++--- .../slides-info-mi-deepdive.tex | 20 ++-- slides/information-theory/slides-info-ml.tex | 23 +++-- .../slides-info-mutual-info.tex | 22 ++--- .../slides-info-mutual-info2.tex | 21 +++-- .../slides-info-sourcecoding.tex | 22 ++--- .../slides-info-sourcecoding2.tex | 23 +++-- .../cross_entropy_transcript.txt | 0 .../differential_entropy_transcript.txt | 0 .../entropy_1_transcript.txt | 0 .../entropy_2_transcript.txt | 0 .../video transcripts/info_ml_transcript.txt | 0 .../video transcripts/kl_transcript.txt | 0 .../video transcripts/mi_1_transcript.txt | 0 .../video transcripts/mi_2_transcript.txt | 0 .../video transcripts/sc_1_transcript.txt | 0 .../video transcripts/sc_2_transcript.txt | 0 slides/linear-svm/Makefile | 0 slides/linear-svm/chapter-order.tex | 0 .../figure/boundary_with_violations.png | Bin slides/linear-svm/figure/linear_classif_1.png | Bin slides/linear-svm/figure/linear_classif_2.png | Bin .../figure/linear_svm_support_vectors_1.png | Bin .../figure/linear_svm_support_vectors_2.png | Bin .../linear-svm/figure/margin_violations.png | Bin .../linear-svm/figure/non_separable_data.png | Bin slides/linear-svm/figure/other_losses.png | Bin .../linear-svm/figure/soft_margin_losses.png | Bin slides/linear-svm/figure/soft_margin_svs.png | Bin slides/linear-svm/figure/support_vectors.png | Bin slides/linear-svm/figure/svm_geometry.png | Bin slides/linear-svm/figure/svm_training_01.png | Bin slides/linear-svm/figure/svm_training_02.png | Bin slides/linear-svm/figure/svm_training_03.png | Bin .../rsrc/make_linear_classif_plots.R | 0 .../rsrc/make_soft_margin_svm_plots.R | 0 .../linear-svm/rsrc/make_svm_losses_plots.R | 0 .../linear-svm/rsrc/make_svm_training_plots.R | 0 .../linear-svm/rsrc/support_vectors_plot.py | 0 slides/linear-svm/rsrc/utils.R | 0 slides/linear-svm/slides-linsvm-erm.tex | 21 ++--- .../slides-linsvm-hard-margin-dual.tex | 21 ++--- .../linear-svm/slides-linsvm-hard-margin.tex | 24 +++-- .../linear-svm/slides-linsvm-optimization.tex | 25 +++-- .../linear-svm/slides-linsvm-soft-margin.tex | 23 +++-- slides/lookup-slides/.gitignore | 0 slides/lookup-slides/riskmin_optconst.tex | 0 slides/mathrefresher/Makefile | 0 .../mathrefresher/figure_man/math_robot.jpg | Bin .../slides-probability-theory.tex | 33 +++---- slides/merger.R | 0 slides/multiclass/Makefile | 0 slides/multiclass/chapter-order.tex | 0 slides/multiclass/figure/iris_encoding.png | Bin slides/multiclass/figure/iris_scatter.png | Bin .../figure/onevsone_vs_onevsrest.png | Bin .../multiclass/figure_man/hill-climbing.png | Bin slides/multiclass/figure_man/neural_net.png | Bin slides/multiclass/figure_man/one_vs_all.png | Bin slides/multiclass/figure_man/one_vs_one.png | Bin slides/multiclass/figure_man/score_model.png | Bin slides/multiclass/figure_man/softmax1.png | Bin slides/multiclass/figure_man/softmax2.png | Bin .../multiclass/rsrc/make_iris_encoding_plot.R | 0 .../multiclass/rsrc/make_iris_scatter_plot.R | 0 .../rsrc/make_onevsone_vs_onevsrest_plot.R | 0 slides/multiclass/rsrc/results.csv | 0 .../multiclass/slides-mc-binary-reduction.tex | 25 +++-- slides/multiclass/slides-mc-codebooks.tex | 26 +++--- slides/multiclass/slides-mc-losses.tex | 24 +++-- .../slides-mc-softmax-regression.tex | 24 +++-- slides/nonlinear-svm/Makefile | 0 slides/nonlinear-svm/chapter-order.tex | 0 .../nonlinear-svm/figure/circles_boundary.png | Bin slides/nonlinear-svm/figure/circles_ds.png | Bin .../figure/circles_feature_map.png | Bin .../nonlinear-svm/figure/mnist_svm_mmce.png | Bin slides/nonlinear-svm/figure/n_monomials.png | Bin .../figure/svm_linear_kernel.png | Bin .../figure/svm_poly_hyperparams.png | Bin .../nonlinear-svm/figure/svm_poly_kernel.png | Bin .../figure/svm_poly_kernel_deg_1_coef0_1.png | Bin .../figure/svm_poly_kernel_deg_3_coef0_0.png | Bin .../figure/svm_poly_kernel_deg_3_coef0_1.png | Bin .../figure/svm_poly_kernel_deg_9_coef0_1.png | Bin .../nonlinear-svm/figure/svm_rbf_as_basis.png | Bin .../figure/svm_rbf_as_basis_1.png | Bin .../figure/svm_rbf_as_basis_2.png | Bin .../figure/svm_rbf_as_basis_3.png | Bin .../figure/svm_rbf_as_basis_4.png | Bin .../figure/svm_rbf_as_basis_5.png | Bin .../figure/svm_rbf_as_basis_6.png | Bin .../nonlinear-svm/figure/svm_rbf_cost_1.png | Bin .../nonlinear-svm/figure/svm_rbf_cost_2.png | Bin .../figure/svm_rbf_hyperparams.png | Bin .../figure/svm_rbf_hyperparams_tuning_1.pdf | Bin .../nonlinear-svm/figure/svm_rbf_kernel.png | Bin .../figure/svm_rbf_kernel_gamma_1.png | Bin .../figure/svm_rbf_kernel_gamma_2.png | Bin .../figure/svm_rbf_sigma_est_narrow.pdf | Bin .../figure/svm_rbf_sigma_est_wide.pdf | Bin .../introduction/mnist-eps-converted-to.pdf | Bin .../figure_man/kernels/features-2.pdf | Bin .../kernels/svm_dummies_kernelling.PNG | Bin slides/nonlinear-svm/figure_man/rbf_sigma.png | Bin slides/nonlinear-svm/rsrc/constraints.R | 0 slides/nonlinear-svm/rsrc/hyperplane_posneg.R | 0 slides/nonlinear-svm/rsrc/kernel_intro.R | 0 .../nonlinear-svm/rsrc/make_circles_plots.R | 0 .../rsrc/make_mnist_n_monomials_plot.R | 0 slides/nonlinear-svm/rsrc/make_mnist_svm_ds.R | 0 .../rsrc/make_mnist_svm_kernel_mmce_tab.R | 0 .../rsrc/make_mnist_svm_mmce_plot.R | 0 .../rsrc/make_poly_hyperparams_plot.R | 0 .../rsrc/make_svm_kernel_plots.R | 0 .../rsrc/make_svm_poly_kernel_plots.R | 0 .../rsrc/make_svm_rbf_as_basis_plots.R | 0 .../rsrc/make_svm_rbf_cost_plots.R | 0 .../rsrc/make_svm_rbf_gamma_plots.R | 0 .../rsrc/make_svm_rbf_hyperparams_plot.R | 0 .../make_svm_rbf_hyperparams_tuning_plots.R | 0 .../rsrc/make_svm_rbf_sigma_est_plots.R | 0 .../nonlinear-svm/rsrc/mnist_svm_mixed.RData | Bin slides/nonlinear-svm/rsrc/rbf_sig.R | 0 slides/nonlinear-svm/rsrc/svm-regression.R | 0 .../nonlinear-svm/rsrc/svm_posterior_probs.R | 0 slides/nonlinear-svm/rsrc/utils.R | 0 .../slides-nonlinsvm-featuregen.tex | 20 ++-- .../slides-nonlinsvm-kernel-poly.tex | 21 ++--- .../slides-nonlinsvm-kernel-rbf.tex | 23 +++-- .../slides-nonlinsvm-kernel-trick.tex | 22 ++--- .../slides-nonlinsvm-modelsel.tex | 20 ++-- .../slides-nonlinsvm-rkhs-repr.tex | 22 ++--- .../slides-nonlinsvm-uniapprox.tex | 22 ++--- slides/regularization/Makefile | 0 .../attic/slides-5-l1l2-adv.Rnw | 0 .../attic/slides-regu-underdetermined.pdf | Bin .../attic/slides-regu-underdetermined.tex | 0 slides/regularization/chapter-order.tex | 0 .../figure/avoid_overfitting_01.png | Bin .../figure/avoid_overfitting_02.png | Bin slides/regularization/figure/bayes_prior.png | Bin .../regularization/figure/early_stopping.png | Bin .../figure/enet_lasso_ridge_mse.png | Bin .../regularization/figure/enet_tradeoff.png | Bin slides/regularization/figure/eval_ofit_1a.pdf | Bin slides/regularization/figure/eval_ofit_1o.pdf | Bin .../figure/fig-regu-nonlin-1.png | Bin .../figure/fig-regu-nonlin-2.png | Bin .../figure/fig-regu-nonlin-3.png | Bin .../figure/fig-regu-nonlin-4.png | Bin .../figure/fig-regu-nonlin-size-1.png | Bin .../figure/fig-regu-nonlin-size-2.png | Bin .../figure/fig-regu-nonlin-size-3.png | Bin .../figure/fig-regu-nonlin-size-4.png | Bin .../figure/fig-regu-nonlin-size-5.png | Bin .../figure/fig-regu-nonlin-size-6.png | Bin .../figure/fig-regu-nonlin-srm-1.png | Bin .../figure/fig-regu-nonlin-srm-2.png | Bin .../figure/graddes_vs_weightdecay.png | Bin .../regularization/figure/l1_reg_hess_01.png | Bin .../regularization/figure/l1_reg_hess_02.png | Bin .../figure/l2_reg_hess_01_plot.png | Bin 80375 -> 83423 bytes .../figure/l2_reg_hess_02_plot.png | Bin 80970 -> 83665 bytes .../figure/l2_reg_hess_03_plot.png | Bin 84942 -> 86367 bytes .../figure/l2_reg_hess_04_plot.png | Bin 57261 -> 49818 bytes .../regularization/figure/lasso_contours.png | Bin .../figure/lasso_contours_cases.png | Bin .../regularization/figure/lasso_outside.png | Bin .../figure/lasso_ridge_enet_2d.png | Bin slides/regularization/figure/lin_reg_l1.png | Bin slides/regularization/figure/lin_reg_l2.png | Bin slides/regularization/figure/nn_size_1.png | Bin slides/regularization/figure/nn_size_10.png | Bin slides/regularization/figure/nn_size_100.png | Bin slides/regularization/figure/nn_size_2.png | Bin slides/regularization/figure/nn_size_3.png | Bin slides/regularization/figure/nn_size_5.png | Bin .../regularization/figure/other-pen-MCP.png | Bin .../regularization/figure/other-pen-SCAD.png | Bin .../regularization/figure/other-pen-lasso.png | Bin .../figure/ozone_mse_boxplot.png | Bin slides/regularization/figure/poly_ridge_1.png | Bin slides/regularization/figure/poly_ridge_2.png | Bin slides/regularization/figure/reg_logreg.png | Bin slides/regularization/figure/reg_surfaces.png | Bin .../figure/reg_surfaces_l1_l2.png | Bin .../figure/regu_example_multicollinearity.png | Bin .../figure/ridge_constraints.png | Bin .../regularization/figure/ridge_contours.png | Bin slides/regularization/figure/ridge_inside.png | Bin .../regularization/figure/ridge_outside.png | Bin slides/regularization/figure/shrinkage_1.png | Bin slides/regularization/figure/shrinkage_2.png | Bin slides/regularization/figure/th_l1_neg.pdf | Bin slides/regularization/figure/th_l1_pos.pdf | Bin slides/regularization/figure/th_l1_zero.pdf | Bin .../figure/underconstrained_problem.png | Bin .../figure/underdetermined_problem_01.png | Bin .../figure/underdetermined_problem_02.png | Bin .../figure/weightdecay_lambda_plot.png | Bin slides/regularization/figure_man/bagging.pdf | Bin .../figure_man/bayes-plot-posterior.png | Bin .../regularization/figure_man/bayes_reg.png | Bin .../figure_man/bias-variance-ridge.png | Bin .../figure_man/biasvariance_scheme.png | Bin .../complexity-vs-fit-continuous.png | Bin .../figure_man/complexity-vs-fit.png | Bin .../figure_man/complexity-vs-fit2.png | Bin .../figure_man/cv-error-lambda-path.png | Bin .../figure_man/data-augmentation-cat.png | Bin .../regularization/figure_man/earlystop.png | Bin .../figure_man/earlystop_int_hat.png | Bin .../figure_man/fig-regu-srm-1.pdf | Bin .../figure_man/fig-regu-srm-2.pdf | Bin slides/regularization/figure_man/l0_norm.png | Bin .../regularization/figure_man/l1_l2_hat.png | Bin .../figure_man/l1_l2_regupaths_mse.pdf | Bin .../figure_man/lasso_contours_cases.png | Bin .../regularization/figure_man/lasso_hat.png | Bin .../figure_man/lasso_ridge_hat.png | Bin .../figure_man/lq-penalty-plots.png | Bin .../figure_man/other-pen-MCP.png | Bin .../figure_man/other-pen-SCAD.png | Bin .../figure_man/other-pen-lasso.png | Bin .../figure_man/path-ridge-vs-sgd-ali2020.png | Bin .../figure_man/penalties-comparison.pdf | Bin .../figure_man/rf_majvot_averaging.png | Bin .../figure_man/ridge-vs-sgd-path.png | Bin .../regularization/figure_man/ridge_hat.png | Bin .../figure_man/soft-threshold-ridge-ols.pdf | Bin .../figure_man/soft-thresholding.pdf | Bin .../figure_man/solution-path-ridge-lasso.png | Bin .../figure_man/solution-path-ridge-only.png | Bin .../figure_man/solution_path.png | Bin .../figure_man/solution_path_l2.png | Bin .../figure_man/solution_paths_l1_l2.png | Bin .../figure_man/to_replace_estimation_bias.png | Bin .../to_replace_estimation_variance.png | Bin .../to_replace_estimation_variance_res.png | Bin .../figure_man/to_replace_model_bias.png | Bin .../figure_man/to_replace_sampling.png | Bin .../figure_man/wt_decay_hat.png | Bin slides/regularization/references.bib | 0 slides/regularization/rsrc/bayes-plot.R | 0 slides/regularization/rsrc/bayes_prior.R | 0 .../regularization/rsrc/beta_lasso_better.Rda | Bin .../regularization/rsrc/beta_ridge_better.Rda | Bin .../rsrc/bias-var-decomp-ridge.py | 0 slides/regularization/rsrc/curseofdim.R | 0 .../rsrc/data-augmentation-images-cat.py | 0 slides/regularization/rsrc/distances.rds | Bin .../regularization/rsrc/early_stopping1.RData | Bin slides/regularization/rsrc/earlystopping.R | 0 .../rsrc/elasticnet_comparision_ridge_lasso.R | 0 .../rsrc/equivariance-ols-ridge.R | 0 .../rsrc/error_lasso_better.Rda | Bin .../rsrc/error_ridge_better.Rda | Bin slides/regularization/rsrc/fig-eval_ofit_1.R | 0 slides/regularization/rsrc/ggsave-10.R | 0 slides/regularization/rsrc/lasso-scad-mcp.R | 0 slides/regularization/rsrc/lq-penalty-plot.py | 0 .../rsrc/make-solution-path-ridge-lasso.py | 0 .../rsrc/make_avoid_overfitting_01_plot.R | 0 .../rsrc/make_avoid_overfitting_02_plot.R | 0 .../rsrc/make_early_stopping_plot.R | 0 .../rsrc/make_enet_lasso_ridge_mse_plot.R | 0 .../rsrc/make_enet_tradeoff_plot.R | 0 .../rsrc/make_fig_regu_nonlin_plots.R | 0 .../rsrc/make_graddes_vs_weightdecay_plot.R | 0 .../rsrc/make_l1_l2_regupaths_mse.R | 0 .../rsrc/make_l1_reg_hess_plots.R | 0 .../rsrc/make_l2_reg_hess_plots.R | 86 ++++++++---------- .../rsrc/make_lasso-contours-sparsity.py | 0 .../rsrc/make_lasso_ridge_enet_2d_plot.R | 0 .../rsrc/make_linear_model_reg.R | 0 slides/regularization/rsrc/make_nn_plots.R | 0 .../rsrc/make_overfitting_table.R | 0 .../rsrc/make_ozone_mse_boxplot.R | 0 .../rsrc/make_poly_ridge_1_plot.R | 0 .../rsrc/make_poly_ridge_2_plot.R | 0 .../rsrc/make_poly_ridge_table_latex.R | 0 .../regularization/rsrc/make_reg_contours.R | 0 .../rsrc/make_reg_feat_scaling_data.R | 0 .../rsrc/make_reg_multicollinearity_plot.R | 0 .../regularization/rsrc/make_reg_surfaces.py | 0 ...make_regu_example_multicollinearity_plot.R | 0 .../rsrc/make_regu_other_penalty_plots.R | 0 .../rsrc/make_regularized_log_reg_plot.R | 0 .../rsrc/make_ridge_vs_sgd_path.py | 0 .../rsrc/make_shrinkage_1_plot.R | 0 .../rsrc/make_shrinkage_2_plot.R | 0 .../rsrc/make_underconstrained_problem_plot.R | 0 .../make_underdetermined_problem_01_plot.R | 0 .../make_underdetermined_problem_02_plot.R | 0 .../rsrc/make_wd_l2_geom_plot.R | 0 .../rsrc/make_weightdecay_lambda_plot.R | 0 .../rsrc/other-pen-regularizers.R | 0 .../regularization/rsrc/ozone_example.RData | Bin slides/regularization/rsrc/reg_l12.R | 0 .../regularization/rsrc/reg_perspectives.py | 0 slides/regularization/rsrc/regu_example_1.R | 0 .../regularization/rsrc/regu_example_1.RData | Bin slides/regularization/rsrc/regu_example_2.R | 0 .../regularization/rsrc/regu_example_2.RData | Bin .../rsrc/ridge_polynomial_reg.R | 0 .../regularization/rsrc/soft-thresholding.R | 0 .../regularization/rsrc/softthresholding_l1.R | 0 slides/regularization/rsrc/utils.R | 4 +- .../slides-regu-bagging-deepdive.tex | 0 slides/regularization/slides-regu-bayes.tex | 0 .../slides-regu-bias-variance.tex | 0 .../slides-regu-early-stopping.tex | 0 .../regularization/slides-regu-enetlogreg.tex | 0 slides/regularization/slides-regu-geom-l1.tex | 0 slides/regularization/slides-regu-geom-l2.tex | 0 slides/regularization/slides-regu-intro.tex | 0 slides/regularization/slides-regu-l1.tex | 0 slides/regularization/slides-regu-l1vsl2.tex | 0 .../regularization/slides-regu-l2-nonlin.tex | 0 slides/regularization/slides-regu-l2.tex | 0 .../slides-regu-lasso-deepdive.tex | 0 slides/regularization/slides-regu-nonlin.tex | 0 slides/regularization/slides-regu-others.tex | 0 .../slides-regu-ridge-deepdive.tex | 0 .../regularization/slides-regu-wd-vs-l2.tex | 0 slides/slide-dependencies.pdf | Bin slides/tex.mk | 0 920 files changed, 955 insertions(+), 872 deletions(-) mode change 100644 => 100755 slides/R.mk mode change 100644 => 100755 slides/README.md mode change 100644 => 100755 slides/advriskmin/Makefile mode change 100644 => 100755 slides/advriskmin/chapter-order.tex mode change 100644 => 100755 slides/advriskmin/figure/L2-loss.png mode change 100644 => 100755 slides/advriskmin/figure/bayes_error_5.png mode change 100644 => 100755 slides/advriskmin/figure/bias_variance_decomposition-bootstrap_1.png mode change 100644 => 100755 slides/advriskmin/figure/bias_variance_decomposition-bootstrap_2.png mode change 100644 => 100755 slides/advriskmin/figure/bias_variance_decomposition-complex_model.png mode change 100644 => 100755 slides/advriskmin/figure/bias_variance_decomposition-complex_model_bias.png mode change 100644 => 100755 slides/advriskmin/figure/bias_variance_decomposition-complex_model_variance.png mode change 100644 => 100755 slides/advriskmin/figure/bias_variance_decomposition-correct_model.png mode change 100644 => 100755 slides/advriskmin/figure/bias_variance_decomposition-correct_model_bias.png mode change 100644 => 100755 slides/advriskmin/figure/bias_variance_decomposition-correct_model_variance.png mode change 100644 => 100755 slides/advriskmin/figure/bias_variance_decomposition-linear_model.png mode change 100644 => 100755 slides/advriskmin/figure/bias_variance_decomposition-linear_model_bias.png mode change 100644 => 100755 slides/advriskmin/figure/bias_variance_decomposition-linear_model_variance.png mode change 100644 => 100755 slides/advriskmin/figure/bias_variance_decomposition-train_test.png mode change 100644 => 100755 slides/advriskmin/figure/ftrue.pdf mode change 100644 => 100755 slides/advriskmin/figure/ftrue.png mode change 100644 => 100755 slides/advriskmin/figure/l1_vs_l2.png mode change 100644 => 100755 slides/advriskmin/figure/laplace_plot.pdf mode change 100644 => 100755 slides/advriskmin/figure/lasso_penalized.png mode change 100644 => 100755 slides/advriskmin/figure/lasso_penalty.png mode change 100644 => 100755 slides/advriskmin/figure/lasso_unpenalized.png mode change 100644 => 100755 slides/advriskmin/figure/log_reg_erm.pdf mode change 100644 => 100755 slides/advriskmin/figure/log_reg_ml.pdf mode change 100644 => 100755 slides/advriskmin/figure/loss_absolute_1.png mode change 100644 => 100755 slides/advriskmin/figure/loss_absolute_2.png mode change 100644 => 100755 slides/advriskmin/figure/loss_cauchy.png mode change 100644 => 100755 slides/advriskmin/figure/loss_dist_based.png mode change 100644 => 100755 slides/advriskmin/figure/loss_eps_insensitive.png mode change 100644 => 100755 slides/advriskmin/figure/loss_huber_plot.png mode change 100644 => 100755 slides/advriskmin/figure/loss_l1_l2.png mode change 100644 => 100755 slides/advriskmin/figure/loss_logbarrier_1.png mode change 100644 => 100755 slides/advriskmin/figure/loss_logbarrier_2.png mode change 100644 => 100755 slides/advriskmin/figure/loss_logcosh.png mode change 100644 => 100755 slides/advriskmin/figure/loss_quadratic_1.png mode change 100644 => 100755 slides/advriskmin/figure/loss_quadratic_2.png mode change 100644 => 100755 slides/advriskmin/figure/loss_quantile.png mode change 100644 => 100755 slides/advriskmin/figure/loss_symmetric.png mode change 100644 => 100755 slides/advriskmin/figure/loss_transl_inv.png mode change 100644 => 100755 slides/advriskmin/figure/optimal_pointwise.png mode change 100644 => 100755 slides/advriskmin/figure/optimal_pointwise_1.png mode change 100644 => 100755 slides/advriskmin/figure/optimal_pointwise_2.png mode change 100644 => 100755 slides/advriskmin/figure/plot_bernoulli.png mode change 100644 => 100755 slides/advriskmin/figure/plot_bernoulli_plusmin_encoding.png mode change 100644 => 100755 slides/advriskmin/figure/plot_bernoulli_prob.png mode change 100644 => 100755 slides/advriskmin/figure/plot_brier.png mode change 100644 => 100755 slides/advriskmin/figure/plot_loss_01.png mode change 100644 => 100755 slides/advriskmin/figure/plot_loss_exponential.png mode change 100644 => 100755 slides/advriskmin/figure/plot_loss_hinge.png mode change 100644 => 100755 slides/advriskmin/figure/plot_loss_hinge_squared.png mode change 100644 => 100755 slides/advriskmin/figure/plot_loss_overview.png mode change 100644 => 100755 slides/advriskmin/figure/plot_loss_overview_classif.png mode change 100644 => 100755 slides/advriskmin/figure/plot_loss_overview_classif_2.png mode change 100644 => 100755 slides/advriskmin/figure/plot_loss_squared_scores.png mode change 100644 => 100755 slides/advriskmin/figure/plot_quad_pseudores.png mode change 100644 => 100755 slides/advriskmin/figure/pseudo_residual_1.png mode change 100644 => 100755 slides/advriskmin/figure/pseudo_residual_2.png mode change 100644 => 100755 slides/advriskmin/figure/residuals_plot_Huber_L1.pdf mode change 100644 => 100755 slides/advriskmin/figure/residuals_plot_L1.pdf mode change 100644 => 100755 slides/advriskmin/figure/residuals_plot_L1_title.png mode change 100644 => 100755 slides/advriskmin/figure/residuals_plot_L2.pdf mode change 100644 => 100755 slides/advriskmin/figure/residuals_plot_L2_title.png mode change 100644 => 100755 slides/advriskmin/figure/robustness.png mode change 100644 => 100755 slides/advriskmin/figure/softmax_1.png mode change 100644 => 100755 slides/advriskmin/figure/softmax_2.png mode change 100644 => 100755 slides/advriskmin/figure_man/S_function_plot.pdf mode change 100644 => 100755 slides/advriskmin/figure_man/convex-vs-nonconfex-landscape.png mode change 100644 => 100755 slides/advriskmin/figure_man/cosh-gaussian-densities.png mode change 100644 => 100755 slides/advriskmin/figure_man/lcurve_1.png mode change 100644 => 100755 slides/advriskmin/figure_man/logcosh-derivation.png mode change 100644 => 100755 slides/advriskmin/figure_man/optimization_steps.jpeg mode change 100644 => 100755 slides/advriskmin/figure_man/plot_const_var.png mode change 100644 => 100755 slides/advriskmin/figure_man/risk_minimization_diagram.png mode change 100644 => 100755 slides/advriskmin/figure_man/vgg_example.png create mode 100755 slides/advriskmin/references.bib mode change 100644 => 100755 slides/advriskmin/rsrc/S_function_plot.nb mode change 100644 => 100755 slides/advriskmin/rsrc/bias_variance_decomposition.R mode change 100644 => 100755 slides/advriskmin/rsrc/error_surface.R mode change 100644 => 100755 slides/advriskmin/rsrc/example_intro.R mode change 100644 => 100755 slides/advriskmin/rsrc/ggsave-4.R mode change 100644 => 100755 slides/advriskmin/rsrc/helpers/loss_functions.R mode change 100644 => 100755 slides/advriskmin/rsrc/lasso.R mode change 100644 => 100755 slides/advriskmin/rsrc/logcosh-derivation.R mode change 100644 => 100755 slides/advriskmin/rsrc/loss_properties.R mode change 100644 => 100755 slides/advriskmin/rsrc/make_bayes_error_plots.R mode change 100644 => 100755 slides/advriskmin/rsrc/make_different_losses_plots.R mode change 100644 => 100755 slides/advriskmin/rsrc/make_empirical_risk_plots.R mode change 100644 => 100755 slides/advriskmin/rsrc/make_graddesc_plot.R mode change 100644 => 100755 slides/advriskmin/rsrc/make_logreg_ml_erm_plot.R mode change 100644 => 100755 slides/advriskmin/rsrc/make_loss_absolute_plot.R mode change 100644 => 100755 slides/advriskmin/rsrc/make_loss_bernoulli_plots.R mode change 100644 => 100755 slides/advriskmin/rsrc/make_loss_brier_plot.R mode change 100644 => 100755 slides/advriskmin/rsrc/make_loss_cauchy_plot.R mode change 100644 => 100755 slides/advriskmin/rsrc/make_loss_cauchy_plot1.R mode change 100644 => 100755 slides/advriskmin/rsrc/make_loss_eps_insensitive_plot.R mode change 100644 => 100755 slides/advriskmin/rsrc/make_loss_exponential_plot.R mode change 100644 => 100755 slides/advriskmin/rsrc/make_loss_hinge_plot.R mode change 100644 => 100755 slides/advriskmin/rsrc/make_loss_huber_plot.R mode change 100644 => 100755 slides/advriskmin/rsrc/make_loss_logbarrier_plot.R mode change 100644 => 100755 slides/advriskmin/rsrc/make_loss_logcosh_plot.R mode change 100644 => 100755 slides/advriskmin/rsrc/make_loss_overview_classif_plot.R mode change 100644 => 100755 slides/advriskmin/rsrc/make_loss_overview_plot.R mode change 100644 => 100755 slides/advriskmin/rsrc/make_loss_quad_pseudores_plot.R mode change 100644 => 100755 slides/advriskmin/rsrc/make_loss_quadratic_plot.R mode change 100644 => 100755 slides/advriskmin/rsrc/make_loss_quantile_plot.R mode change 100644 => 100755 slides/advriskmin/rsrc/make_loss_squared_scores_plot.R mode change 100644 => 100755 slides/advriskmin/rsrc/make_loss_zero_one_plot.R mode change 100644 => 100755 slides/advriskmin/rsrc/make_optimal_constant_model_plots.R mode change 100644 => 100755 slides/advriskmin/rsrc/make_optimal_pointwise_prediction_plots.R mode change 100644 => 100755 slides/advriskmin/rsrc/make_pseudo_residual_plots.R mode change 100644 => 100755 slides/advriskmin/rsrc/make_residual_plots.R mode change 100644 => 100755 slides/advriskmin/rsrc/make_robustness_plot.R mode change 100644 => 100755 slides/advriskmin/rsrc/optimal-constant-model-variance.R mode change 100644 => 100755 slides/advriskmin/rsrc/optimal_constant_model.R mode change 100644 => 100755 slides/advriskmin/rsrc/softmax_fun.R mode change 100644 => 100755 slides/advriskmin/rsrc/tangent_line_y_x2.R mode change 100644 => 100755 slides/advriskmin/slides-advriskmin-bias-variance-decomposition-deepdive.tex mode change 100644 => 100755 slides/advriskmin/slides-advriskmin-bias-variance-decomposition.tex mode change 100644 => 100755 slides/advriskmin/slides-advriskmin-classification-01.tex mode change 100644 => 100755 slides/advriskmin/slides-advriskmin-classification-bernoulli.tex mode change 100644 => 100755 slides/advriskmin/slides-advriskmin-classification-brier.tex mode change 100644 => 100755 slides/advriskmin/slides-advriskmin-classification-deepdive.tex mode change 100644 => 100755 slides/advriskmin/slides-advriskmin-classification-furtherlosses.tex mode change 100644 => 100755 slides/advriskmin/slides-advriskmin-logreg-deepdive.tex mode change 100644 => 100755 slides/advriskmin/slides-advriskmin-losses-properties.tex mode change 100644 => 100755 slides/advriskmin/slides-advriskmin-max-likelihood-l2.tex mode change 100644 => 100755 slides/advriskmin/slides-advriskmin-max-likelihood-other.tex mode change 100644 => 100755 slides/advriskmin/slides-advriskmin-pseudo-residuals.tex mode change 100644 => 100755 slides/advriskmin/slides-advriskmin-regression-further-losses.tex mode change 100644 => 100755 slides/advriskmin/slides-advriskmin-regression-l1-deepdive.tex mode change 100644 => 100755 slides/advriskmin/slides-advriskmin-regression-l2-l1.tex mode change 100644 => 100755 slides/advriskmin/slides-advriskmin-risk-minimizer.tex mode change 100644 => 100755 slides/all/Makefile mode change 100644 => 100755 slides/all/README.md mode change 100644 => 100755 slides/all/slides_sl.tex mode change 100644 => 100755 slides/all/titlepage.jpg mode change 100644 => 100755 slides/boosting/Makefile mode change 100644 => 100755 slides/boosting/algorithms/componentwise_gradient_boosting.tex mode change 100644 => 100755 slides/boosting/algorithms/forward_stagewise_additive_modeling.tex mode change 100644 => 100755 slides/boosting/algorithms/gradient_boosting_for_k_classification.tex mode change 100644 => 100755 slides/boosting/algorithms/gradient_boosting_general.tex mode change 100644 => 100755 slides/boosting/algorithms/gradient_boosting_tree_algorithm_altern.tex mode change 100644 => 100755 slides/boosting/algorithms/gradient_tree_boosting_algorithm.tex mode change 100644 => 100755 slides/boosting/chapter-order.tex mode change 100644 => 100755 slides/boosting/cheatsheet_new/beamerposter.sty mode change 100644 => 100755 slides/boosting/cheatsheet_new/beamerthememlr.sty mode change 100644 => 100755 slides/boosting/cheatsheet_new/cheatsheet.tex mode change 100644 => 100755 slides/boosting/data/who-life-expectancy-data.csv mode change 100644 => 100755 slides/boosting/figure/adaboost_viz_mlr3_1.png mode change 100644 => 100755 slides/boosting/figure/adaboost_viz_mlr3_2.png mode change 100644 => 100755 slides/boosting/figure/boosting-cwb-bl-add1.pdf mode change 100644 => 100755 slides/boosting/figure/boosting-cwb-bl-add1.pdf.png mode change 100644 => 100755 slides/boosting/figure/boosting-cwb-bl-add2.pdf mode change 100644 => 100755 slides/boosting/figure/boosting-cwb-bl-add2.pdf.png mode change 100644 => 100755 slides/boosting/figure/boosting-cwb-bl-add3.pdf mode change 100644 => 100755 slides/boosting/figure/boosting-cwb-bl-add3.pdf.png mode change 100644 => 100755 slides/boosting/figure/boosting-cwb-bl1-points.png mode change 100644 => 100755 slides/boosting/figure/boosting-cwb-bl1.png mode change 100644 => 100755 slides/boosting/figure/boosting-cwb-bl2-points.png mode change 100644 => 100755 slides/boosting/figure/boosting-cwb-bl2.png mode change 100644 => 100755 slides/boosting/figure/boosting-cwb-bl3-points.png mode change 100644 => 100755 slides/boosting/figure/boosting-cwb-bl3.png mode change 100644 => 100755 slides/boosting/figure/boosting-cwb-bl4.png mode change 100644 => 100755 slides/boosting/figure/boosting-cwb-blpool1.png mode change 100644 => 100755 slides/boosting/figure/boosting-cwb-blpool2.png mode change 100644 => 100755 slides/boosting/figure/boosting-cwb-blpool3.png mode change 100644 => 100755 slides/boosting/figure/boosting-cwb-blpool4.png mode change 100644 => 100755 slides/boosting/figure/boosting_classif_1.png mode change 100644 => 100755 slides/boosting/figure/boosting_classif_10.png mode change 100644 => 100755 slides/boosting/figure/boosting_classif_100.png mode change 100644 => 100755 slides/boosting/figure/boosting_classif_2.png mode change 100644 => 100755 slides/boosting/figure/boosting_classif_5.png mode change 100644 => 100755 slides/boosting/figure/boosting_classif_error_1.png mode change 100644 => 100755 slides/boosting/figure/boosting_classif_error_10.png mode change 100644 => 100755 slides/boosting/figure/boosting_classif_error_100.png mode change 100644 => 100755 slides/boosting/figure/boosting_classif_error_2.png mode change 100644 => 100755 slides/boosting/figure/boosting_classif_error_5.png mode change 100644 => 100755 slides/boosting/figure/boosting_classif_example.png mode change 100644 => 100755 slides/boosting/figure/boosting_interaction_example_ID2.png mode change 100644 => 100755 slides/boosting/figure/boosting_interaction_example_gam.png mode change 100644 => 100755 slides/boosting/figure/boosting_multiclass_1.png mode change 100644 => 100755 slides/boosting/figure/boosting_multiclass_10.png mode change 100644 => 100755 slides/boosting/figure/boosting_multiclass_100.png mode change 100644 => 100755 slides/boosting/figure/boosting_multiclass_2.png mode change 100644 => 100755 slides/boosting/figure/boosting_multiclass_5.png mode change 100644 => 100755 slides/boosting/figure/bspline-basis.png mode change 100644 => 100755 slides/boosting/figure/compboost-base-learner-linear.png mode change 100644 => 100755 slides/boosting/figure/compboost-base-learner-ridge.png mode change 100644 => 100755 slides/boosting/figure/compboost-base-learner-spline.png mode change 100644 => 100755 slides/boosting/figure/compboost-base-learner-tensor.png mode change 100644 => 100755 slides/boosting/figure/compboost-illustration-1.png mode change 100644 => 100755 slides/boosting/figure/compboost-illustration-2.png mode change 100644 => 100755 slides/boosting/figure/compboost-illustration-3.png mode change 100644 => 100755 slides/boosting/figure/compboost-intercept-handling.png mode change 100644 => 100755 slides/boosting/figure/compboost-to-glm-iter1000.png mode change 100644 => 100755 slides/boosting/figure/compboost-to-glm-iter10000.png mode change 100644 => 100755 slides/boosting/figure/compboost-to-glm-iter250.png mode change 100644 => 100755 slides/boosting/figure/compboost-to-glm-iter500.png mode change 100644 => 100755 slides/boosting/figure/compboost-to-glm-iter5000.png mode change 100644 => 100755 slides/boosting/figure/cwb-anim-nl/fig-iter-0001.png mode change 100644 => 100755 slides/boosting/figure/cwb-anim-nl/fig-iter-0002.png mode change 100644 => 100755 slides/boosting/figure/cwb-anim-nl/fig-iter-0005.png mode change 100644 => 100755 slides/boosting/figure/cwb-anim-nl/fig-iter-0010.png mode change 100644 => 100755 slides/boosting/figure/cwb-anim-nl/fig-iter-0015.png mode change 100644 => 100755 slides/boosting/figure/cwb-anim-nl/fig-iter-0017.png mode change 100644 => 100755 slides/boosting/figure/cwb-anim-nl/fig-iter-0018.png mode change 100644 => 100755 slides/boosting/figure/cwb-anim-nl/fig-iter-0020.png mode change 100644 => 100755 slides/boosting/figure/cwb-anim-nl/fig-iter-0023.png mode change 100644 => 100755 slides/boosting/figure/cwb-anim-nl/fig-iter-0024.png mode change 100644 => 100755 slides/boosting/figure/cwb-anim-nl/fig-iter-0030.png mode change 100644 => 100755 slides/boosting/figure/cwb-anim-nl/fig-iter-0050.png mode change 100644 => 100755 slides/boosting/figure/cwb-anim-nl/fig-iter-0070.png mode change 100644 => 100755 slides/boosting/figure/cwb-anim-nl/fig-iter-0088.png mode change 100644 => 100755 slides/boosting/figure/cwb-anim-nl/fig-iter-0089.png mode change 100644 => 100755 slides/boosting/figure/cwb-anim-nl/fig-iter-0090.png mode change 100644 => 100755 slides/boosting/figure/cwb-anim-nl/fig-iter-0110.png mode change 100644 => 100755 slides/boosting/figure/cwb-anim-nl/fig-iter-0130.png mode change 100644 => 100755 slides/boosting/figure/cwb-anim-nl/fig-iter-0150.png mode change 100644 => 100755 slides/boosting/figure/cwb-anim/fig-iter-0001.png mode change 100644 => 100755 slides/boosting/figure/cwb-anim/fig-iter-0002.png mode change 100644 => 100755 slides/boosting/figure/cwb-anim/fig-iter-0005.png mode change 100644 => 100755 slides/boosting/figure/cwb-anim/fig-iter-0010.png mode change 100644 => 100755 slides/boosting/figure/cwb-anim/fig-iter-0015.png mode change 100644 => 100755 slides/boosting/figure/cwb-anim/fig-iter-0016.png mode change 100644 => 100755 slides/boosting/figure/cwb-anim/fig-iter-0020.png mode change 100644 => 100755 slides/boosting/figure/cwb-anim/fig-iter-0030.png mode change 100644 => 100755 slides/boosting/figure/cwb-anim/fig-iter-0037.png mode change 100644 => 100755 slides/boosting/figure/cwb-anim/fig-iter-0038.png mode change 100644 => 100755 slides/boosting/figure/cwb-anim/fig-iter-0050.png mode change 100644 => 100755 slides/boosting/figure/cwb-anim/fig-iter-0070.png mode change 100644 => 100755 slides/boosting/figure/cwb-anim/fig-iter-0090.png mode change 100644 => 100755 slides/boosting/figure/cwb-anim/fig-iter-0110.png mode change 100644 => 100755 slides/boosting/figure/cwb-anim/fig-iter-0116.png mode change 100644 => 100755 slides/boosting/figure/cwb-anim/fig-iter-0117.png mode change 100644 => 100755 slides/boosting/figure/cwb-anim/fig-iter-0140.png mode change 100644 => 100755 slides/boosting/figure/cwb-anim/fig-iter-0150.png mode change 100644 => 100755 slides/boosting/figure/fig-decomp1.png mode change 100644 => 100755 slides/boosting/figure/fig-decomp2.png mode change 100644 => 100755 slides/boosting/figure/fig-gb-concept-1.png mode change 100644 => 100755 slides/boosting/figure/fig-gb-concept-2.png mode change 100644 => 100755 slides/boosting/figure/fig-gb-concept-idea-1.png mode change 100644 => 100755 slides/boosting/figure/fig-gb-concept-idea-2.png mode change 100644 => 100755 slides/boosting/figure/fig-gb-concept-idea-3.png mode change 100644 => 100755 slides/boosting/figure/fig-gb-concept-idea.png mode change 100644 => 100755 slides/boosting/figure/fig-gb-concept-pseudo-resi-1.png mode change 100644 => 100755 slides/boosting/figure/fig-gb-concept-pseudo-resi-2.png mode change 100644 => 100755 slides/boosting/figure/fig-loss-huber-delta.png mode change 100644 => 100755 slides/boosting/figure/gbm_anim_02.png mode change 100644 => 100755 slides/boosting/figure/gbm_anim_03.png mode change 100644 => 100755 slides/boosting/figure/gbm_anim_51.png mode change 100644 => 100755 slides/boosting/figure/gbm_anim_data.png mode change 100644 => 100755 slides/boosting/figure/gbm_anim_init.png mode change 100644 => 100755 slides/boosting/figure/gbm_regu_oversmoothing_overfitting.png mode change 100644 => 100755 slides/boosting/figure/gbm_sine.png mode change 100644 => 100755 slides/boosting/figure/gbm_sine_title.png mode change 100644 => 100755 slides/boosting/figure/gbm_spam.png mode change 100644 => 100755 slides/boosting/figure/illustration_data_normal.png mode change 100644 => 100755 slides/boosting/figure/illustration_gaussian_L1_1.png mode change 100644 => 100755 slides/boosting/figure/illustration_gaussian_L1_10.png mode change 100644 => 100755 slides/boosting/figure/illustration_gaussian_L1_100.png mode change 100644 => 100755 slides/boosting/figure/illustration_gaussian_L1_2.png mode change 100644 => 100755 slides/boosting/figure/illustration_gaussian_L1_3.png mode change 100644 => 100755 slides/boosting/figure/illustration_gaussian_L1_lin_1.png mode change 100644 => 100755 slides/boosting/figure/illustration_gaussian_L1_lin_10.png mode change 100644 => 100755 slides/boosting/figure/illustration_gaussian_L1_lin_100.png mode change 100644 => 100755 slides/boosting/figure/illustration_gaussian_L2_1.png mode change 100644 => 100755 slides/boosting/figure/illustration_gaussian_L2_10.png mode change 100644 => 100755 slides/boosting/figure/illustration_gaussian_L2_100.png mode change 100644 => 100755 slides/boosting/figure/illustration_gaussian_L2_2.png mode change 100644 => 100755 slides/boosting/figure/illustration_gaussian_L2_3.png mode change 100644 => 100755 slides/boosting/figure/illustration_gaussian_L2_lin_1.png mode change 100644 => 100755 slides/boosting/figure/illustration_gaussian_L2_lin_10.png mode change 100644 => 100755 slides/boosting/figure/illustration_gaussian_L2_lin_100.png mode change 100644 => 100755 slides/boosting/figure/illustration_gaussian_huber_02_10.png mode change 100644 => 100755 slides/boosting/figure/illustration_gaussian_huber_2_10.png mode change 100644 => 100755 slides/boosting/figure/illustration_tdist_L1_10.png mode change 100644 => 100755 slides/boosting/figure/illustration_tdist_L1_100.png mode change 100644 => 100755 slides/boosting/figure/illustration_tdist_L2_10.png mode change 100644 => 100755 slides/boosting/figure/illustration_tdist_L2_100.png mode change 100644 => 100755 slides/boosting/figure/illustration_title.png mode change 100644 => 100755 slides/boosting/figure/interaction_td1_d3.png mode change 100644 => 100755 slides/boosting/figure/interaction_td2_d3.png mode change 100644 => 100755 slides/boosting/figure/pseudo_residual_1.png mode change 100644 => 100755 slides/boosting/figure/split_finding_1.png mode change 100644 => 100755 slides/boosting/figure/split_finding_2.png mode change 100644 => 100755 slides/boosting/figure/stump_plots.png mode change 100644 => 100755 slides/boosting/figure/stump_plots_noisy.png mode change 100644 => 100755 slides/boosting/figure_man/adaboost_example_adjusted.png mode change 100644 => 100755 slides/boosting/figure_man/bagging_vs_boosting.png mode change 100644 => 100755 slides/boosting/figure_man/boosting_classif_title.PNG mode change 100644 => 100755 slides/boosting/figure_man/boosting_interact_expl1.PNG mode change 100644 => 100755 slides/boosting/figure_man/boosting_interact_expl2.PNG mode change 100644 => 100755 slides/boosting/figure_man/boosting_interaction_depth1fit3D_x1.png mode change 100644 => 100755 slides/boosting/figure_man/boosting_interaction_depth1fit3D_x2.png mode change 100644 => 100755 slides/boosting/figure_man/boosting_interaction_targetfunction3D.png mode change 100644 => 100755 slides/boosting/figure_man/df_to_lambda.pdf mode change 100644 => 100755 slides/boosting/figure_man/gbm_anim/old/gbm5.jpg mode change 100644 => 100755 slides/boosting/figure_man/gbm_leaf_adjustment.pdf mode change 100644 => 100755 slides/boosting/figure_man/trees_balance.pdf create mode 100755 slides/boosting/references.bib mode change 100644 => 100755 slides/boosting/rsrc/ada_vs_forest.RData mode change 100644 => 100755 slides/boosting/rsrc/attic/adaboost_viz_mlr.R mode change 100644 => 100755 slides/boosting/rsrc/benchmark.R mode change 100644 => 100755 slides/boosting/rsrc/benchmark.RData mode change 100644 => 100755 slides/boosting/rsrc/boosting-example-datapoints.R mode change 100644 => 100755 slides/boosting/rsrc/boosting-trees-interaction-example.R mode change 100644 => 100755 slides/boosting/rsrc/boosting_animation_classification.R mode change 100644 => 100755 slides/boosting/rsrc/boosting_animation_gam.R mode change 100644 => 100755 slides/boosting/rsrc/boosting_idea.R mode change 100644 => 100755 slides/boosting/rsrc/boosting_illustration_plot.R mode change 100644 => 100755 slides/boosting/rsrc/boosting_intro_animation.R mode change 100644 => 100755 slides/boosting/rsrc/cim1_optim.R mode change 100644 => 100755 slides/boosting/rsrc/comparing_methods.R mode change 100644 => 100755 slides/boosting/rsrc/comparing_methods.RData mode change 100644 => 100755 slides/boosting/rsrc/comparing_methods_result.RData mode change 100644 => 100755 slides/boosting/rsrc/create_df_to_lambda_viz.R mode change 100644 => 100755 slides/boosting/rsrc/create_spam_data.R mode change 100644 => 100755 slides/boosting/rsrc/fig-adaboost-viz-mlr3.R mode change 100644 => 100755 slides/boosting/rsrc/fig-bspline-basis.R mode change 100644 => 100755 slides/boosting/rsrc/fig-centered-bl.R mode change 100644 => 100755 slides/boosting/rsrc/fig-compboost-add.R mode change 100644 => 100755 slides/boosting/rsrc/fig-compboost-base-learner.R mode change 100644 => 100755 slides/boosting/rsrc/fig-compboost-blpools.R mode change 100644 => 100755 slides/boosting/rsrc/fig-compboost-cboost-to-glm.R mode change 100644 => 100755 slides/boosting/rsrc/fig-compboost-illustration.R mode change 100644 => 100755 slides/boosting/rsrc/fig-cwb-anim.R mode change 100644 => 100755 slides/boosting/rsrc/fig-cwb-intercept-handling.R mode change 100644 => 100755 slides/boosting/rsrc/fig-gb-anim.R mode change 100644 => 100755 slides/boosting/rsrc/fig-gb-concept-idea.R mode change 100644 => 100755 slides/boosting/rsrc/fig-gb-concept-pseudo-resi.R mode change 100644 => 100755 slides/boosting/rsrc/fig-gb-concept.R mode change 100644 => 100755 slides/boosting/rsrc/fig-gb-sine.R mode change 100644 => 100755 slides/boosting/rsrc/fig-gbm-regu-oversmoothing-overfitting.R mode change 100644 => 100755 slides/boosting/rsrc/fig-gbm-spam-data.RDS mode change 100644 => 100755 slides/boosting/rsrc/fig-gbm-spam.R mode change 100644 => 100755 slides/boosting/rsrc/fig-loss-huber-delta.R mode change 100644 => 100755 slides/boosting/rsrc/fig-regr-illustration.R mode change 100644 => 100755 slides/boosting/rsrc/fig-rf-vs-adaboost.R mode change 100644 => 100755 slides/boosting/rsrc/gbm_spam_defs.R mode change 100644 => 100755 slides/boosting/rsrc/gbm_spam_exps.R mode change 100644 => 100755 slides/boosting/rsrc/gbm_spam_imp_ggplot.pdf mode change 100644 => 100755 slides/boosting/rsrc/gbm_spam_results.R mode change 100644 => 100755 slides/boosting/rsrc/gbm_spam_results.RData mode change 100644 => 100755 slides/boosting/rsrc/gbm_spam_results_long.RData mode change 100644 => 100755 slides/boosting/rsrc/gbm_spam_vars.txt mode change 100644 => 100755 slides/boosting/rsrc/make_boosting_animation_multiclass_plots.R mode change 100644 => 100755 slides/boosting/rsrc/make_iris_ds_plot.R mode change 100644 => 100755 slides/boosting/rsrc/make_split_finding_plots.R mode change 100644 => 100755 slides/boosting/rsrc/model_best_spam.rds mode change 100644 => 100755 slides/boosting/rsrc/numbers_on_slides.R mode change 100644 => 100755 slides/boosting/rsrc/plotLearnerPrediction.R mode change 100644 => 100755 slides/boosting/rsrc/pseudo_boosting.R mode change 100644 => 100755 slides/boosting/rsrc/spam.RData mode change 100644 => 100755 slides/boosting/rsrc/spam_example.R mode change 100644 => 100755 slides/boosting/rsrc/spam_example.RData mode change 100644 => 100755 slides/boosting/rsrc/stump_plots.R mode change 100644 => 100755 slides/boosting/slides-boosting-cwb-advanced.tex mode change 100644 => 100755 slides/boosting/slides-boosting-cwb-basics.tex mode change 100644 => 100755 slides/boosting/slides-boosting-cwb-basics2.tex mode change 100644 => 100755 slides/boosting/slides-boosting-cwb-glm.tex mode change 100644 => 100755 slides/boosting/slides-boosting-gbm-classification.tex mode change 100644 => 100755 slides/boosting/slides-boosting-gbm-regularization.tex mode change 100644 => 100755 slides/boosting/slides-boosting-gbm-with-trees-1.tex mode change 100644 => 100755 slides/boosting/slides-boosting-gbm-with-trees-2.tex mode change 100644 => 100755 slides/boosting/slides-boosting-gradient-boosting-concept.tex mode change 100644 => 100755 slides/boosting/slides-boosting-intro-adaboost.tex mode change 100644 => 100755 slides/boosting/slides-boosting-lgm-ctbm.tex mode change 100644 => 100755 slides/boosting/slides-boosting-regression-illustrations.tex mode change 100644 => 100755 slides/boosting/slides-boosting-xgboost-deepdive.tex mode change 100644 => 100755 slides/boosting/slides-boosting-xgboost.tex mode change 100644 => 100755 slides/boosting/slides-order.txt mode change 100644 => 100755 slides/boosting/tex/cwb-algo-short.tex mode change 100644 => 100755 slides/boosting/tex/cwb-bl-sel.tex mode change 100644 => 100755 slides/boosting/tex/fig-cwb-anim-nl.tex mode change 100644 => 100755 slides/boosting/tex/fig-cwb-anim.tex mode change 100644 => 100755 slides/cod/Makefile mode change 100644 => 100755 slides/cod/chapter-order.tex mode change 100644 => 100755 slides/cod/figure/2d_normal_plot.png mode change 100644 => 100755 slides/cod/figure/capital_letters_3d_plot.png mode change 100644 => 100755 slides/cod/figure/capital_letters_plot.png mode change 100644 => 100755 slides/cod/figure/cursed_dim_fraction_edge_plot.png mode change 100644 => 100755 slides/cod/figure/exclamation_marks_plot.png mode change 100644 => 100755 slides/cod/figure/gauss_high_dim_hist_plot.png mode change 100644 => 100755 slides/cod/figure/high_dim_cube_plot.png mode change 100644 => 100755 slides/cod/figure/knn_contrast_locality_plot.png mode change 100644 => 100755 slides/cod/figure/knn_density_plot.png mode change 100644 => 100755 slides/cod/figure/knn_error_plot.png mode change 100644 => 100755 slides/cod/figure/knn_misclassification_plot.png mode change 100644 => 100755 slides/cod/figure/knn_table.png mode change 100644 => 100755 slides/cod/figure/lm_mse_plot.png mode change 100644 => 100755 slides/cod/figure/lm_noise_plot.png mode change 100644 => 100755 slides/cod/figure/manifold_plot.png mode change 100644 => 100755 slides/cod/figure/vol_dim_plot.png mode change 100644 => 100755 slides/cod/figure_man/exponentialcubes.png mode change 100644 => 100755 slides/cod/figure_man/hypercube.png mode change 100644 => 100755 slides/cod/figure_man/orange.png mode change 100644 => 100755 slides/cod/figure_man/sphere_in_cube.png mode change 100644 => 100755 slides/cod/rsrc/curseofdim.R mode change 100644 => 100755 slides/cod/rsrc/datasets/cod_lm.R mode change 100644 => 100755 slides/cod/rsrc/datasets/cod_lm_cond.rds mode change 100644 => 100755 slides/cod/rsrc/datasets/cod_lm_noise.R mode change 100644 => 100755 slides/cod/rsrc/datasets/cod_lm_noise.rds mode change 100644 => 100755 slides/cod/rsrc/datasets/cod_lm_rpart.rds mode change 100644 => 100755 slides/cod/rsrc/datasets/distances.rds mode change 100644 => 100755 slides/cod/rsrc/datasets/distances_dataset.rds mode change 100644 => 100755 slides/cod/rsrc/datasets/knn_misclassification_dataset.rds mode change 100644 => 100755 slides/cod/rsrc/datasets/lm_mse_dataset.rds mode change 100644 => 100755 slides/cod/rsrc/datasets/lm_noise_dataset.rds mode change 100644 => 100755 slides/cod/rsrc/datasets/make_distances_dataset.R mode change 100644 => 100755 slides/cod/rsrc/datasets/make_knn_misclassification_dataset.R mode change 100644 => 100755 slides/cod/rsrc/datasets/make_lm_mse_dataset.R mode change 100644 => 100755 slides/cod/rsrc/datasets/make_lm_noise_dataset.R mode change 100644 => 100755 slides/cod/rsrc/helpers/constants.R mode change 100644 => 100755 slides/cod/rsrc/helpers/data_generators.R mode change 100644 => 100755 slides/cod/rsrc/helpers/utilities.R mode change 100644 => 100755 slides/cod/rsrc/make_2d_normal_plot.R mode change 100644 => 100755 slides/cod/rsrc/make_capital_letters_3d_plot.R mode change 100644 => 100755 slides/cod/rsrc/make_capital_letters_plot.R mode change 100644 => 100755 slides/cod/rsrc/make_cursed_dim_fraction_edge_plot.R mode change 100644 => 100755 slides/cod/rsrc/make_exclamation_marks_plot.R mode change 100644 => 100755 slides/cod/rsrc/make_gauss_high_dim_hist_plot.R mode change 100644 => 100755 slides/cod/rsrc/make_high_dim_cube_plot.R mode change 100644 => 100755 slides/cod/rsrc/make_knn_contrast_locality_plot.R mode change 100644 => 100755 slides/cod/rsrc/make_knn_density_plot.R mode change 100644 => 100755 slides/cod/rsrc/make_knn_error_plot.R mode change 100644 => 100755 slides/cod/rsrc/make_knn_misclassification_plot.R mode change 100644 => 100755 slides/cod/rsrc/make_knn_table.R mode change 100644 => 100755 slides/cod/rsrc/make_lm_mse_plot.R mode change 100644 => 100755 slides/cod/rsrc/make_lm_noise_plot.R mode change 100644 => 100755 slides/cod/rsrc/make_manifold_plot.R mode change 100644 => 100755 slides/cod/rsrc/make_vol_dim_plot.R mode change 100644 => 100755 slides/cod/rsrc/reg_l12.R mode change 100644 => 100755 slides/cod/rsrc/regularized_log_reg.R mode change 100644 => 100755 slides/cod/rsrc/ridge_polynomial_reg.R mode change 100644 => 100755 slides/cod/slides-cod-examples.tex mode change 100644 => 100755 slides/cod/slides-cod.tex mode change 100644 => 100755 slides/feature-selection/Makefile mode change 100644 => 100755 slides/feature-selection/chapter-order.tex mode change 100644 => 100755 slides/feature-selection/figure/avoid_overfitting_02.png mode change 100644 => 100755 slides/feature-selection/figure/filter_comparison_har_classif.kknn.png mode change 100644 => 100755 slides/feature-selection/figure/fs-auc-barplot.png mode change 100644 => 100755 slides/feature-selection/figure/fs-filters-scree-plot.png mode change 100644 => 100755 slides/feature-selection/figure/fs-micro-array.png mode change 100644 => 100755 slides/feature-selection/figure/fs-roc-curve.png mode change 100644 => 100755 slides/feature-selection/figure/fs-t-test.png mode change 100644 => 100755 slides/feature-selection/figure/fs-wrappers-backwards-powerset-tree-4.png mode change 100644 => 100755 slides/feature-selection/figure/fs-wrappers-powerset-all-1.png mode change 100644 => 100755 slides/feature-selection/figure/fs-wrappers-powerset-all-2.png mode change 100644 => 100755 slides/feature-selection/figure/fs-wrappers-powerset-all-3.png mode change 100644 => 100755 slides/feature-selection/figure/fs-wrappers-powerset-all-4.png mode change 100644 => 100755 slides/feature-selection/figure/fs-wrappers-powerset-tree-1.png mode change 100644 => 100755 slides/feature-selection/figure/fs-wrappers-powerset-tree-2.png mode change 100644 => 100755 slides/feature-selection/figure/fs-wrappers-powerset-tree-3.png mode change 100644 => 100755 slides/feature-selection/figure/fs-wrappers-powerset-tree-4.png mode change 100644 => 100755 slides/feature-selection/figure/gene-data-points.pdf mode change 100644 => 100755 slides/feature-selection/figure/genetic-alg.png mode change 100644 => 100755 slides/feature-selection/figure/greedy-forwards-search.png mode change 100644 => 100755 slides/feature-selection/figure/guyon_example_correlation.png mode change 100644 => 100755 slides/feature-selection/figure/guyon_example_intra_class_covariance.png mode change 100644 => 100755 slides/feature-selection/figure/guyon_example_intra_class_covariance_perpendicular.png mode change 100644 => 100755 slides/feature-selection/figure/guyon_example_presumably_redundant.png mode change 100644 => 100755 slides/feature-selection/figure/guyon_example_presumably_redundant_rotated.png mode change 100644 => 100755 slides/feature-selection/figure/guyon_example_xor.png mode change 100644 => 100755 slides/feature-selection/figure/regu_example_lasso_ridge.png mode change 100644 => 100755 slides/feature-selection/figure/searchspace_binary.png mode change 100644 => 100755 slides/feature-selection/figure/var-selection1.png mode change 100644 => 100755 slides/feature-selection/figure/var-selection2.png mode change 100644 => 100755 slides/feature-selection/figure_man/chunk2_filter_correlation.png mode change 100644 => 100755 slides/feature-selection/figure_man/correlation_example.png mode change 100644 => 100755 slides/feature-selection/figure_man/distance-corre.png mode change 100644 => 100755 slides/feature-selection/figure_man/feat_extraction.png mode change 100644 => 100755 slides/feature-selection/figure_man/feat_sel.png mode change 100644 => 100755 slides/feature-selection/figure_man/feat_sel_vs_feat_extraction.png mode change 100644 => 100755 slides/feature-selection/figure_man/feature_extraction.png mode change 100644 => 100755 slides/feature-selection/figure_man/feature_sel_vs_extr.png mode change 100644 => 100755 slides/feature-selection/figure_man/feature_selection.png mode change 100644 => 100755 slides/feature-selection/figure_man/feature_selection_vs_extraction.pptx mode change 100644 => 100755 slides/feature-selection/figure_man/tibshirani_fig_18_1.png mode change 100644 => 100755 slides/feature-selection/figure_man/tibshirani_fig_18_1_mod.png mode change 100644 => 100755 slides/feature-selection/figure_man/tibshirani_fig_18_4.png mode change 100644 => 100755 slides/feature-selection/figure_man/tibshirani_tab_18_1.png mode change 100644 => 100755 slides/feature-selection/figure_man/varsel_ex0.png mode change 100644 => 100755 slides/feature-selection/figure_man/varsel_ex1.png mode change 100644 => 100755 slides/feature-selection/figure_man/varsel_ex2.png mode change 100644 => 100755 slides/feature-selection/figure_man/varsel_overview.png mode change 100644 => 100755 slides/feature-selection/figure_man/varsel_overview.pptx mode change 100644 => 100755 slides/feature-selection/figure_man/varsel_space.png mode change 100644 => 100755 slides/feature-selection/figure_man/wrapperanim.R mode change 100644 => 100755 slides/feature-selection/figure_man/wrapperanim1.png mode change 100644 => 100755 slides/feature-selection/figure_man/wrapperanim2.png mode change 100644 => 100755 slides/feature-selection/figure_man/wrapperanim3.png mode change 100644 => 100755 slides/feature-selection/figure_man/wrapperanim4.png mode change 100644 => 100755 slides/feature-selection/figure_man/wrapperanim5.png mode change 100644 => 100755 slides/feature-selection/figure_man/wrapperanim6.png create mode 100755 slides/feature-selection/references.bib mode change 100644 => 100755 slides/feature-selection/rscr/chunk2_filter_correlation.R mode change 100644 => 100755 slides/feature-selection/rscr/feature_selection_vs_extraction.R mode change 100644 => 100755 slides/feature-selection/rscr/filter_examples_data.csv mode change 100644 => 100755 slides/feature-selection/rscr/fs-filters-examples.R mode change 100644 => 100755 slides/feature-selection/rscr/fs-filters-guyon-examples.R mode change 100644 => 100755 slides/feature-selection/rscr/fs-filters-roc-curve.R mode change 100644 => 100755 slides/feature-selection/rscr/fs-filters-scree-plot.R mode change 100644 => 100755 slides/feature-selection/rscr/fs-filters-t-test.R mode change 100644 => 100755 slides/feature-selection/rscr/fs-micro-array-plot.R mode change 100644 => 100755 slides/feature-selection/rscr/fs-wrappers-visualization.R mode change 100644 => 100755 slides/feature-selection/rscr/ggsave-2.R mode change 100644 => 100755 slides/feature-selection/rscr/scree-plot-data.csv mode change 100644 => 100755 slides/feature-selection/slides-fs-filters1.tex mode change 100644 => 100755 slides/feature-selection/slides-fs-filters2.tex mode change 100644 => 100755 slides/feature-selection/slides-fs-introduction.tex mode change 100644 => 100755 slides/feature-selection/slides-fs-motivating-examples.tex mode change 100644 => 100755 slides/feature-selection/slides-fs-wrapper.tex mode change 100644 => 100755 slides/information-theory/Makefile mode change 100644 => 100755 slides/information-theory/chapter-order.tex mode change 100644 => 100755 slides/information-theory/figure/beta_entropy.png mode change 100644 => 100755 slides/information-theory/figure/binary-ce.jpg mode change 100644 => 100755 slides/information-theory/figure/correlation_plot.png mode change 100644 => 100755 slides/information-theory/figure/cross_entropy_plot_1.png mode change 100644 => 100755 slides/information-theory/figure/cross_entropy_plot_2.png mode change 100644 => 100755 slides/information-theory/figure/entropy_bernoulli.png mode change 100644 => 100755 slides/information-theory/figure/entropy_calc.png mode change 100644 => 100755 slides/information-theory/figure/entropy_plot.png mode change 100644 => 100755 slides/information-theory/figure/entropy_plot_reordering.png mode change 100644 => 100755 slides/information-theory/figure/entropy_uniform_plot.png mode change 100644 => 100755 slides/information-theory/figure/ftrue.pdf mode change 100644 => 100755 slides/information-theory/figure/gaussian_mixture_scatter.png mode change 100644 => 100755 slides/information-theory/figure/gaussian_mixture_with_marginals.png mode change 100644 => 100755 slides/information-theory/figure/kl_calculation_plot_1.png mode change 100644 => 100755 slides/information-theory/figure/kl_calculation_plot_2.png mode change 100644 => 100755 slides/information-theory/figure/kl_ce_comparison.png mode change 100644 => 100755 slides/information-theory/figure/kl_fitting_plot.png mode change 100644 => 100755 slides/information-theory/figure/kl_log_diff.png mode change 100644 => 100755 slides/information-theory/figure/kl_log_diff_plot.png mode change 100644 => 100755 slides/information-theory/figure/kl_norm_lp.png mode change 100644 => 100755 slides/information-theory/figure/kl_norm_lp_sigma.png mode change 100644 => 100755 slides/information-theory/figure/max_entropy.png mode change 100644 => 100755 slides/information-theory/figure/max_entropy_1.pdf mode change 100644 => 100755 slides/information-theory/figure/max_entropy_2.pdf mode change 100644 => 100755 slides/information-theory/figure/max_entropy_3.pdf mode change 100644 => 100755 slides/information-theory/figure/max_entropy_4.pdf mode change 100644 => 100755 slides/information-theory/figure/max_entropy_5.pdf mode change 100644 => 100755 slides/information-theory/figure/normal_distributions.png mode change 100644 => 100755 slides/information-theory/figure/normal_entropy.png mode change 100644 => 100755 slides/information-theory/figure/normal_entropy_sigma.png mode change 100644 => 100755 slides/information-theory/figure/uni_entropy.png mode change 100644 => 100755 slides/information-theory/figure_man/ambiguity.png mode change 100644 => 100755 slides/information-theory/figure_man/binom1.png mode change 100644 => 100755 slides/information-theory/figure_man/binom2.png mode change 100644 => 100755 slides/information-theory/figure_man/claude-shannon.jpg mode change 100644 => 100755 slides/information-theory/figure_man/codetree1.png mode change 100644 => 100755 slides/information-theory/figure_man/codetree2.png mode change 100644 => 100755 slides/information-theory/figure_man/coin-entropy.png mode change 100644 => 100755 slides/information-theory/figure_man/crossent.png mode change 100644 => 100755 slides/information-theory/figure_man/diffent-quant.png mode change 100644 => 100755 slides/information-theory/figure_man/equal_decode.png mode change 100644 => 100755 slides/information-theory/figure_man/kl_me_constraint.png mode change 100644 => 100755 slides/information-theory/figure_man/kl_me_cosy.png mode change 100644 => 100755 slides/information-theory/figure_man/kl_me_indep_sub.png mode change 100644 => 100755 slides/information-theory/figure_man/kl_ml_dist_sim.png mode change 100644 => 100755 slides/information-theory/figure_man/kl_ml_fkl_rkl.png mode change 100644 => 100755 slides/information-theory/figure_man/kl_ml_mi.png mode change 100644 => 100755 slides/information-theory/figure_man/kl_ml_prob_fit.png mode change 100644 => 100755 slides/information-theory/figure_man/kl_ml_vi.png mode change 100644 => 100755 slides/information-theory/figure_man/length_same.png mode change 100644 => 100755 slides/information-theory/figure_man/length_var.png mode change 100644 => 100755 slides/information-theory/figure_man/multiclass-predictive.png mode change 100644 => 100755 slides/information-theory/figure_man/multinoulli.png mode change 100644 => 100755 slides/information-theory/figure_man/shift.png mode change 100644 => 100755 slides/information-theory/figure_man/xent_pq.png create mode 100755 slides/information-theory/references.bib mode change 100644 => 100755 slides/information-theory/rsrc/make_binary-ce.py mode change 100644 => 100755 slides/information-theory/rsrc/make_correlation_plot.R mode change 100644 => 100755 slides/information-theory/rsrc/make_cross_entropy_plots.R mode change 100644 => 100755 slides/information-theory/rsrc/make_diff_entropy_plots.R mode change 100644 => 100755 slides/information-theory/rsrc/make_entropy_plot.R mode change 100644 => 100755 slides/information-theory/rsrc/make_entropy_uniform_plot.R mode change 100644 => 100755 slides/information-theory/rsrc/make_ftrue_plot.R mode change 100644 => 100755 slides/information-theory/rsrc/make_gaussian_mixture_plots.R mode change 100644 => 100755 slides/information-theory/rsrc/make_gaussian_mixture_scatter.R mode change 100644 => 100755 slides/information-theory/rsrc/make_kl_calculation_plot.R mode change 100644 => 100755 slides/information-theory/rsrc/make_kl_ce_comparison.R mode change 100644 => 100755 slides/information-theory/rsrc/make_kl_fitting_plot.R mode change 100644 => 100755 slides/information-theory/rsrc/make_kl_log_diff_plot.R mode change 100644 => 100755 slides/information-theory/slides-info-cross-entropy-kld.tex mode change 100644 => 100755 slides/information-theory/slides-info-diffent.tex mode change 100644 => 100755 slides/information-theory/slides-info-entropy.tex mode change 100644 => 100755 slides/information-theory/slides-info-entropy2.tex mode change 100644 => 100755 slides/information-theory/slides-info-kl-ment.tex mode change 100644 => 100755 slides/information-theory/slides-info-kl-ml.tex mode change 100644 => 100755 slides/information-theory/slides-info-kl.tex mode change 100644 => 100755 slides/information-theory/slides-info-mi-deepdive.tex mode change 100644 => 100755 slides/information-theory/slides-info-ml.tex mode change 100644 => 100755 slides/information-theory/slides-info-mutual-info.tex mode change 100644 => 100755 slides/information-theory/slides-info-mutual-info2.tex mode change 100644 => 100755 slides/information-theory/slides-info-sourcecoding.tex mode change 100644 => 100755 slides/information-theory/slides-info-sourcecoding2.tex mode change 100644 => 100755 slides/information-theory/video transcripts/cross_entropy_transcript.txt mode change 100644 => 100755 slides/information-theory/video transcripts/differential_entropy_transcript.txt mode change 100644 => 100755 slides/information-theory/video transcripts/entropy_1_transcript.txt mode change 100644 => 100755 slides/information-theory/video transcripts/entropy_2_transcript.txt mode change 100644 => 100755 slides/information-theory/video transcripts/info_ml_transcript.txt mode change 100644 => 100755 slides/information-theory/video transcripts/kl_transcript.txt mode change 100644 => 100755 slides/information-theory/video transcripts/mi_1_transcript.txt mode change 100644 => 100755 slides/information-theory/video transcripts/mi_2_transcript.txt mode change 100644 => 100755 slides/information-theory/video transcripts/sc_1_transcript.txt mode change 100644 => 100755 slides/information-theory/video transcripts/sc_2_transcript.txt mode change 100644 => 100755 slides/linear-svm/Makefile mode change 100644 => 100755 slides/linear-svm/chapter-order.tex mode change 100644 => 100755 slides/linear-svm/figure/boundary_with_violations.png mode change 100644 => 100755 slides/linear-svm/figure/linear_classif_1.png mode change 100644 => 100755 slides/linear-svm/figure/linear_classif_2.png mode change 100644 => 100755 slides/linear-svm/figure/linear_svm_support_vectors_1.png mode change 100644 => 100755 slides/linear-svm/figure/linear_svm_support_vectors_2.png mode change 100644 => 100755 slides/linear-svm/figure/margin_violations.png mode change 100644 => 100755 slides/linear-svm/figure/non_separable_data.png mode change 100644 => 100755 slides/linear-svm/figure/other_losses.png mode change 100644 => 100755 slides/linear-svm/figure/soft_margin_losses.png mode change 100644 => 100755 slides/linear-svm/figure/soft_margin_svs.png mode change 100644 => 100755 slides/linear-svm/figure/support_vectors.png mode change 100644 => 100755 slides/linear-svm/figure/svm_geometry.png mode change 100644 => 100755 slides/linear-svm/figure/svm_training_01.png mode change 100644 => 100755 slides/linear-svm/figure/svm_training_02.png mode change 100644 => 100755 slides/linear-svm/figure/svm_training_03.png mode change 100644 => 100755 slides/linear-svm/rsrc/make_linear_classif_plots.R mode change 100644 => 100755 slides/linear-svm/rsrc/make_soft_margin_svm_plots.R mode change 100644 => 100755 slides/linear-svm/rsrc/make_svm_losses_plots.R mode change 100644 => 100755 slides/linear-svm/rsrc/make_svm_training_plots.R mode change 100644 => 100755 slides/linear-svm/rsrc/support_vectors_plot.py mode change 100644 => 100755 slides/linear-svm/rsrc/utils.R mode change 100644 => 100755 slides/linear-svm/slides-linsvm-erm.tex mode change 100644 => 100755 slides/linear-svm/slides-linsvm-hard-margin-dual.tex mode change 100644 => 100755 slides/linear-svm/slides-linsvm-hard-margin.tex mode change 100644 => 100755 slides/linear-svm/slides-linsvm-optimization.tex mode change 100644 => 100755 slides/linear-svm/slides-linsvm-soft-margin.tex mode change 100644 => 100755 slides/lookup-slides/.gitignore mode change 100644 => 100755 slides/lookup-slides/riskmin_optconst.tex mode change 100644 => 100755 slides/mathrefresher/Makefile mode change 100644 => 100755 slides/mathrefresher/figure_man/math_robot.jpg mode change 100644 => 100755 slides/mathrefresher/slides-probability-theory.tex mode change 100644 => 100755 slides/merger.R mode change 100644 => 100755 slides/multiclass/Makefile mode change 100644 => 100755 slides/multiclass/chapter-order.tex mode change 100644 => 100755 slides/multiclass/figure/iris_encoding.png mode change 100644 => 100755 slides/multiclass/figure/iris_scatter.png mode change 100644 => 100755 slides/multiclass/figure/onevsone_vs_onevsrest.png mode change 100644 => 100755 slides/multiclass/figure_man/hill-climbing.png mode change 100644 => 100755 slides/multiclass/figure_man/neural_net.png mode change 100644 => 100755 slides/multiclass/figure_man/one_vs_all.png mode change 100644 => 100755 slides/multiclass/figure_man/one_vs_one.png mode change 100644 => 100755 slides/multiclass/figure_man/score_model.png mode change 100644 => 100755 slides/multiclass/figure_man/softmax1.png mode change 100644 => 100755 slides/multiclass/figure_man/softmax2.png mode change 100644 => 100755 slides/multiclass/rsrc/make_iris_encoding_plot.R mode change 100644 => 100755 slides/multiclass/rsrc/make_iris_scatter_plot.R mode change 100644 => 100755 slides/multiclass/rsrc/make_onevsone_vs_onevsrest_plot.R mode change 100644 => 100755 slides/multiclass/rsrc/results.csv mode change 100644 => 100755 slides/multiclass/slides-mc-binary-reduction.tex mode change 100644 => 100755 slides/multiclass/slides-mc-codebooks.tex mode change 100644 => 100755 slides/multiclass/slides-mc-losses.tex mode change 100644 => 100755 slides/multiclass/slides-mc-softmax-regression.tex mode change 100644 => 100755 slides/nonlinear-svm/Makefile mode change 100644 => 100755 slides/nonlinear-svm/chapter-order.tex mode change 100644 => 100755 slides/nonlinear-svm/figure/circles_boundary.png mode change 100644 => 100755 slides/nonlinear-svm/figure/circles_ds.png mode change 100644 => 100755 slides/nonlinear-svm/figure/circles_feature_map.png mode change 100644 => 100755 slides/nonlinear-svm/figure/mnist_svm_mmce.png mode change 100644 => 100755 slides/nonlinear-svm/figure/n_monomials.png mode change 100644 => 100755 slides/nonlinear-svm/figure/svm_linear_kernel.png mode change 100644 => 100755 slides/nonlinear-svm/figure/svm_poly_hyperparams.png mode change 100644 => 100755 slides/nonlinear-svm/figure/svm_poly_kernel.png mode change 100644 => 100755 slides/nonlinear-svm/figure/svm_poly_kernel_deg_1_coef0_1.png mode change 100644 => 100755 slides/nonlinear-svm/figure/svm_poly_kernel_deg_3_coef0_0.png mode change 100644 => 100755 slides/nonlinear-svm/figure/svm_poly_kernel_deg_3_coef0_1.png mode change 100644 => 100755 slides/nonlinear-svm/figure/svm_poly_kernel_deg_9_coef0_1.png mode change 100644 => 100755 slides/nonlinear-svm/figure/svm_rbf_as_basis.png mode change 100644 => 100755 slides/nonlinear-svm/figure/svm_rbf_as_basis_1.png mode change 100644 => 100755 slides/nonlinear-svm/figure/svm_rbf_as_basis_2.png mode change 100644 => 100755 slides/nonlinear-svm/figure/svm_rbf_as_basis_3.png mode change 100644 => 100755 slides/nonlinear-svm/figure/svm_rbf_as_basis_4.png mode change 100644 => 100755 slides/nonlinear-svm/figure/svm_rbf_as_basis_5.png mode change 100644 => 100755 slides/nonlinear-svm/figure/svm_rbf_as_basis_6.png mode change 100644 => 100755 slides/nonlinear-svm/figure/svm_rbf_cost_1.png mode change 100644 => 100755 slides/nonlinear-svm/figure/svm_rbf_cost_2.png mode change 100644 => 100755 slides/nonlinear-svm/figure/svm_rbf_hyperparams.png mode change 100644 => 100755 slides/nonlinear-svm/figure/svm_rbf_hyperparams_tuning_1.pdf mode change 100644 => 100755 slides/nonlinear-svm/figure/svm_rbf_kernel.png mode change 100644 => 100755 slides/nonlinear-svm/figure/svm_rbf_kernel_gamma_1.png mode change 100644 => 100755 slides/nonlinear-svm/figure/svm_rbf_kernel_gamma_2.png mode change 100644 => 100755 slides/nonlinear-svm/figure/svm_rbf_sigma_est_narrow.pdf mode change 100644 => 100755 slides/nonlinear-svm/figure/svm_rbf_sigma_est_wide.pdf mode change 100644 => 100755 slides/nonlinear-svm/figure_man/introduction/mnist-eps-converted-to.pdf mode change 100644 => 100755 slides/nonlinear-svm/figure_man/kernels/features-2.pdf mode change 100644 => 100755 slides/nonlinear-svm/figure_man/kernels/svm_dummies_kernelling.PNG mode change 100644 => 100755 slides/nonlinear-svm/figure_man/rbf_sigma.png mode change 100644 => 100755 slides/nonlinear-svm/rsrc/constraints.R mode change 100644 => 100755 slides/nonlinear-svm/rsrc/hyperplane_posneg.R mode change 100644 => 100755 slides/nonlinear-svm/rsrc/kernel_intro.R mode change 100644 => 100755 slides/nonlinear-svm/rsrc/make_circles_plots.R mode change 100644 => 100755 slides/nonlinear-svm/rsrc/make_mnist_n_monomials_plot.R mode change 100644 => 100755 slides/nonlinear-svm/rsrc/make_mnist_svm_ds.R mode change 100644 => 100755 slides/nonlinear-svm/rsrc/make_mnist_svm_kernel_mmce_tab.R mode change 100644 => 100755 slides/nonlinear-svm/rsrc/make_mnist_svm_mmce_plot.R mode change 100644 => 100755 slides/nonlinear-svm/rsrc/make_poly_hyperparams_plot.R mode change 100644 => 100755 slides/nonlinear-svm/rsrc/make_svm_kernel_plots.R mode change 100644 => 100755 slides/nonlinear-svm/rsrc/make_svm_poly_kernel_plots.R mode change 100644 => 100755 slides/nonlinear-svm/rsrc/make_svm_rbf_as_basis_plots.R mode change 100644 => 100755 slides/nonlinear-svm/rsrc/make_svm_rbf_cost_plots.R mode change 100644 => 100755 slides/nonlinear-svm/rsrc/make_svm_rbf_gamma_plots.R mode change 100644 => 100755 slides/nonlinear-svm/rsrc/make_svm_rbf_hyperparams_plot.R mode change 100644 => 100755 slides/nonlinear-svm/rsrc/make_svm_rbf_hyperparams_tuning_plots.R mode change 100644 => 100755 slides/nonlinear-svm/rsrc/make_svm_rbf_sigma_est_plots.R mode change 100644 => 100755 slides/nonlinear-svm/rsrc/mnist_svm_mixed.RData mode change 100644 => 100755 slides/nonlinear-svm/rsrc/rbf_sig.R mode change 100644 => 100755 slides/nonlinear-svm/rsrc/svm-regression.R mode change 100644 => 100755 slides/nonlinear-svm/rsrc/svm_posterior_probs.R mode change 100644 => 100755 slides/nonlinear-svm/rsrc/utils.R mode change 100644 => 100755 slides/nonlinear-svm/slides-nonlinsvm-featuregen.tex mode change 100644 => 100755 slides/nonlinear-svm/slides-nonlinsvm-kernel-poly.tex mode change 100644 => 100755 slides/nonlinear-svm/slides-nonlinsvm-kernel-rbf.tex mode change 100644 => 100755 slides/nonlinear-svm/slides-nonlinsvm-kernel-trick.tex mode change 100644 => 100755 slides/nonlinear-svm/slides-nonlinsvm-modelsel.tex mode change 100644 => 100755 slides/nonlinear-svm/slides-nonlinsvm-rkhs-repr.tex mode change 100644 => 100755 slides/nonlinear-svm/slides-nonlinsvm-uniapprox.tex mode change 100644 => 100755 slides/regularization/Makefile mode change 100644 => 100755 slides/regularization/attic/slides-5-l1l2-adv.Rnw mode change 100644 => 100755 slides/regularization/attic/slides-regu-underdetermined.pdf mode change 100644 => 100755 slides/regularization/attic/slides-regu-underdetermined.tex mode change 100644 => 100755 slides/regularization/chapter-order.tex mode change 100644 => 100755 slides/regularization/figure/avoid_overfitting_01.png mode change 100644 => 100755 slides/regularization/figure/avoid_overfitting_02.png mode change 100644 => 100755 slides/regularization/figure/bayes_prior.png mode change 100644 => 100755 slides/regularization/figure/early_stopping.png mode change 100644 => 100755 slides/regularization/figure/enet_lasso_ridge_mse.png mode change 100644 => 100755 slides/regularization/figure/enet_tradeoff.png mode change 100644 => 100755 slides/regularization/figure/eval_ofit_1a.pdf mode change 100644 => 100755 slides/regularization/figure/eval_ofit_1o.pdf mode change 100644 => 100755 slides/regularization/figure/fig-regu-nonlin-1.png mode change 100644 => 100755 slides/regularization/figure/fig-regu-nonlin-2.png mode change 100644 => 100755 slides/regularization/figure/fig-regu-nonlin-3.png mode change 100644 => 100755 slides/regularization/figure/fig-regu-nonlin-4.png mode change 100644 => 100755 slides/regularization/figure/fig-regu-nonlin-size-1.png mode change 100644 => 100755 slides/regularization/figure/fig-regu-nonlin-size-2.png mode change 100644 => 100755 slides/regularization/figure/fig-regu-nonlin-size-3.png mode change 100644 => 100755 slides/regularization/figure/fig-regu-nonlin-size-4.png mode change 100644 => 100755 slides/regularization/figure/fig-regu-nonlin-size-5.png mode change 100644 => 100755 slides/regularization/figure/fig-regu-nonlin-size-6.png mode change 100644 => 100755 slides/regularization/figure/fig-regu-nonlin-srm-1.png mode change 100644 => 100755 slides/regularization/figure/fig-regu-nonlin-srm-2.png mode change 100644 => 100755 slides/regularization/figure/graddes_vs_weightdecay.png mode change 100644 => 100755 slides/regularization/figure/l1_reg_hess_01.png mode change 100644 => 100755 slides/regularization/figure/l1_reg_hess_02.png mode change 100644 => 100755 slides/regularization/figure/l2_reg_hess_01_plot.png mode change 100644 => 100755 slides/regularization/figure/l2_reg_hess_02_plot.png mode change 100644 => 100755 slides/regularization/figure/l2_reg_hess_03_plot.png mode change 100644 => 100755 slides/regularization/figure/l2_reg_hess_04_plot.png mode change 100644 => 100755 slides/regularization/figure/lasso_contours.png mode change 100644 => 100755 slides/regularization/figure/lasso_contours_cases.png mode change 100644 => 100755 slides/regularization/figure/lasso_outside.png mode change 100644 => 100755 slides/regularization/figure/lasso_ridge_enet_2d.png mode change 100644 => 100755 slides/regularization/figure/lin_reg_l1.png mode change 100644 => 100755 slides/regularization/figure/lin_reg_l2.png mode change 100644 => 100755 slides/regularization/figure/nn_size_1.png mode change 100644 => 100755 slides/regularization/figure/nn_size_10.png mode change 100644 => 100755 slides/regularization/figure/nn_size_100.png mode change 100644 => 100755 slides/regularization/figure/nn_size_2.png mode change 100644 => 100755 slides/regularization/figure/nn_size_3.png mode change 100644 => 100755 slides/regularization/figure/nn_size_5.png mode change 100644 => 100755 slides/regularization/figure/other-pen-MCP.png mode change 100644 => 100755 slides/regularization/figure/other-pen-SCAD.png mode change 100644 => 100755 slides/regularization/figure/other-pen-lasso.png mode change 100644 => 100755 slides/regularization/figure/ozone_mse_boxplot.png mode change 100644 => 100755 slides/regularization/figure/poly_ridge_1.png mode change 100644 => 100755 slides/regularization/figure/poly_ridge_2.png mode change 100644 => 100755 slides/regularization/figure/reg_logreg.png mode change 100644 => 100755 slides/regularization/figure/reg_surfaces.png mode change 100644 => 100755 slides/regularization/figure/reg_surfaces_l1_l2.png mode change 100644 => 100755 slides/regularization/figure/regu_example_multicollinearity.png mode change 100644 => 100755 slides/regularization/figure/ridge_constraints.png mode change 100644 => 100755 slides/regularization/figure/ridge_contours.png mode change 100644 => 100755 slides/regularization/figure/ridge_inside.png mode change 100644 => 100755 slides/regularization/figure/ridge_outside.png mode change 100644 => 100755 slides/regularization/figure/shrinkage_1.png mode change 100644 => 100755 slides/regularization/figure/shrinkage_2.png mode change 100644 => 100755 slides/regularization/figure/th_l1_neg.pdf mode change 100644 => 100755 slides/regularization/figure/th_l1_pos.pdf mode change 100644 => 100755 slides/regularization/figure/th_l1_zero.pdf mode change 100644 => 100755 slides/regularization/figure/underconstrained_problem.png mode change 100644 => 100755 slides/regularization/figure/underdetermined_problem_01.png mode change 100644 => 100755 slides/regularization/figure/underdetermined_problem_02.png mode change 100644 => 100755 slides/regularization/figure/weightdecay_lambda_plot.png mode change 100644 => 100755 slides/regularization/figure_man/bagging.pdf mode change 100644 => 100755 slides/regularization/figure_man/bayes-plot-posterior.png mode change 100644 => 100755 slides/regularization/figure_man/bayes_reg.png mode change 100644 => 100755 slides/regularization/figure_man/bias-variance-ridge.png mode change 100644 => 100755 slides/regularization/figure_man/biasvariance_scheme.png mode change 100644 => 100755 slides/regularization/figure_man/complexity-vs-fit-continuous.png mode change 100644 => 100755 slides/regularization/figure_man/complexity-vs-fit.png mode change 100644 => 100755 slides/regularization/figure_man/complexity-vs-fit2.png mode change 100644 => 100755 slides/regularization/figure_man/cv-error-lambda-path.png mode change 100644 => 100755 slides/regularization/figure_man/data-augmentation-cat.png mode change 100644 => 100755 slides/regularization/figure_man/earlystop.png mode change 100644 => 100755 slides/regularization/figure_man/earlystop_int_hat.png mode change 100644 => 100755 slides/regularization/figure_man/fig-regu-srm-1.pdf mode change 100644 => 100755 slides/regularization/figure_man/fig-regu-srm-2.pdf mode change 100644 => 100755 slides/regularization/figure_man/l0_norm.png mode change 100644 => 100755 slides/regularization/figure_man/l1_l2_hat.png mode change 100644 => 100755 slides/regularization/figure_man/l1_l2_regupaths_mse.pdf mode change 100644 => 100755 slides/regularization/figure_man/lasso_contours_cases.png mode change 100644 => 100755 slides/regularization/figure_man/lasso_hat.png mode change 100644 => 100755 slides/regularization/figure_man/lasso_ridge_hat.png mode change 100644 => 100755 slides/regularization/figure_man/lq-penalty-plots.png mode change 100644 => 100755 slides/regularization/figure_man/other-pen-MCP.png mode change 100644 => 100755 slides/regularization/figure_man/other-pen-SCAD.png mode change 100644 => 100755 slides/regularization/figure_man/other-pen-lasso.png mode change 100644 => 100755 slides/regularization/figure_man/path-ridge-vs-sgd-ali2020.png mode change 100644 => 100755 slides/regularization/figure_man/penalties-comparison.pdf mode change 100644 => 100755 slides/regularization/figure_man/rf_majvot_averaging.png mode change 100644 => 100755 slides/regularization/figure_man/ridge-vs-sgd-path.png mode change 100644 => 100755 slides/regularization/figure_man/ridge_hat.png mode change 100644 => 100755 slides/regularization/figure_man/soft-threshold-ridge-ols.pdf mode change 100644 => 100755 slides/regularization/figure_man/soft-thresholding.pdf mode change 100644 => 100755 slides/regularization/figure_man/solution-path-ridge-lasso.png mode change 100644 => 100755 slides/regularization/figure_man/solution-path-ridge-only.png mode change 100644 => 100755 slides/regularization/figure_man/solution_path.png mode change 100644 => 100755 slides/regularization/figure_man/solution_path_l2.png mode change 100644 => 100755 slides/regularization/figure_man/solution_paths_l1_l2.png mode change 100644 => 100755 slides/regularization/figure_man/to_replace_estimation_bias.png mode change 100644 => 100755 slides/regularization/figure_man/to_replace_estimation_variance.png mode change 100644 => 100755 slides/regularization/figure_man/to_replace_estimation_variance_res.png mode change 100644 => 100755 slides/regularization/figure_man/to_replace_model_bias.png mode change 100644 => 100755 slides/regularization/figure_man/to_replace_sampling.png mode change 100644 => 100755 slides/regularization/figure_man/wt_decay_hat.png mode change 100644 => 100755 slides/regularization/references.bib mode change 100644 => 100755 slides/regularization/rsrc/bayes-plot.R mode change 100644 => 100755 slides/regularization/rsrc/bayes_prior.R mode change 100644 => 100755 slides/regularization/rsrc/beta_lasso_better.Rda mode change 100644 => 100755 slides/regularization/rsrc/beta_ridge_better.Rda mode change 100644 => 100755 slides/regularization/rsrc/bias-var-decomp-ridge.py mode change 100644 => 100755 slides/regularization/rsrc/curseofdim.R mode change 100644 => 100755 slides/regularization/rsrc/data-augmentation-images-cat.py mode change 100644 => 100755 slides/regularization/rsrc/distances.rds mode change 100644 => 100755 slides/regularization/rsrc/early_stopping1.RData mode change 100644 => 100755 slides/regularization/rsrc/earlystopping.R mode change 100644 => 100755 slides/regularization/rsrc/elasticnet_comparision_ridge_lasso.R mode change 100644 => 100755 slides/regularization/rsrc/equivariance-ols-ridge.R mode change 100644 => 100755 slides/regularization/rsrc/error_lasso_better.Rda mode change 100644 => 100755 slides/regularization/rsrc/error_ridge_better.Rda mode change 100644 => 100755 slides/regularization/rsrc/fig-eval_ofit_1.R mode change 100644 => 100755 slides/regularization/rsrc/ggsave-10.R mode change 100644 => 100755 slides/regularization/rsrc/lasso-scad-mcp.R mode change 100644 => 100755 slides/regularization/rsrc/lq-penalty-plot.py mode change 100644 => 100755 slides/regularization/rsrc/make-solution-path-ridge-lasso.py mode change 100644 => 100755 slides/regularization/rsrc/make_avoid_overfitting_01_plot.R mode change 100644 => 100755 slides/regularization/rsrc/make_avoid_overfitting_02_plot.R mode change 100644 => 100755 slides/regularization/rsrc/make_early_stopping_plot.R mode change 100644 => 100755 slides/regularization/rsrc/make_enet_lasso_ridge_mse_plot.R mode change 100644 => 100755 slides/regularization/rsrc/make_enet_tradeoff_plot.R mode change 100644 => 100755 slides/regularization/rsrc/make_fig_regu_nonlin_plots.R mode change 100644 => 100755 slides/regularization/rsrc/make_graddes_vs_weightdecay_plot.R mode change 100644 => 100755 slides/regularization/rsrc/make_l1_l2_regupaths_mse.R mode change 100644 => 100755 slides/regularization/rsrc/make_l1_reg_hess_plots.R mode change 100644 => 100755 slides/regularization/rsrc/make_l2_reg_hess_plots.R mode change 100644 => 100755 slides/regularization/rsrc/make_lasso-contours-sparsity.py mode change 100644 => 100755 slides/regularization/rsrc/make_lasso_ridge_enet_2d_plot.R mode change 100644 => 100755 slides/regularization/rsrc/make_linear_model_reg.R mode change 100644 => 100755 slides/regularization/rsrc/make_nn_plots.R mode change 100644 => 100755 slides/regularization/rsrc/make_overfitting_table.R mode change 100644 => 100755 slides/regularization/rsrc/make_ozone_mse_boxplot.R mode change 100644 => 100755 slides/regularization/rsrc/make_poly_ridge_1_plot.R mode change 100644 => 100755 slides/regularization/rsrc/make_poly_ridge_2_plot.R mode change 100644 => 100755 slides/regularization/rsrc/make_poly_ridge_table_latex.R mode change 100644 => 100755 slides/regularization/rsrc/make_reg_contours.R mode change 100644 => 100755 slides/regularization/rsrc/make_reg_feat_scaling_data.R mode change 100644 => 100755 slides/regularization/rsrc/make_reg_multicollinearity_plot.R mode change 100644 => 100755 slides/regularization/rsrc/make_reg_surfaces.py mode change 100644 => 100755 slides/regularization/rsrc/make_regu_example_multicollinearity_plot.R mode change 100644 => 100755 slides/regularization/rsrc/make_regu_other_penalty_plots.R mode change 100644 => 100755 slides/regularization/rsrc/make_regularized_log_reg_plot.R mode change 100644 => 100755 slides/regularization/rsrc/make_ridge_vs_sgd_path.py mode change 100644 => 100755 slides/regularization/rsrc/make_shrinkage_1_plot.R mode change 100644 => 100755 slides/regularization/rsrc/make_shrinkage_2_plot.R mode change 100644 => 100755 slides/regularization/rsrc/make_underconstrained_problem_plot.R mode change 100644 => 100755 slides/regularization/rsrc/make_underdetermined_problem_01_plot.R mode change 100644 => 100755 slides/regularization/rsrc/make_underdetermined_problem_02_plot.R mode change 100644 => 100755 slides/regularization/rsrc/make_wd_l2_geom_plot.R mode change 100644 => 100755 slides/regularization/rsrc/make_weightdecay_lambda_plot.R mode change 100644 => 100755 slides/regularization/rsrc/other-pen-regularizers.R mode change 100644 => 100755 slides/regularization/rsrc/ozone_example.RData mode change 100644 => 100755 slides/regularization/rsrc/reg_l12.R mode change 100644 => 100755 slides/regularization/rsrc/reg_perspectives.py mode change 100644 => 100755 slides/regularization/rsrc/regu_example_1.R mode change 100644 => 100755 slides/regularization/rsrc/regu_example_1.RData mode change 100644 => 100755 slides/regularization/rsrc/regu_example_2.R mode change 100644 => 100755 slides/regularization/rsrc/regu_example_2.RData mode change 100644 => 100755 slides/regularization/rsrc/ridge_polynomial_reg.R mode change 100644 => 100755 slides/regularization/rsrc/soft-thresholding.R mode change 100644 => 100755 slides/regularization/rsrc/softthresholding_l1.R mode change 100644 => 100755 slides/regularization/rsrc/utils.R mode change 100644 => 100755 slides/regularization/slides-regu-bagging-deepdive.tex mode change 100644 => 100755 slides/regularization/slides-regu-bayes.tex mode change 100644 => 100755 slides/regularization/slides-regu-bias-variance.tex mode change 100644 => 100755 slides/regularization/slides-regu-early-stopping.tex mode change 100644 => 100755 slides/regularization/slides-regu-enetlogreg.tex mode change 100644 => 100755 slides/regularization/slides-regu-geom-l1.tex mode change 100644 => 100755 slides/regularization/slides-regu-geom-l2.tex mode change 100644 => 100755 slides/regularization/slides-regu-intro.tex mode change 100644 => 100755 slides/regularization/slides-regu-l1.tex mode change 100644 => 100755 slides/regularization/slides-regu-l1vsl2.tex mode change 100644 => 100755 slides/regularization/slides-regu-l2-nonlin.tex mode change 100644 => 100755 slides/regularization/slides-regu-l2.tex mode change 100644 => 100755 slides/regularization/slides-regu-lasso-deepdive.tex mode change 100644 => 100755 slides/regularization/slides-regu-nonlin.tex mode change 100644 => 100755 slides/regularization/slides-regu-others.tex mode change 100644 => 100755 slides/regularization/slides-regu-ridge-deepdive.tex mode change 100644 => 100755 slides/regularization/slides-regu-wd-vs-l2.tex mode change 100644 => 100755 slides/slide-dependencies.pdf mode change 100644 => 100755 slides/tex.mk diff --git a/slides/R.mk b/slides/R.mk old mode 100644 new mode 100755 diff --git a/slides/README.md b/slides/README.md old mode 100644 new mode 100755 diff --git a/slides/advriskmin/Makefile b/slides/advriskmin/Makefile old mode 100644 new mode 100755 diff --git a/slides/advriskmin/chapter-order.tex b/slides/advriskmin/chapter-order.tex old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure/L2-loss.png b/slides/advriskmin/figure/L2-loss.png old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure/bayes_error_5.png b/slides/advriskmin/figure/bayes_error_5.png old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure/bias_variance_decomposition-bootstrap_1.png b/slides/advriskmin/figure/bias_variance_decomposition-bootstrap_1.png old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure/bias_variance_decomposition-bootstrap_2.png b/slides/advriskmin/figure/bias_variance_decomposition-bootstrap_2.png old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure/bias_variance_decomposition-complex_model.png b/slides/advriskmin/figure/bias_variance_decomposition-complex_model.png old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure/bias_variance_decomposition-complex_model_bias.png b/slides/advriskmin/figure/bias_variance_decomposition-complex_model_bias.png old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure/bias_variance_decomposition-complex_model_variance.png b/slides/advriskmin/figure/bias_variance_decomposition-complex_model_variance.png old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure/bias_variance_decomposition-correct_model.png b/slides/advriskmin/figure/bias_variance_decomposition-correct_model.png old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure/bias_variance_decomposition-correct_model_bias.png b/slides/advriskmin/figure/bias_variance_decomposition-correct_model_bias.png old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure/bias_variance_decomposition-correct_model_variance.png b/slides/advriskmin/figure/bias_variance_decomposition-correct_model_variance.png old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure/bias_variance_decomposition-linear_model.png b/slides/advriskmin/figure/bias_variance_decomposition-linear_model.png old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure/bias_variance_decomposition-linear_model_bias.png b/slides/advriskmin/figure/bias_variance_decomposition-linear_model_bias.png old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure/bias_variance_decomposition-linear_model_variance.png b/slides/advriskmin/figure/bias_variance_decomposition-linear_model_variance.png old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure/bias_variance_decomposition-train_test.png b/slides/advriskmin/figure/bias_variance_decomposition-train_test.png old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure/ftrue.pdf b/slides/advriskmin/figure/ftrue.pdf old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure/ftrue.png b/slides/advriskmin/figure/ftrue.png old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure/l1_vs_l2.png b/slides/advriskmin/figure/l1_vs_l2.png old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure/laplace_plot.pdf b/slides/advriskmin/figure/laplace_plot.pdf old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure/lasso_penalized.png b/slides/advriskmin/figure/lasso_penalized.png old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure/lasso_penalty.png b/slides/advriskmin/figure/lasso_penalty.png old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure/lasso_unpenalized.png b/slides/advriskmin/figure/lasso_unpenalized.png old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure/log_reg_erm.pdf b/slides/advriskmin/figure/log_reg_erm.pdf old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure/log_reg_ml.pdf b/slides/advriskmin/figure/log_reg_ml.pdf old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure/loss_absolute_1.png b/slides/advriskmin/figure/loss_absolute_1.png old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure/loss_absolute_2.png b/slides/advriskmin/figure/loss_absolute_2.png old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure/loss_cauchy.png b/slides/advriskmin/figure/loss_cauchy.png old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure/loss_dist_based.png b/slides/advriskmin/figure/loss_dist_based.png old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure/loss_eps_insensitive.png b/slides/advriskmin/figure/loss_eps_insensitive.png old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure/loss_huber_plot.png b/slides/advriskmin/figure/loss_huber_plot.png old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure/loss_l1_l2.png b/slides/advriskmin/figure/loss_l1_l2.png old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure/loss_logbarrier_1.png b/slides/advriskmin/figure/loss_logbarrier_1.png old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure/loss_logbarrier_2.png b/slides/advriskmin/figure/loss_logbarrier_2.png old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure/loss_logcosh.png b/slides/advriskmin/figure/loss_logcosh.png old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure/loss_quadratic_1.png b/slides/advriskmin/figure/loss_quadratic_1.png old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure/loss_quadratic_2.png b/slides/advriskmin/figure/loss_quadratic_2.png old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure/loss_quantile.png b/slides/advriskmin/figure/loss_quantile.png old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure/loss_symmetric.png b/slides/advriskmin/figure/loss_symmetric.png old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure/loss_transl_inv.png b/slides/advriskmin/figure/loss_transl_inv.png old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure/optimal_pointwise.png b/slides/advriskmin/figure/optimal_pointwise.png old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure/optimal_pointwise_1.png b/slides/advriskmin/figure/optimal_pointwise_1.png old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure/optimal_pointwise_2.png b/slides/advriskmin/figure/optimal_pointwise_2.png old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure/plot_bernoulli.png b/slides/advriskmin/figure/plot_bernoulli.png old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure/plot_bernoulli_plusmin_encoding.png b/slides/advriskmin/figure/plot_bernoulli_plusmin_encoding.png old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure/plot_bernoulli_prob.png b/slides/advriskmin/figure/plot_bernoulli_prob.png old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure/plot_brier.png b/slides/advriskmin/figure/plot_brier.png old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure/plot_loss_01.png b/slides/advriskmin/figure/plot_loss_01.png old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure/plot_loss_exponential.png b/slides/advriskmin/figure/plot_loss_exponential.png old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure/plot_loss_hinge.png b/slides/advriskmin/figure/plot_loss_hinge.png old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure/plot_loss_hinge_squared.png b/slides/advriskmin/figure/plot_loss_hinge_squared.png old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure/plot_loss_overview.png b/slides/advriskmin/figure/plot_loss_overview.png old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure/plot_loss_overview_classif.png b/slides/advriskmin/figure/plot_loss_overview_classif.png old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure/plot_loss_overview_classif_2.png b/slides/advriskmin/figure/plot_loss_overview_classif_2.png old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure/plot_loss_squared_scores.png b/slides/advriskmin/figure/plot_loss_squared_scores.png old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure/plot_quad_pseudores.png b/slides/advriskmin/figure/plot_quad_pseudores.png old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure/pseudo_residual_1.png b/slides/advriskmin/figure/pseudo_residual_1.png old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure/pseudo_residual_2.png b/slides/advriskmin/figure/pseudo_residual_2.png old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure/residuals_plot_Huber_L1.pdf b/slides/advriskmin/figure/residuals_plot_Huber_L1.pdf old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure/residuals_plot_L1.pdf b/slides/advriskmin/figure/residuals_plot_L1.pdf old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure/residuals_plot_L1_title.png b/slides/advriskmin/figure/residuals_plot_L1_title.png old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure/residuals_plot_L2.pdf b/slides/advriskmin/figure/residuals_plot_L2.pdf old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure/residuals_plot_L2_title.png b/slides/advriskmin/figure/residuals_plot_L2_title.png old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure/robustness.png b/slides/advriskmin/figure/robustness.png old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure/softmax_1.png b/slides/advriskmin/figure/softmax_1.png old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure/softmax_2.png b/slides/advriskmin/figure/softmax_2.png old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure_man/S_function_plot.pdf b/slides/advriskmin/figure_man/S_function_plot.pdf old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure_man/convex-vs-nonconfex-landscape.png b/slides/advriskmin/figure_man/convex-vs-nonconfex-landscape.png old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure_man/cosh-gaussian-densities.png b/slides/advriskmin/figure_man/cosh-gaussian-densities.png old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure_man/lcurve_1.png b/slides/advriskmin/figure_man/lcurve_1.png old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure_man/logcosh-derivation.png b/slides/advriskmin/figure_man/logcosh-derivation.png old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure_man/optimization_steps.jpeg b/slides/advriskmin/figure_man/optimization_steps.jpeg old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure_man/plot_const_var.png b/slides/advriskmin/figure_man/plot_const_var.png old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure_man/risk_minimization_diagram.png b/slides/advriskmin/figure_man/risk_minimization_diagram.png old mode 100644 new mode 100755 diff --git a/slides/advriskmin/figure_man/vgg_example.png b/slides/advriskmin/figure_man/vgg_example.png old mode 100644 new mode 100755 diff --git a/slides/advriskmin/references.bib b/slides/advriskmin/references.bib new file mode 100755 index 00000000..7874fb33 --- /dev/null +++ b/slides/advriskmin/references.bib @@ -0,0 +1,29 @@ +@inproceedings{SOLLICH1999NINTH, + author={Sollich, P.}, + booktitle={1999 Ninth International Conference on Artificial Neural Networks ICANN 99. (Conf. Publ. No. 470)}, + title={Probabilistic interpretations and Bayesian methods for support vector machines}, + year={1999}, + volume={1}, + number={}, + pages={91-96 vol.1}, + keywords={}, + doi={10.1049/cp:19991090}, + url={https://ieeexplore.ieee.org/abstract/document/819547} +} + +@inproceedings{MEYER2021ALTERNATIVE, + title={An alternative probabilistic interpretation of the huber loss}, + author={Meyer, Gregory P}, + booktitle={Proceedings of the ieee/cvf conference on computer vision and pattern recognition}, + pages={5261--5269}, + year={2021}, + url={https://openaccess.thecvf.com/content/CVPR2021/papers/Meyer_An_Alternative_Probabilistic_Interpretation_of_the_Huber_Loss_CVPR_2021_paper.pdf} +} + +@article{SALEH2022STATISTICAL, + title={Statistical properties of the log-cosh loss function used in machine learning}, + author={Saleh, Resve A and Saleh, AK}, + journal={arXiv preprint arXiv:2208.04564}, + year={2022}, + url={https://arxiv.org/pdf/2208.04564} +} diff --git a/slides/advriskmin/rsrc/S_function_plot.nb b/slides/advriskmin/rsrc/S_function_plot.nb old mode 100644 new mode 100755 diff --git a/slides/advriskmin/rsrc/bias_variance_decomposition.R b/slides/advriskmin/rsrc/bias_variance_decomposition.R old mode 100644 new mode 100755 diff --git a/slides/advriskmin/rsrc/error_surface.R b/slides/advriskmin/rsrc/error_surface.R old mode 100644 new mode 100755 diff --git a/slides/advriskmin/rsrc/example_intro.R b/slides/advriskmin/rsrc/example_intro.R old mode 100644 new mode 100755 diff --git a/slides/advriskmin/rsrc/ggsave-4.R b/slides/advriskmin/rsrc/ggsave-4.R old mode 100644 new mode 100755 diff --git a/slides/advriskmin/rsrc/helpers/loss_functions.R b/slides/advriskmin/rsrc/helpers/loss_functions.R old mode 100644 new mode 100755 diff --git a/slides/advriskmin/rsrc/lasso.R b/slides/advriskmin/rsrc/lasso.R old mode 100644 new mode 100755 diff --git a/slides/advriskmin/rsrc/logcosh-derivation.R b/slides/advriskmin/rsrc/logcosh-derivation.R old mode 100644 new mode 100755 diff --git a/slides/advriskmin/rsrc/loss_properties.R b/slides/advriskmin/rsrc/loss_properties.R old mode 100644 new mode 100755 diff --git a/slides/advriskmin/rsrc/make_bayes_error_plots.R b/slides/advriskmin/rsrc/make_bayes_error_plots.R old mode 100644 new mode 100755 diff --git a/slides/advriskmin/rsrc/make_different_losses_plots.R b/slides/advriskmin/rsrc/make_different_losses_plots.R old mode 100644 new mode 100755 diff --git a/slides/advriskmin/rsrc/make_empirical_risk_plots.R b/slides/advriskmin/rsrc/make_empirical_risk_plots.R old mode 100644 new mode 100755 diff --git a/slides/advriskmin/rsrc/make_graddesc_plot.R b/slides/advriskmin/rsrc/make_graddesc_plot.R old mode 100644 new mode 100755 diff --git a/slides/advriskmin/rsrc/make_logreg_ml_erm_plot.R b/slides/advriskmin/rsrc/make_logreg_ml_erm_plot.R old mode 100644 new mode 100755 diff --git a/slides/advriskmin/rsrc/make_loss_absolute_plot.R b/slides/advriskmin/rsrc/make_loss_absolute_plot.R old mode 100644 new mode 100755 diff --git a/slides/advriskmin/rsrc/make_loss_bernoulli_plots.R b/slides/advriskmin/rsrc/make_loss_bernoulli_plots.R old mode 100644 new mode 100755 diff --git a/slides/advriskmin/rsrc/make_loss_brier_plot.R b/slides/advriskmin/rsrc/make_loss_brier_plot.R old mode 100644 new mode 100755 diff --git a/slides/advriskmin/rsrc/make_loss_cauchy_plot.R b/slides/advriskmin/rsrc/make_loss_cauchy_plot.R old mode 100644 new mode 100755 diff --git a/slides/advriskmin/rsrc/make_loss_cauchy_plot1.R b/slides/advriskmin/rsrc/make_loss_cauchy_plot1.R old mode 100644 new mode 100755 diff --git a/slides/advriskmin/rsrc/make_loss_eps_insensitive_plot.R b/slides/advriskmin/rsrc/make_loss_eps_insensitive_plot.R old mode 100644 new mode 100755 diff --git a/slides/advriskmin/rsrc/make_loss_exponential_plot.R b/slides/advriskmin/rsrc/make_loss_exponential_plot.R old mode 100644 new mode 100755 diff --git a/slides/advriskmin/rsrc/make_loss_hinge_plot.R b/slides/advriskmin/rsrc/make_loss_hinge_plot.R old mode 100644 new mode 100755 diff --git a/slides/advriskmin/rsrc/make_loss_huber_plot.R b/slides/advriskmin/rsrc/make_loss_huber_plot.R old mode 100644 new mode 100755 diff --git a/slides/advriskmin/rsrc/make_loss_logbarrier_plot.R b/slides/advriskmin/rsrc/make_loss_logbarrier_plot.R old mode 100644 new mode 100755 diff --git a/slides/advriskmin/rsrc/make_loss_logcosh_plot.R b/slides/advriskmin/rsrc/make_loss_logcosh_plot.R old mode 100644 new mode 100755 diff --git a/slides/advriskmin/rsrc/make_loss_overview_classif_plot.R b/slides/advriskmin/rsrc/make_loss_overview_classif_plot.R old mode 100644 new mode 100755 diff --git a/slides/advriskmin/rsrc/make_loss_overview_plot.R b/slides/advriskmin/rsrc/make_loss_overview_plot.R old mode 100644 new mode 100755 diff --git a/slides/advriskmin/rsrc/make_loss_quad_pseudores_plot.R b/slides/advriskmin/rsrc/make_loss_quad_pseudores_plot.R old mode 100644 new mode 100755 diff --git a/slides/advriskmin/rsrc/make_loss_quadratic_plot.R b/slides/advriskmin/rsrc/make_loss_quadratic_plot.R old mode 100644 new mode 100755 diff --git a/slides/advriskmin/rsrc/make_loss_quantile_plot.R b/slides/advriskmin/rsrc/make_loss_quantile_plot.R old mode 100644 new mode 100755 diff --git a/slides/advriskmin/rsrc/make_loss_squared_scores_plot.R b/slides/advriskmin/rsrc/make_loss_squared_scores_plot.R old mode 100644 new mode 100755 diff --git a/slides/advriskmin/rsrc/make_loss_zero_one_plot.R b/slides/advriskmin/rsrc/make_loss_zero_one_plot.R old mode 100644 new mode 100755 diff --git a/slides/advriskmin/rsrc/make_optimal_constant_model_plots.R b/slides/advriskmin/rsrc/make_optimal_constant_model_plots.R old mode 100644 new mode 100755 diff --git a/slides/advriskmin/rsrc/make_optimal_pointwise_prediction_plots.R b/slides/advriskmin/rsrc/make_optimal_pointwise_prediction_plots.R old mode 100644 new mode 100755 diff --git a/slides/advriskmin/rsrc/make_pseudo_residual_plots.R b/slides/advriskmin/rsrc/make_pseudo_residual_plots.R old mode 100644 new mode 100755 diff --git a/slides/advriskmin/rsrc/make_residual_plots.R b/slides/advriskmin/rsrc/make_residual_plots.R old mode 100644 new mode 100755 diff --git a/slides/advriskmin/rsrc/make_robustness_plot.R b/slides/advriskmin/rsrc/make_robustness_plot.R old mode 100644 new mode 100755 diff --git a/slides/advriskmin/rsrc/optimal-constant-model-variance.R b/slides/advriskmin/rsrc/optimal-constant-model-variance.R old mode 100644 new mode 100755 diff --git a/slides/advriskmin/rsrc/optimal_constant_model.R b/slides/advriskmin/rsrc/optimal_constant_model.R old mode 100644 new mode 100755 diff --git a/slides/advriskmin/rsrc/softmax_fun.R b/slides/advriskmin/rsrc/softmax_fun.R old mode 100644 new mode 100755 diff --git a/slides/advriskmin/rsrc/tangent_line_y_x2.R b/slides/advriskmin/rsrc/tangent_line_y_x2.R old mode 100644 new mode 100755 diff --git a/slides/advriskmin/slides-advriskmin-bias-variance-decomposition-deepdive.tex b/slides/advriskmin/slides-advriskmin-bias-variance-decomposition-deepdive.tex old mode 100644 new mode 100755 index 79b16f80..01a9150e --- a/slides/advriskmin/slides-advriskmin-bias-variance-decomposition-deepdive.tex +++ b/slides/advriskmin/slides-advriskmin-bias-variance-decomposition-deepdive.tex @@ -4,26 +4,24 @@ \input{../../latex-math/basic-ml} \input{../../latex-math/ml-eval} -\newcommand{\titlefigure}{figure/bias_variance_decomposition-linear_model_bias.png} -\newcommand{\learninggoals}{ +\title{Introduction to Machine Learning} + +\begin{document} + +\titlemeta{% Chunk title (example: CART, Forests, Boosting, ...), can be empty + Advanced Risk Minimization + }{% Lecture title + Bias-Variance Decomposition (Deep-Dive) + }{% Relative path to title page image: Can be empty but must not start with slides/ + figure/bias_variance_decomposition-linear_model_bias.png + }{ \item Understand how to decompose the generalization error of a learner into \begin{itemize} \item \footnotesize Bias of the learner \item \footnotesize Variance of the learner \item \footnotesize Inherent noise in the data \end{itemize} - } - -\title{Introduction to Machine Learning} -\date{} - -\begin{document} - -\lecturechapter{Bias-Variance Decomposition (Deep-Dive)} -\lecture{Introduction to Machine Learning} - - - +} \begin{vbframe} {Bias-Variance decomposition} diff --git a/slides/advriskmin/slides-advriskmin-bias-variance-decomposition.tex b/slides/advriskmin/slides-advriskmin-bias-variance-decomposition.tex old mode 100644 new mode 100755 index 48f76419..8667f112 --- a/slides/advriskmin/slides-advriskmin-bias-variance-decomposition.tex +++ b/slides/advriskmin/slides-advriskmin-bias-variance-decomposition.tex @@ -4,27 +4,25 @@ \input{../../latex-math/basic-ml} \input{../../latex-math/ml-eval} -\newcommand{\titlefigure}{figure/bias_variance_decomposition-linear_model_bias.png} -\newcommand{\learninggoals}{ +\title{Introduction to Machine Learning} + +\begin{document} + +\titlemeta{% Chunk title (example: CART, Forests, Boosting, ...), can be empty + Advanced Risk Minimization + }{% Lecture title + Advanced Risk Minimization:\\ + Bias-Variance Decomposition + }{% Relative path to title page image: Can be empty but must not start with slides/ + figure/bias_variance_decomposition-linear_model_bias.png + }{ \item Understand how to decompose the generalization error of a learner into \begin{itemize} \item \footnotesize bias of the learner \item \footnotesize variance of the learner \item \footnotesize inherent noise in the data \end{itemize} - } - -\title{Introduction to Machine Learning} -\date{} - -\begin{document} - -\lecturechapter{Advanced Risk Minimization:\\ -Bias-Variance Decomposition} -\lecture{Introduction to Machine Learning} - - - +} \begin{vbframe} {Bias-Variance decomposition} diff --git a/slides/advriskmin/slides-advriskmin-classification-01.tex b/slides/advriskmin/slides-advriskmin-classification-01.tex old mode 100644 new mode 100755 index 726e641c..717228eb --- a/slides/advriskmin/slides-advriskmin-classification-01.tex +++ b/slides/advriskmin/slides-advriskmin-classification-01.tex @@ -11,23 +11,20 @@ \input{../../latex-math/basic-math} \input{../../latex-math/basic-ml} -\newcommand{\titlefigure}{figure/plot_loss_01.png} -\newcommand{\learninggoals}{ - \item Derive the risk minimizer of the 0-1-loss - \item Derive the optimal constant model for the 0-1-loss -} - \title{Introduction to Machine Learning} -% \author{Bernd Bischl, Christoph Molnar, Daniel Schalk, Fabian Scheipl} -\institute{\href{https://compstat-lmu.github.io/lecture_i2ml/}{compstat-lmu.github.io/lecture\_i2ml}} -\date{} - - \begin{document} - -\lecturechapter{0-1-Loss} -\lecture{Introduction to Machine Learning} + +\titlemeta{% Chunk title (example: CART, Forests, Boosting, ...), can be empty + Advanced Risk Minimization + }{% Lecture title + 0-1-Loss + }{% Relative path to title page image: Can be empty but must not start with slides/ + figure/plot_loss_01.png + }{ + \item Derive the risk minimizer of the 0-1-loss + \item Derive the optimal constant model for the 0-1-loss +} \begin{vbframe}{0-1-Loss} diff --git a/slides/advriskmin/slides-advriskmin-classification-bernoulli.tex b/slides/advriskmin/slides-advriskmin-classification-bernoulli.tex old mode 100644 new mode 100755 index 93965b31..a178f171 --- a/slides/advriskmin/slides-advriskmin-classification-bernoulli.tex +++ b/slides/advriskmin/slides-advriskmin-classification-bernoulli.tex @@ -14,28 +14,23 @@ \input{../../latex-math/ml-eval} \input{../../latex-math/ml-trees} % For the comparison of Brier and Gini index -\newcommand{\titlefigure}{figure/plot_bernoulli_prob} -\newcommand{\learninggoals}{ +\title{Introduction to Machine Learning} + +\begin{document} + +\titlemeta{% Chunk title (example: CART, Forests, Boosting, ...), can be empty + Advanced Risk Minimization + }{% Lecture title + Bernoulli Loss + }{% Relative path to title page image: Can be empty but must not start with slides/ + figure/plot_bernoulli_prob.png + }{ \item Know the Bernoulli loss and related losses (log-loss, logistic loss, Binomial loss) \item Derive the risk minimizer \item Derive the optimal constant model \item Understand the connection between log-loss and entropy splitting } -\title{Introduction to Machine Learning} -% \author{Bernd Bischl, Christoph Molnar, Daniel Schalk, Fabian Scheipl} -\institute{\href{https://compstat-lmu.github.io/lecture_i2ml/}{compstat-lmu.github.io/lecture\_i2ml}} -\date{} - - - -\begin{document} - -\lecturechapter{Bernoulli Loss} -\lecture{Introduction to Machine Learning} - - - \begin{vbframe}{Bernoulli Loss} \vspace*{-0.5cm} diff --git a/slides/advriskmin/slides-advriskmin-classification-brier.tex b/slides/advriskmin/slides-advriskmin-classification-brier.tex old mode 100644 new mode 100755 index 2cb9509e..e0fd43cf --- a/slides/advriskmin/slides-advriskmin-classification-brier.tex +++ b/slides/advriskmin/slides-advriskmin-classification-brier.tex @@ -13,27 +13,23 @@ \input{../../latex-math/basic-ml} \input{../../latex-math/ml-trees} % For the comparison of Brier and Gini index +\title{Introduction to Machine Learning} -\newcommand{\titlefigure}{figure/plot_brier.png} -\newcommand{\learninggoals}{ +\begin{document} + +\titlemeta{% Chunk title (example: CART, Forests, Boosting, ...), can be empty + Advanced Risk Minimization + }{% Lecture title + Brier Score + }{% Relative path to title page image: Can be empty but must not start with slides/ + figure/plot_brier.png + }{ \item Know the Brier score \item Derive the risk minimizer \item Derive the optimal constant model \item Understand the connection between Brier score and Gini splitting } -\title{Introduction to Machine Learning} -% \author{Bernd Bischl, Christoph Molnar, Daniel Schalk, Fabian Scheipl} -\institute{\href{https://compstat-lmu.github.io/lecture_i2ml/}{compstat-lmu.github.io/lecture\_i2ml}} -\date{} - - -\begin{document} - -\lecturechapter{Brier Score} -\lecture{Introduction to Machine Learning} - - % \begin{vbframe}{Classification Losses: (Naive) L2-Loss} diff --git a/slides/advriskmin/slides-advriskmin-classification-deepdive.tex b/slides/advriskmin/slides-advriskmin-classification-deepdive.tex old mode 100644 new mode 100755 index 37e1f508..ff13f89b --- a/slides/advriskmin/slides-advriskmin-classification-deepdive.tex +++ b/slides/advriskmin/slides-advriskmin-classification-deepdive.tex @@ -11,25 +11,22 @@ \input{../../latex-math/basic-math} \input{../../latex-math/basic-ml} -\newcommand{\titlefigure} -{figure/plot_bernoulli_prob} -\newcommand{\learninggoals}{ - \item Derive the optimal constant model for the binary empirical log loss risk - \item Derive the optimal constant model for the empirical multiclass log loss risk -} +\newcommand{\argminl}{\mathop{\operatorname{arg\,min}}\limits} \title{Introduction to Machine Learning} -% \author{Bernd Bischl, Christoph Molnar, Daniel Schalk, Fabian Scheipl} -\institute{\href{https://compstat-lmu.github.io/lecture_i2ml/}{compstat-lmu.github.io/lecture\_i2ml}} -\date{} - -\newcommand{\argminl}{\mathop{\operatorname{arg\,min}}\limits} \begin{document} - -\lecturechapter{Optimal constant model for the empirical log loss risk (Deep-Dive)} -\lecture{Introduction to Machine Learning} - + +\titlemeta{% Chunk title (example: CART, Forests, Boosting, ...), can be empty + Advanced Risk Minimization + }{% Lecture title + Optimal constant model for the empirical log loss risk (Deep-Dive) + }{% Relative path to title page image: Can be empty but must not start with slides/ + figure/plot_bernoulli_prob.png + }{ + \item Derive the optimal constant model for the binary empirical log loss risk + \item Derive the optimal constant model for the empirical multiclass log loss risk +} \begin{vbframe}{Binary log loss: Emp. Risk Minimizer} diff --git a/slides/advriskmin/slides-advriskmin-classification-furtherlosses.tex b/slides/advriskmin/slides-advriskmin-classification-furtherlosses.tex old mode 100644 new mode 100755 index c0f50130..138d1807 --- a/slides/advriskmin/slides-advriskmin-classification-furtherlosses.tex +++ b/slides/advriskmin/slides-advriskmin-classification-furtherlosses.tex @@ -14,26 +14,23 @@ \input{../../latex-math/ml-eval} \input{../../latex-math/ml-trees} % For the comparison of Brier and Gini index +\title{Introduction to Machine Learning} -\newcommand{\titlefigure}{figure/plot_loss_overview_classif.png} -\newcommand{\learninggoals}{ +\begin{document} + +\titlemeta{% Chunk title (example: CART, Forests, Boosting, ...), can be empty + Advanced Risk Minimization + }{% Lecture title + Advanced Classification Losses + }{% Relative path to title page image: Can be empty but must not start with slides/ + figure/plot_loss_overview_classif.png + }{ \item Know the (squared) hinge loss \item Know the $L2$ loss defined on scores \item Know the exponential loss \item Know the AUC loss } -\title{Introduction to Machine Learning} -% \author{Bernd Bischl, Christoph Molnar, Daniel Schalk, Fabian Scheipl} -\institute{\href{https://compstat-lmu.github.io/lecture_i2ml/}{compstat-lmu.github.io/lecture\_i2ml}} -\date{} - - -\begin{document} - -\lecturechapter{Advanced Classification Losses} -\lecture{Introduction to Machine Learning} - \begin{vbframe}{Hinge Loss} \begin{itemize} diff --git a/slides/advriskmin/slides-advriskmin-logreg-deepdive.tex b/slides/advriskmin/slides-advriskmin-logreg-deepdive.tex old mode 100644 new mode 100755 index e8faf925..9aaebaa6 --- a/slides/advriskmin/slides-advriskmin-logreg-deepdive.tex +++ b/slides/advriskmin/slides-advriskmin-logreg-deepdive.tex @@ -11,26 +11,23 @@ \input{../../latex-math/basic-math} \input{../../latex-math/basic-ml} -\newcommand{\titlefigure} -{figure/plot_bernoulli_prob} -\newcommand{\learninggoals}{ - \item Derive the gradient of the logistic regression - \item Derive the Hessian of the logistic regression - \item Show that the logistic regression is a convex problem -} +\newcommand{\argminl}{\mathop{\operatorname{arg\,min}}\limits} \title{Introduction to Machine Learning} -% \author{Bernd Bischl, Christoph Molnar, Daniel Schalk, Fabian Scheipl} -\institute{\href{https://compstat-lmu.github.io/lecture_i2ml/}{compstat-lmu.github.io/lecture\_i2ml}} -\date{} - -\newcommand{\argminl}{\mathop{\operatorname{arg\,min}}\limits} \begin{document} - -\lecturechapter{Logistic regression (Deep-Dive)} -\lecture{Introduction to Machine Learning} - + +\titlemeta{% Chunk title (example: CART, Forests, Boosting, ...), can be empty + Advanced Risk Minimization + }{% Lecture title + Logistic regression (Deep-Dive) + }{% Relative path to title page image: Can be empty but must not start with slides/ + figure/plot_bernoulli_prob.png + }{ + \item Derive the gradient of the logistic regression + \item Derive the Hessian of the logistic regression + \item Show that the logistic regression is a convex problem +} \begin{vbframe}{Logistic regression: Risk Problem} diff --git a/slides/advriskmin/slides-advriskmin-losses-properties.tex b/slides/advriskmin/slides-advriskmin-losses-properties.tex old mode 100644 new mode 100755 index 8df50659..82997e6e --- a/slides/advriskmin/slides-advriskmin-losses-properties.tex +++ b/slides/advriskmin/slides-advriskmin-losses-properties.tex @@ -15,29 +15,24 @@ \usepackage{booktabs} -\newcommand{\titlefigure}{figure_man/vgg_example.png} -\newcommand{\learninggoals}{ +\title{Introduction to Machine Learning} + +\begin{document} + +\titlemeta{% Chunk title (example: CART, Forests, Boosting, ...), can be empty + Advanced Risk Minimization + }{% Lecture title + Properties of Loss Functions + }{% Relative path to title page image: Can be empty but must not start with slides/ + figure_man/vgg_example.png + }{ % \item Understand why you should care about properties of loss functions \item Statistical properties \item Robustness \item Numerical properties \item Some fundamental terminology - } -\title{Introduction to Machine Learning} -% \author{Bernd Bi{}schl, Christoph Molnar, Daniel Schalk, Fabian Scheipl} -\institute{\href{https://compstat-lmu.github.io/lecture_i2ml/}{compstat-lmu.github.io/lecture\_i2ml}} -\date{} - - -\begin{document} - -% ------------------------------------------------------------------------------ - -\lecturechapter{Properties of Loss Functions} -\lecture{Introduction to Machine Learning} - \begin{vbframe}{The role of Loss Functions} Why should we care about the choice of the loss function $\Lxy$? diff --git a/slides/advriskmin/slides-advriskmin-max-likelihood-l2.tex b/slides/advriskmin/slides-advriskmin-max-likelihood-l2.tex old mode 100644 new mode 100755 index 4f9e76e2..15ee779d --- a/slides/advriskmin/slides-advriskmin-max-likelihood-l2.tex +++ b/slides/advriskmin/slides-advriskmin-max-likelihood-l2.tex @@ -12,22 +12,21 @@ \input{../../latex-math/basic-math} \input{../../latex-math/basic-ml} -\newcommand{\titlefigure}{figure/residuals_plot_L2_title.png} -\newcommand{\learninggoals}{ -\item Understand the connection between maximum likelihood and risk minimization -\item Learn the correspondence between a Gaussian error distribution and the L2 loss -} - \title{Introduction to Machine Learning} -% \author{Bernd Bischl, Christoph Molnar, Daniel Schalk, Fabian Scheipl} -\institute{\href{https://compstat-lmu.github.io/lecture_i2ml/}{compstat-lmu.github.io/lecture\_i2ml}} -\date{} \begin{document} - -\lecturechapter{Maximum Likelihood Estimation vs. -Empirical Risk Minimization} -\lecture{Introduction to Machine Learning} + +\titlemeta{% Chunk title (example: CART, Forests, Boosting, ...), can be empty + Advanced Risk Minimization + }{% Lecture title + Maximum Likelihood Estimation vs. + Empirical Risk Minimization + }{% Relative path to title page image: Can be empty but must not start with slides/ + figure/residuals_plot_L2_title.png + }{ + \item Understand the connection between maximum likelihood and risk minimization + \item Learn the correspondence between a Gaussian error distribution and the L2 loss +} \begin{vbframe}{Maximum Likelihood} @@ -155,7 +154,7 @@ %\item $\thetah \in \argmax_{\thetab} \log\left(\LL(\thetab)\right) \implies $ \end{itemize} %\lz -\item \textbf{But}: The other way around does not always work: We cannot derive a corresponding pdf or error distribution for every loss function -- the Hinge loss is one prominent example, for which some probabilistic interpretation is still possible however, see \citebutton{Sollich, 1999}{https://ieeexplore.ieee.org/abstract/document/819547}. +\item \textbf{But}: The other way around does not always work: We cannot derive a corresponding pdf or error distribution for every loss function -- the Hinge loss is one prominent example, for which some probabilistic interpretation is still possible however, see \citelink{SOLLICH1999NINTH}. \framebreak diff --git a/slides/advriskmin/slides-advriskmin-max-likelihood-other.tex b/slides/advriskmin/slides-advriskmin-max-likelihood-other.tex old mode 100644 new mode 100755 index 20ac9ee2..ef145d01 --- a/slides/advriskmin/slides-advriskmin-max-likelihood-other.tex +++ b/slides/advriskmin/slides-advriskmin-max-likelihood-other.tex @@ -12,25 +12,21 @@ \input{../../latex-math/basic-math} \input{../../latex-math/basic-ml} -\newcommand{\titlefigure}{figure/residuals_plot_L1_title.png} -\newcommand{\learninggoals}{ - \item Correspondence between Laplace errors and L1 loss - - \item Correspondence between Bernoulli targets and the Bernoulli / log loss - -} - \title{Introduction to Machine Learning} -% \author{Bernd Bischl, Christoph Molnar, Daniel Schalk, Fabian Scheipl} -\institute{\href{https://compstat-lmu.github.io/lecture_i2ml/}{compstat-lmu.github.io/lecture\_i2ml}} -\date{} \begin{document} - -\lecturechapter{Maximum Likelihood Estimation vs. -Empirical Risk Minimization} -\lecture{Introduction to Machine Learning} - + +\titlemeta{% Chunk title (example: CART, Forests, Boosting, ...), can be empty + Advanced Risk Minimization + }{% Lecture title + Maximum Likelihood Estimation vs. + Empirical Risk Minimization + }{% Relative path to title page image: Can be empty but must not start with slides/ + figure/residuals_plot_L1_title.png + }{ + \item Correspondence between Laplace errors and L1 loss + \item Correspondence between Bernoulli targets and the Bernoulli / log loss +} \begin{vbframe}{Laplace Errors - L1-Loss} @@ -66,7 +62,7 @@ MLE for Laplacian errors = ERM with L1-loss. \begin{itemize} -\item Some losses correspond to more complex or less known error densities, like the Huber loss \citebutton{Meyer, 2021}{https://openaccess.thecvf.com/content/CVPR2021/papers/Meyer_An_Alternative_Probabilistic_Interpretation_of_the_Huber_Loss_CVPR_2021_paper.pdf} +\item Some losses correspond to more complex or less known error densities, like the Huber loss \citelink{MEYER2021ALTERNATIVE} \item Huber density is (unsurprisingly) a hybrid of Gaussian and Laplace diff --git a/slides/advriskmin/slides-advriskmin-pseudo-residuals.tex b/slides/advriskmin/slides-advriskmin-pseudo-residuals.tex old mode 100644 new mode 100755 index f881a761..c7747d35 --- a/slides/advriskmin/slides-advriskmin-pseudo-residuals.tex +++ b/slides/advriskmin/slides-advriskmin-pseudo-residuals.tex @@ -12,22 +12,20 @@ \input{../../latex-math/basic-math} \input{../../latex-math/basic-ml} -\newcommand{\titlefigure}{figure/pseudo_residual_1.png} -\newcommand{\learninggoals}{ -\item Know the concept of pseudo-residuals -\item Understand the relationship between pseudo-residuals and gradient descent -} - \title{Introduction to Machine Learning} -% \author{Bernd Bischl, Christoph Molnar, Daniel Schalk, Fabian Scheipl} -\institute{\href{https://compstat-lmu.github.io/lecture_i2ml/}{compstat-lmu.github.io/lecture\_i2ml}} -\date{} - \begin{document} - -\lecturechapter{Pseudo-Residuals and Gradient Descent} -\lecture{Introduction to Machine Learning} + +\titlemeta{% Chunk title (example: CART, Forests, Boosting, ...), can be empty + Advanced Risk Minimization + }{% Lecture title + Pseudo-Residuals and Gradient Descent + }{% Relative path to title page image: Can be empty but must not start with slides/ + figure/pseudo_residual_1.png + }{ + \item Know the concept of pseudo-residuals + \item Understand the relationship between pseudo-residuals and gradient descent +} \begin{vbframe}{Pseudo-Residuals} diff --git a/slides/advriskmin/slides-advriskmin-regression-further-losses.tex b/slides/advriskmin/slides-advriskmin-regression-further-losses.tex old mode 100644 new mode 100755 index 68b4561d..53b23108 --- a/slides/advriskmin/slides-advriskmin-regression-further-losses.tex +++ b/slides/advriskmin/slides-advriskmin-regression-further-losses.tex @@ -12,8 +12,17 @@ \input{../../latex-math/basic-math} \input{../../latex-math/basic-ml} -\newcommand{\titlefigure}{figure/plot_loss_overview.png} -\newcommand{\learninggoals}{ +\title{Introduction to Machine Learning} + +\begin{document} + +\titlemeta{% Chunk title (example: CART, Forests, Boosting, ...), can be empty + Advanced Risk Minimization + }{% Lecture title + Advanced Regression Losses + }{% Relative path to title page image: Can be empty but must not start with slides/ + figure/plot_loss_overview.png + }{ \item Know the Huber loss \item Know the log-cosh loss \item Know the Cauchy loss @@ -22,17 +31,6 @@ \item Know the quantile loss } -\title{Introduction to Machine Learning} -% \author{Bernd Bischl, Christoph Molnar, Daniel Schalk, Fabian Scheipl} -\institute{\href{https://compstat-lmu.github.io/lecture_i2ml/}{compstat-lmu.github.io/lecture\_i2ml}} -\date{} - - -\begin{document} - -\lecturechapter{Advanced Regression Losses} -\lecture{Introduction to Machine Learning} - \begin{vbframe}{Advanced Loss Functions} Special loss functions can be used to estimate non-standard posterior components, to measure errors in a custom way or are designed to have special properties like robustness. @@ -96,7 +94,7 @@ \end{vbframe} -\begin{vbframe}{Log-cosh Loss} +\begin{vbframe}{Log-cosh Loss \citelink{SALEH2022STATISTICAL}} % Confirmed with Bernd: use def from https://heartbeat.fritz.ai/5-regression-loss-functions-all-machine-learners-should-know-4fb140e9d4b0 @@ -149,7 +147,7 @@ \end{columns} -The log-cosh approach to obtain a differentiable approximation of the $L1$ loss can also be extended to differentiable quantile/pinball losses. For more details on the log-cosh loss, see \citebutton{Saleh and Saleh, 2024}{https://arxiv.org/pdf/2208.04564}. +The log-cosh approach to obtain a differentiable approximation of the $L1$ loss can also be extended to differentiable quantile/pinball losses. \framebreak diff --git a/slides/advriskmin/slides-advriskmin-regression-l1-deepdive.tex b/slides/advriskmin/slides-advriskmin-regression-l1-deepdive.tex old mode 100644 new mode 100755 index d745d1db..069aa3b1 --- a/slides/advriskmin/slides-advriskmin-regression-l1-deepdive.tex +++ b/slides/advriskmin/slides-advriskmin-regression-l1-deepdive.tex @@ -12,23 +12,20 @@ \input{../../latex-math/basic-math} \input{../../latex-math/basic-ml} -\newcommand{\titlefigure}{figure/loss_absolute_1.png} -\newcommand{\learninggoals}{ - \item Derive the risk minimizer of the L1-loss - \item Derive the optimal constant model for the L1-loss -} - \title{Introduction to Machine Learning} -% \author{Bernd Bischl, Christoph Molnar, Daniel Schalk, Fabian Scheipl} -\institute{\href{https://compstat-lmu.github.io/lecture_i2ml/}{compstat-lmu.github.io/lecture\_i2ml}} -\date{} - \begin{document} - -\lecturechapter{L1 Risk Minimizer (Deep-Dive)} -\lecture{Introduction to Machine Learning} - + +\titlemeta{% Chunk title (example: CART, Forests, Boosting, ...), can be empty + Advanced Risk Minimization + }{% Lecture title + L1 Risk Minimizer (Deep-Dive) + }{% Relative path to title page image: Can be empty but must not start with slides/ + figure/loss_absolute_1.png + }{ + \item Derive the risk minimizer of the L1-loss + \item Derive the optimal constant model for the L1-loss +} \begin{vbframe}{L1-Loss: Risk Minimizer} diff --git a/slides/advriskmin/slides-advriskmin-regression-l2-l1.tex b/slides/advriskmin/slides-advriskmin-regression-l2-l1.tex old mode 100644 new mode 100755 index 7e5c4bdb..2e38c2ba --- a/slides/advriskmin/slides-advriskmin-regression-l2-l1.tex +++ b/slides/advriskmin/slides-advriskmin-regression-l2-l1.tex @@ -12,23 +12,22 @@ \input{../../latex-math/basic-math} \input{../../latex-math/basic-ml} -\newcommand{\titlefigure}{figure/loss_quadratic_1.png} -\newcommand{\learninggoals}{ +\title{Introduction to Machine Learning} + +\begin{document} + +\titlemeta{% Chunk title (example: CART, Forests, Boosting, ...), can be empty + Advanced Risk Minimization + }{% Lecture title + Regression Losses: L2 and L1 loss + }{% Relative path to title page image: Can be empty but must not start with slides/ + figure/loss_quadratic_1.png + }{ \item Derive the risk minimizer of the L2-loss \item Derive the optimal constant model for the L2-loss \item Know risk minimizer and optimal constant model for L1-loss } -\title{Introduction to Machine Learning} -% \author{Bernd Bischl, Christoph Molnar, Daniel Schalk, Fabian Scheipl} -\institute{\href{https://compstat-lmu.github.io/lecture_i2ml/}{compstat-lmu.github.io/lecture\_i2ml}} -\date{} - -\begin{document} - -\lecturechapter{Regression Losses: L2 and L1 loss} -\lecture{Introduction to Machine Learning} - \begin{vbframe}{L2-Loss} \vspace*{-0.5cm} diff --git a/slides/advriskmin/slides-advriskmin-risk-minimizer.tex b/slides/advriskmin/slides-advriskmin-risk-minimizer.tex old mode 100644 new mode 100755 index e7adcb7d..5ac2f4d9 --- a/slides/advriskmin/slides-advriskmin-risk-minimizer.tex +++ b/slides/advriskmin/slides-advriskmin-risk-minimizer.tex @@ -13,24 +13,23 @@ \input{../../latex-math/basic-ml} \input{../../latex-math/ml-hpo} -\newcommand{\titlefigure}{figure_man/optimization_steps.jpeg} -\newcommand{\learninggoals}{ - \item Bayes optimal model (also: risk minimizer, population minimizer) - \item Bayes risk - \item Bayes regret, estimation and approximation error - \item Optimal constant model - \item Consistent learners -} - \title{Introduction to Machine Learning} -\institute{\href{https://compstat-lmu.github.io/lecture_i2ml/}{compstat-lmu.github.io/lecture\_i2ml}} -\date{} - \begin{document} - -\lecturechapter{Risk Minimizers} -\lecture{Introduction to Machine Learning} + +\titlemeta{% Chunk title (example: CART, Forests, Boosting, ...), can be empty + Advanced Risk Minimization + }{% Lecture title + Risk Minimizers + }{% Relative path to title page image: Can be empty but must not start with slides/ + figure_man/optimization_steps.jpeg + }{ + \item Bayes optimal model (also: risk minimizer, population minimizer) + \item Bayes risk + \item Bayes regret, estimation and approximation error + \item Optimal constant model + \item Consistent learners +} \begin{vbframe}{Empirical Risk Minimization} Very often, in ML, we minimize the empirical risk diff --git a/slides/all/Makefile b/slides/all/Makefile old mode 100644 new mode 100755 diff --git a/slides/all/README.md b/slides/all/README.md old mode 100644 new mode 100755 diff --git a/slides/all/slides_sl.tex b/slides/all/slides_sl.tex old mode 100644 new mode 100755 diff --git a/slides/all/titlepage.jpg b/slides/all/titlepage.jpg old mode 100644 new mode 100755 diff --git a/slides/boosting/Makefile b/slides/boosting/Makefile old mode 100644 new mode 100755 diff --git a/slides/boosting/algorithms/componentwise_gradient_boosting.tex b/slides/boosting/algorithms/componentwise_gradient_boosting.tex old mode 100644 new mode 100755 diff --git a/slides/boosting/algorithms/forward_stagewise_additive_modeling.tex b/slides/boosting/algorithms/forward_stagewise_additive_modeling.tex old mode 100644 new mode 100755 diff --git a/slides/boosting/algorithms/gradient_boosting_for_k_classification.tex b/slides/boosting/algorithms/gradient_boosting_for_k_classification.tex old mode 100644 new mode 100755 diff --git a/slides/boosting/algorithms/gradient_boosting_general.tex b/slides/boosting/algorithms/gradient_boosting_general.tex old mode 100644 new mode 100755 diff --git a/slides/boosting/algorithms/gradient_boosting_tree_algorithm_altern.tex b/slides/boosting/algorithms/gradient_boosting_tree_algorithm_altern.tex old mode 100644 new mode 100755 diff --git a/slides/boosting/algorithms/gradient_tree_boosting_algorithm.tex b/slides/boosting/algorithms/gradient_tree_boosting_algorithm.tex old mode 100644 new mode 100755 diff --git a/slides/boosting/chapter-order.tex b/slides/boosting/chapter-order.tex old mode 100644 new mode 100755 diff --git a/slides/boosting/cheatsheet_new/beamerposter.sty b/slides/boosting/cheatsheet_new/beamerposter.sty old mode 100644 new mode 100755 diff --git a/slides/boosting/cheatsheet_new/beamerthememlr.sty b/slides/boosting/cheatsheet_new/beamerthememlr.sty old mode 100644 new mode 100755 diff --git a/slides/boosting/cheatsheet_new/cheatsheet.tex b/slides/boosting/cheatsheet_new/cheatsheet.tex old mode 100644 new mode 100755 diff --git a/slides/boosting/data/who-life-expectancy-data.csv b/slides/boosting/data/who-life-expectancy-data.csv old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/adaboost_viz_mlr3_1.png b/slides/boosting/figure/adaboost_viz_mlr3_1.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/adaboost_viz_mlr3_2.png b/slides/boosting/figure/adaboost_viz_mlr3_2.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/boosting-cwb-bl-add1.pdf b/slides/boosting/figure/boosting-cwb-bl-add1.pdf old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/boosting-cwb-bl-add1.pdf.png b/slides/boosting/figure/boosting-cwb-bl-add1.pdf.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/boosting-cwb-bl-add2.pdf b/slides/boosting/figure/boosting-cwb-bl-add2.pdf old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/boosting-cwb-bl-add2.pdf.png b/slides/boosting/figure/boosting-cwb-bl-add2.pdf.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/boosting-cwb-bl-add3.pdf b/slides/boosting/figure/boosting-cwb-bl-add3.pdf old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/boosting-cwb-bl-add3.pdf.png b/slides/boosting/figure/boosting-cwb-bl-add3.pdf.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/boosting-cwb-bl1-points.png b/slides/boosting/figure/boosting-cwb-bl1-points.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/boosting-cwb-bl1.png b/slides/boosting/figure/boosting-cwb-bl1.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/boosting-cwb-bl2-points.png b/slides/boosting/figure/boosting-cwb-bl2-points.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/boosting-cwb-bl2.png b/slides/boosting/figure/boosting-cwb-bl2.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/boosting-cwb-bl3-points.png b/slides/boosting/figure/boosting-cwb-bl3-points.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/boosting-cwb-bl3.png b/slides/boosting/figure/boosting-cwb-bl3.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/boosting-cwb-bl4.png b/slides/boosting/figure/boosting-cwb-bl4.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/boosting-cwb-blpool1.png b/slides/boosting/figure/boosting-cwb-blpool1.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/boosting-cwb-blpool2.png b/slides/boosting/figure/boosting-cwb-blpool2.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/boosting-cwb-blpool3.png b/slides/boosting/figure/boosting-cwb-blpool3.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/boosting-cwb-blpool4.png b/slides/boosting/figure/boosting-cwb-blpool4.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/boosting_classif_1.png b/slides/boosting/figure/boosting_classif_1.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/boosting_classif_10.png b/slides/boosting/figure/boosting_classif_10.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/boosting_classif_100.png b/slides/boosting/figure/boosting_classif_100.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/boosting_classif_2.png b/slides/boosting/figure/boosting_classif_2.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/boosting_classif_5.png b/slides/boosting/figure/boosting_classif_5.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/boosting_classif_error_1.png b/slides/boosting/figure/boosting_classif_error_1.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/boosting_classif_error_10.png b/slides/boosting/figure/boosting_classif_error_10.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/boosting_classif_error_100.png b/slides/boosting/figure/boosting_classif_error_100.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/boosting_classif_error_2.png b/slides/boosting/figure/boosting_classif_error_2.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/boosting_classif_error_5.png b/slides/boosting/figure/boosting_classif_error_5.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/boosting_classif_example.png b/slides/boosting/figure/boosting_classif_example.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/boosting_interaction_example_ID2.png b/slides/boosting/figure/boosting_interaction_example_ID2.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/boosting_interaction_example_gam.png b/slides/boosting/figure/boosting_interaction_example_gam.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/boosting_multiclass_1.png b/slides/boosting/figure/boosting_multiclass_1.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/boosting_multiclass_10.png b/slides/boosting/figure/boosting_multiclass_10.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/boosting_multiclass_100.png b/slides/boosting/figure/boosting_multiclass_100.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/boosting_multiclass_2.png b/slides/boosting/figure/boosting_multiclass_2.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/boosting_multiclass_5.png b/slides/boosting/figure/boosting_multiclass_5.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/bspline-basis.png b/slides/boosting/figure/bspline-basis.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/compboost-base-learner-linear.png b/slides/boosting/figure/compboost-base-learner-linear.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/compboost-base-learner-ridge.png b/slides/boosting/figure/compboost-base-learner-ridge.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/compboost-base-learner-spline.png b/slides/boosting/figure/compboost-base-learner-spline.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/compboost-base-learner-tensor.png b/slides/boosting/figure/compboost-base-learner-tensor.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/compboost-illustration-1.png b/slides/boosting/figure/compboost-illustration-1.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/compboost-illustration-2.png b/slides/boosting/figure/compboost-illustration-2.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/compboost-illustration-3.png b/slides/boosting/figure/compboost-illustration-3.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/compboost-intercept-handling.png b/slides/boosting/figure/compboost-intercept-handling.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/compboost-to-glm-iter1000.png b/slides/boosting/figure/compboost-to-glm-iter1000.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/compboost-to-glm-iter10000.png b/slides/boosting/figure/compboost-to-glm-iter10000.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/compboost-to-glm-iter250.png b/slides/boosting/figure/compboost-to-glm-iter250.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/compboost-to-glm-iter500.png b/slides/boosting/figure/compboost-to-glm-iter500.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/compboost-to-glm-iter5000.png b/slides/boosting/figure/compboost-to-glm-iter5000.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/cwb-anim-nl/fig-iter-0001.png b/slides/boosting/figure/cwb-anim-nl/fig-iter-0001.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/cwb-anim-nl/fig-iter-0002.png b/slides/boosting/figure/cwb-anim-nl/fig-iter-0002.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/cwb-anim-nl/fig-iter-0005.png b/slides/boosting/figure/cwb-anim-nl/fig-iter-0005.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/cwb-anim-nl/fig-iter-0010.png b/slides/boosting/figure/cwb-anim-nl/fig-iter-0010.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/cwb-anim-nl/fig-iter-0015.png b/slides/boosting/figure/cwb-anim-nl/fig-iter-0015.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/cwb-anim-nl/fig-iter-0017.png b/slides/boosting/figure/cwb-anim-nl/fig-iter-0017.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/cwb-anim-nl/fig-iter-0018.png b/slides/boosting/figure/cwb-anim-nl/fig-iter-0018.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/cwb-anim-nl/fig-iter-0020.png b/slides/boosting/figure/cwb-anim-nl/fig-iter-0020.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/cwb-anim-nl/fig-iter-0023.png b/slides/boosting/figure/cwb-anim-nl/fig-iter-0023.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/cwb-anim-nl/fig-iter-0024.png b/slides/boosting/figure/cwb-anim-nl/fig-iter-0024.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/cwb-anim-nl/fig-iter-0030.png b/slides/boosting/figure/cwb-anim-nl/fig-iter-0030.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/cwb-anim-nl/fig-iter-0050.png b/slides/boosting/figure/cwb-anim-nl/fig-iter-0050.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/cwb-anim-nl/fig-iter-0070.png b/slides/boosting/figure/cwb-anim-nl/fig-iter-0070.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/cwb-anim-nl/fig-iter-0088.png b/slides/boosting/figure/cwb-anim-nl/fig-iter-0088.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/cwb-anim-nl/fig-iter-0089.png b/slides/boosting/figure/cwb-anim-nl/fig-iter-0089.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/cwb-anim-nl/fig-iter-0090.png b/slides/boosting/figure/cwb-anim-nl/fig-iter-0090.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/cwb-anim-nl/fig-iter-0110.png b/slides/boosting/figure/cwb-anim-nl/fig-iter-0110.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/cwb-anim-nl/fig-iter-0130.png b/slides/boosting/figure/cwb-anim-nl/fig-iter-0130.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/cwb-anim-nl/fig-iter-0150.png b/slides/boosting/figure/cwb-anim-nl/fig-iter-0150.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/cwb-anim/fig-iter-0001.png b/slides/boosting/figure/cwb-anim/fig-iter-0001.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/cwb-anim/fig-iter-0002.png b/slides/boosting/figure/cwb-anim/fig-iter-0002.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/cwb-anim/fig-iter-0005.png b/slides/boosting/figure/cwb-anim/fig-iter-0005.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/cwb-anim/fig-iter-0010.png b/slides/boosting/figure/cwb-anim/fig-iter-0010.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/cwb-anim/fig-iter-0015.png b/slides/boosting/figure/cwb-anim/fig-iter-0015.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/cwb-anim/fig-iter-0016.png b/slides/boosting/figure/cwb-anim/fig-iter-0016.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/cwb-anim/fig-iter-0020.png b/slides/boosting/figure/cwb-anim/fig-iter-0020.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/cwb-anim/fig-iter-0030.png b/slides/boosting/figure/cwb-anim/fig-iter-0030.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/cwb-anim/fig-iter-0037.png b/slides/boosting/figure/cwb-anim/fig-iter-0037.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/cwb-anim/fig-iter-0038.png b/slides/boosting/figure/cwb-anim/fig-iter-0038.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/cwb-anim/fig-iter-0050.png b/slides/boosting/figure/cwb-anim/fig-iter-0050.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/cwb-anim/fig-iter-0070.png b/slides/boosting/figure/cwb-anim/fig-iter-0070.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/cwb-anim/fig-iter-0090.png b/slides/boosting/figure/cwb-anim/fig-iter-0090.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/cwb-anim/fig-iter-0110.png b/slides/boosting/figure/cwb-anim/fig-iter-0110.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/cwb-anim/fig-iter-0116.png b/slides/boosting/figure/cwb-anim/fig-iter-0116.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/cwb-anim/fig-iter-0117.png b/slides/boosting/figure/cwb-anim/fig-iter-0117.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/cwb-anim/fig-iter-0140.png b/slides/boosting/figure/cwb-anim/fig-iter-0140.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/cwb-anim/fig-iter-0150.png b/slides/boosting/figure/cwb-anim/fig-iter-0150.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/fig-decomp1.png b/slides/boosting/figure/fig-decomp1.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/fig-decomp2.png b/slides/boosting/figure/fig-decomp2.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/fig-gb-concept-1.png b/slides/boosting/figure/fig-gb-concept-1.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/fig-gb-concept-2.png b/slides/boosting/figure/fig-gb-concept-2.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/fig-gb-concept-idea-1.png b/slides/boosting/figure/fig-gb-concept-idea-1.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/fig-gb-concept-idea-2.png b/slides/boosting/figure/fig-gb-concept-idea-2.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/fig-gb-concept-idea-3.png b/slides/boosting/figure/fig-gb-concept-idea-3.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/fig-gb-concept-idea.png b/slides/boosting/figure/fig-gb-concept-idea.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/fig-gb-concept-pseudo-resi-1.png b/slides/boosting/figure/fig-gb-concept-pseudo-resi-1.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/fig-gb-concept-pseudo-resi-2.png b/slides/boosting/figure/fig-gb-concept-pseudo-resi-2.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/fig-loss-huber-delta.png b/slides/boosting/figure/fig-loss-huber-delta.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/gbm_anim_02.png b/slides/boosting/figure/gbm_anim_02.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/gbm_anim_03.png b/slides/boosting/figure/gbm_anim_03.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/gbm_anim_51.png b/slides/boosting/figure/gbm_anim_51.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/gbm_anim_data.png b/slides/boosting/figure/gbm_anim_data.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/gbm_anim_init.png b/slides/boosting/figure/gbm_anim_init.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/gbm_regu_oversmoothing_overfitting.png b/slides/boosting/figure/gbm_regu_oversmoothing_overfitting.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/gbm_sine.png b/slides/boosting/figure/gbm_sine.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/gbm_sine_title.png b/slides/boosting/figure/gbm_sine_title.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/gbm_spam.png b/slides/boosting/figure/gbm_spam.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/illustration_data_normal.png b/slides/boosting/figure/illustration_data_normal.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/illustration_gaussian_L1_1.png b/slides/boosting/figure/illustration_gaussian_L1_1.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/illustration_gaussian_L1_10.png b/slides/boosting/figure/illustration_gaussian_L1_10.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/illustration_gaussian_L1_100.png b/slides/boosting/figure/illustration_gaussian_L1_100.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/illustration_gaussian_L1_2.png b/slides/boosting/figure/illustration_gaussian_L1_2.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/illustration_gaussian_L1_3.png b/slides/boosting/figure/illustration_gaussian_L1_3.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/illustration_gaussian_L1_lin_1.png b/slides/boosting/figure/illustration_gaussian_L1_lin_1.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/illustration_gaussian_L1_lin_10.png b/slides/boosting/figure/illustration_gaussian_L1_lin_10.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/illustration_gaussian_L1_lin_100.png b/slides/boosting/figure/illustration_gaussian_L1_lin_100.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/illustration_gaussian_L2_1.png b/slides/boosting/figure/illustration_gaussian_L2_1.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/illustration_gaussian_L2_10.png b/slides/boosting/figure/illustration_gaussian_L2_10.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/illustration_gaussian_L2_100.png b/slides/boosting/figure/illustration_gaussian_L2_100.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/illustration_gaussian_L2_2.png b/slides/boosting/figure/illustration_gaussian_L2_2.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/illustration_gaussian_L2_3.png b/slides/boosting/figure/illustration_gaussian_L2_3.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/illustration_gaussian_L2_lin_1.png b/slides/boosting/figure/illustration_gaussian_L2_lin_1.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/illustration_gaussian_L2_lin_10.png b/slides/boosting/figure/illustration_gaussian_L2_lin_10.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/illustration_gaussian_L2_lin_100.png b/slides/boosting/figure/illustration_gaussian_L2_lin_100.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/illustration_gaussian_huber_02_10.png b/slides/boosting/figure/illustration_gaussian_huber_02_10.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/illustration_gaussian_huber_2_10.png b/slides/boosting/figure/illustration_gaussian_huber_2_10.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/illustration_tdist_L1_10.png b/slides/boosting/figure/illustration_tdist_L1_10.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/illustration_tdist_L1_100.png b/slides/boosting/figure/illustration_tdist_L1_100.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/illustration_tdist_L2_10.png b/slides/boosting/figure/illustration_tdist_L2_10.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/illustration_tdist_L2_100.png b/slides/boosting/figure/illustration_tdist_L2_100.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/illustration_title.png b/slides/boosting/figure/illustration_title.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/interaction_td1_d3.png b/slides/boosting/figure/interaction_td1_d3.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/interaction_td2_d3.png b/slides/boosting/figure/interaction_td2_d3.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/pseudo_residual_1.png b/slides/boosting/figure/pseudo_residual_1.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/split_finding_1.png b/slides/boosting/figure/split_finding_1.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/split_finding_2.png b/slides/boosting/figure/split_finding_2.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/stump_plots.png b/slides/boosting/figure/stump_plots.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure/stump_plots_noisy.png b/slides/boosting/figure/stump_plots_noisy.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure_man/adaboost_example_adjusted.png b/slides/boosting/figure_man/adaboost_example_adjusted.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure_man/bagging_vs_boosting.png b/slides/boosting/figure_man/bagging_vs_boosting.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure_man/boosting_classif_title.PNG b/slides/boosting/figure_man/boosting_classif_title.PNG old mode 100644 new mode 100755 diff --git a/slides/boosting/figure_man/boosting_interact_expl1.PNG b/slides/boosting/figure_man/boosting_interact_expl1.PNG old mode 100644 new mode 100755 diff --git a/slides/boosting/figure_man/boosting_interact_expl2.PNG b/slides/boosting/figure_man/boosting_interact_expl2.PNG old mode 100644 new mode 100755 diff --git a/slides/boosting/figure_man/boosting_interaction_depth1fit3D_x1.png b/slides/boosting/figure_man/boosting_interaction_depth1fit3D_x1.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure_man/boosting_interaction_depth1fit3D_x2.png b/slides/boosting/figure_man/boosting_interaction_depth1fit3D_x2.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure_man/boosting_interaction_targetfunction3D.png b/slides/boosting/figure_man/boosting_interaction_targetfunction3D.png old mode 100644 new mode 100755 diff --git a/slides/boosting/figure_man/df_to_lambda.pdf b/slides/boosting/figure_man/df_to_lambda.pdf old mode 100644 new mode 100755 diff --git a/slides/boosting/figure_man/gbm_anim/old/gbm5.jpg b/slides/boosting/figure_man/gbm_anim/old/gbm5.jpg old mode 100644 new mode 100755 diff --git a/slides/boosting/figure_man/gbm_leaf_adjustment.pdf b/slides/boosting/figure_man/gbm_leaf_adjustment.pdf old mode 100644 new mode 100755 diff --git a/slides/boosting/figure_man/trees_balance.pdf b/slides/boosting/figure_man/trees_balance.pdf old mode 100644 new mode 100755 diff --git a/slides/boosting/references.bib b/slides/boosting/references.bib new file mode 100755 index 00000000..e66d7f93 --- /dev/null +++ b/slides/boosting/references.bib @@ -0,0 +1,58 @@ +@article{KNEIB2009VARIABLE, + title={Variable selection and model choice in geoadditive regression models}, + author={Kneib, Thomas and Hothorn, Torsten and Tutz, Gerhard}, + journal={Biometrics}, + volume={65}, + number={2}, + pages={626--634}, + year={2009}, + publisher={Oxford University Press}, + url={https://epub.ub.uni-muenchen.de/2063/1/tr003.pdf} +} + +@article{HOFNER2014MODEL, + title={Model-based boosting in R: a hands-on tutorial using the R package mboost}, + author={Hofner, Benjamin and Mayr, Andreas and Robinzonov, Nikolay and Schmid, Matthias}, + journal={Computational statistics}, + volume={29}, + pages={3--35}, + year={2014}, + publisher={Springer}, + url={https://cran.r-project.org/web/packages/mboost/vignettes/mboost_tutorial.pdf} +} + +@misc{KUMAR2019KAGGLE, + author = {Kumar, Ajay}, + title = {Life Expectancy (WHO)}, + year = {2019}, + publisher = {Kaggle}, + url={https://www.kaggle.com/datasets/kumarajarshi/life-expectancy-who} +} + +@article{KEARNSOUR, + title={Our goals are to offer some simple observations and results that seem related to the above questions, with the eventual goal of resolving the Hypothesis Boosting Problem. We begin with the definitions of strong and weak learnability. Let and?` be parameterized classes of representations of Boolean functions; that is,=}, + author={Kearns, Michael}, + url={https://www.cis.upenn.edu/~mkearns/papers/boostnote.pdf} +} + +@article{SCHAPIRE1990STRENGTH, + title={The strength of weak learnability}, + author={Schapire, Robert E}, + journal={Machine learning}, + volume={5}, + pages={197--227}, + year={1990}, + publisher={Springer}, + url={https://link.springer.com/content/pdf/10.1007/BF00116037.pdf} +} + +@inproceedings{FREUND1996EXPERIMENTS, + title={Experiments with a new boosting algorithm}, + author={Freund, Yoav and Schapire, Robert E and others}, + booktitle={icml}, + volume={96}, + pages={148--156}, + year={1996}, + organization={Citeseer}, + url={https://citeseerx.ist.psu.edu/document?repid=rep1&type=pdf&doi=d186abec952c4348870a73640bf849af9727f5a4} +} \ No newline at end of file diff --git a/slides/boosting/rsrc/ada_vs_forest.RData b/slides/boosting/rsrc/ada_vs_forest.RData old mode 100644 new mode 100755 diff --git a/slides/boosting/rsrc/attic/adaboost_viz_mlr.R b/slides/boosting/rsrc/attic/adaboost_viz_mlr.R old mode 100644 new mode 100755 diff --git a/slides/boosting/rsrc/benchmark.R b/slides/boosting/rsrc/benchmark.R old mode 100644 new mode 100755 diff --git a/slides/boosting/rsrc/benchmark.RData b/slides/boosting/rsrc/benchmark.RData old mode 100644 new mode 100755 diff --git a/slides/boosting/rsrc/boosting-example-datapoints.R b/slides/boosting/rsrc/boosting-example-datapoints.R old mode 100644 new mode 100755 diff --git a/slides/boosting/rsrc/boosting-trees-interaction-example.R b/slides/boosting/rsrc/boosting-trees-interaction-example.R old mode 100644 new mode 100755 diff --git a/slides/boosting/rsrc/boosting_animation_classification.R b/slides/boosting/rsrc/boosting_animation_classification.R old mode 100644 new mode 100755 diff --git a/slides/boosting/rsrc/boosting_animation_gam.R b/slides/boosting/rsrc/boosting_animation_gam.R old mode 100644 new mode 100755 diff --git a/slides/boosting/rsrc/boosting_idea.R b/slides/boosting/rsrc/boosting_idea.R old mode 100644 new mode 100755 diff --git a/slides/boosting/rsrc/boosting_illustration_plot.R b/slides/boosting/rsrc/boosting_illustration_plot.R old mode 100644 new mode 100755 diff --git a/slides/boosting/rsrc/boosting_intro_animation.R b/slides/boosting/rsrc/boosting_intro_animation.R old mode 100644 new mode 100755 diff --git a/slides/boosting/rsrc/cim1_optim.R b/slides/boosting/rsrc/cim1_optim.R old mode 100644 new mode 100755 diff --git a/slides/boosting/rsrc/comparing_methods.R b/slides/boosting/rsrc/comparing_methods.R old mode 100644 new mode 100755 diff --git a/slides/boosting/rsrc/comparing_methods.RData b/slides/boosting/rsrc/comparing_methods.RData old mode 100644 new mode 100755 diff --git a/slides/boosting/rsrc/comparing_methods_result.RData b/slides/boosting/rsrc/comparing_methods_result.RData old mode 100644 new mode 100755 diff --git a/slides/boosting/rsrc/create_df_to_lambda_viz.R b/slides/boosting/rsrc/create_df_to_lambda_viz.R old mode 100644 new mode 100755 diff --git a/slides/boosting/rsrc/create_spam_data.R b/slides/boosting/rsrc/create_spam_data.R old mode 100644 new mode 100755 diff --git a/slides/boosting/rsrc/fig-adaboost-viz-mlr3.R b/slides/boosting/rsrc/fig-adaboost-viz-mlr3.R old mode 100644 new mode 100755 diff --git a/slides/boosting/rsrc/fig-bspline-basis.R b/slides/boosting/rsrc/fig-bspline-basis.R old mode 100644 new mode 100755 diff --git a/slides/boosting/rsrc/fig-centered-bl.R b/slides/boosting/rsrc/fig-centered-bl.R old mode 100644 new mode 100755 diff --git a/slides/boosting/rsrc/fig-compboost-add.R b/slides/boosting/rsrc/fig-compboost-add.R old mode 100644 new mode 100755 diff --git a/slides/boosting/rsrc/fig-compboost-base-learner.R b/slides/boosting/rsrc/fig-compboost-base-learner.R old mode 100644 new mode 100755 diff --git a/slides/boosting/rsrc/fig-compboost-blpools.R b/slides/boosting/rsrc/fig-compboost-blpools.R old mode 100644 new mode 100755 diff --git a/slides/boosting/rsrc/fig-compboost-cboost-to-glm.R b/slides/boosting/rsrc/fig-compboost-cboost-to-glm.R old mode 100644 new mode 100755 diff --git a/slides/boosting/rsrc/fig-compboost-illustration.R b/slides/boosting/rsrc/fig-compboost-illustration.R old mode 100644 new mode 100755 diff --git a/slides/boosting/rsrc/fig-cwb-anim.R b/slides/boosting/rsrc/fig-cwb-anim.R old mode 100644 new mode 100755 diff --git a/slides/boosting/rsrc/fig-cwb-intercept-handling.R b/slides/boosting/rsrc/fig-cwb-intercept-handling.R old mode 100644 new mode 100755 diff --git a/slides/boosting/rsrc/fig-gb-anim.R b/slides/boosting/rsrc/fig-gb-anim.R old mode 100644 new mode 100755 diff --git a/slides/boosting/rsrc/fig-gb-concept-idea.R b/slides/boosting/rsrc/fig-gb-concept-idea.R old mode 100644 new mode 100755 diff --git a/slides/boosting/rsrc/fig-gb-concept-pseudo-resi.R b/slides/boosting/rsrc/fig-gb-concept-pseudo-resi.R old mode 100644 new mode 100755 diff --git a/slides/boosting/rsrc/fig-gb-concept.R b/slides/boosting/rsrc/fig-gb-concept.R old mode 100644 new mode 100755 diff --git a/slides/boosting/rsrc/fig-gb-sine.R b/slides/boosting/rsrc/fig-gb-sine.R old mode 100644 new mode 100755 diff --git a/slides/boosting/rsrc/fig-gbm-regu-oversmoothing-overfitting.R b/slides/boosting/rsrc/fig-gbm-regu-oversmoothing-overfitting.R old mode 100644 new mode 100755 diff --git a/slides/boosting/rsrc/fig-gbm-spam-data.RDS b/slides/boosting/rsrc/fig-gbm-spam-data.RDS old mode 100644 new mode 100755 diff --git a/slides/boosting/rsrc/fig-gbm-spam.R b/slides/boosting/rsrc/fig-gbm-spam.R old mode 100644 new mode 100755 diff --git a/slides/boosting/rsrc/fig-loss-huber-delta.R b/slides/boosting/rsrc/fig-loss-huber-delta.R old mode 100644 new mode 100755 diff --git a/slides/boosting/rsrc/fig-regr-illustration.R b/slides/boosting/rsrc/fig-regr-illustration.R old mode 100644 new mode 100755 diff --git a/slides/boosting/rsrc/fig-rf-vs-adaboost.R b/slides/boosting/rsrc/fig-rf-vs-adaboost.R old mode 100644 new mode 100755 diff --git a/slides/boosting/rsrc/gbm_spam_defs.R b/slides/boosting/rsrc/gbm_spam_defs.R old mode 100644 new mode 100755 diff --git a/slides/boosting/rsrc/gbm_spam_exps.R b/slides/boosting/rsrc/gbm_spam_exps.R old mode 100644 new mode 100755 diff --git a/slides/boosting/rsrc/gbm_spam_imp_ggplot.pdf b/slides/boosting/rsrc/gbm_spam_imp_ggplot.pdf old mode 100644 new mode 100755 diff --git a/slides/boosting/rsrc/gbm_spam_results.R b/slides/boosting/rsrc/gbm_spam_results.R old mode 100644 new mode 100755 diff --git a/slides/boosting/rsrc/gbm_spam_results.RData b/slides/boosting/rsrc/gbm_spam_results.RData old mode 100644 new mode 100755 diff --git a/slides/boosting/rsrc/gbm_spam_results_long.RData b/slides/boosting/rsrc/gbm_spam_results_long.RData old mode 100644 new mode 100755 diff --git a/slides/boosting/rsrc/gbm_spam_vars.txt b/slides/boosting/rsrc/gbm_spam_vars.txt old mode 100644 new mode 100755 diff --git a/slides/boosting/rsrc/make_boosting_animation_multiclass_plots.R b/slides/boosting/rsrc/make_boosting_animation_multiclass_plots.R old mode 100644 new mode 100755 diff --git a/slides/boosting/rsrc/make_iris_ds_plot.R b/slides/boosting/rsrc/make_iris_ds_plot.R old mode 100644 new mode 100755 diff --git a/slides/boosting/rsrc/make_split_finding_plots.R b/slides/boosting/rsrc/make_split_finding_plots.R old mode 100644 new mode 100755 diff --git a/slides/boosting/rsrc/model_best_spam.rds b/slides/boosting/rsrc/model_best_spam.rds old mode 100644 new mode 100755 diff --git a/slides/boosting/rsrc/numbers_on_slides.R b/slides/boosting/rsrc/numbers_on_slides.R old mode 100644 new mode 100755 diff --git a/slides/boosting/rsrc/plotLearnerPrediction.R b/slides/boosting/rsrc/plotLearnerPrediction.R old mode 100644 new mode 100755 diff --git a/slides/boosting/rsrc/pseudo_boosting.R b/slides/boosting/rsrc/pseudo_boosting.R old mode 100644 new mode 100755 diff --git a/slides/boosting/rsrc/spam.RData b/slides/boosting/rsrc/spam.RData old mode 100644 new mode 100755 diff --git a/slides/boosting/rsrc/spam_example.R b/slides/boosting/rsrc/spam_example.R old mode 100644 new mode 100755 diff --git a/slides/boosting/rsrc/spam_example.RData b/slides/boosting/rsrc/spam_example.RData old mode 100644 new mode 100755 diff --git a/slides/boosting/rsrc/stump_plots.R b/slides/boosting/rsrc/stump_plots.R old mode 100644 new mode 100755 diff --git a/slides/boosting/slides-boosting-cwb-advanced.tex b/slides/boosting/slides-boosting-cwb-advanced.tex old mode 100644 new mode 100755 index 60ae60d7..03400c31 --- a/slides/boosting/slides-boosting-cwb-advanced.tex +++ b/slides/boosting/slides-boosting-cwb-advanced.tex @@ -5,22 +5,23 @@ \input{../../latex-math/ml-ensembles.tex} \input{../../latex-math/ml-trees.tex} -\newcommand{\titlefigure}{figure/compboost-illustration-2.png} -\newcommand{\learninggoals}{ +\title{Introduction to Machine Learning} + +\begin{document} + +\titlemeta{% Chunk title (example: CART, Forests, Boosting, ...), can be empty + Boosting + }{% Lecture title + Gradient Boosting: Advanced CWB + }{% Relative path to title page image: Can be empty but must not start with slides/ + figure/compboost-illustration-2.png + }{ \item Details of nonlinear BLs and splines \item Decomposition for splines \item Fair base learner selection \item Feature importance and PDPs } -\title{Introduction to Machine Learning} -\date{} - -\begin{document} - -\lecturechapter{Gradient Boosting: Advanced CWB} -\lecture{Introduction to Machine Learning} - % ------------------------------------------------------------------------------ \begin{vbframe}{Nonlinear base learners} @@ -91,7 +92,7 @@ %\lz -\citebutton{Kneib~et~al., 2009}{https://epub.ub.uni-muenchen.de/2063/1/tr003.pdf} %Kneib~et~al. (2009) +\citelink{KNEIB2009VARIABLE} %Kneib~et~al. (2009) proposed a decomposition of each base learner into a constant, a linear and a nonlinear part. The boosting algorithm will automatically decide which feature to include -- @@ -237,7 +238,7 @@ % It is possible to calculate $\lambda_j$ by applying the Demmler-Reinsch % orthogonalization (see % \citebutton{Hofer et al. (2011)}{https://www.tandfonline.com/doi/abs/10.1198/jcgs.2011.0922}). - +% % link invalid % % (see Hofer et. al. (2011).\textit{\enquote{A framework for unbiased model selection based on boosting.}}). % Consider the following example of a GAM using splines with 24 B-Spline basis functions: diff --git a/slides/boosting/slides-boosting-cwb-basics.tex b/slides/boosting/slides-boosting-cwb-basics.tex old mode 100644 new mode 100755 index 7b26810d..b26f08fa --- a/slides/boosting/slides-boosting-cwb-basics.tex +++ b/slides/boosting/slides-boosting-cwb-basics.tex @@ -8,21 +8,21 @@ \usepackage{dsfont} \usepackage{transparent} -\newcommand{\titlefigure}{figure/compboost-illustration-2.png} -\newcommand{\learninggoals}{ - \item Concept of CWB - \item Which base learners do we use - \item Built-in feature selection -} - \title{Introduction to Machine Learning} -\date{} \begin{document} -\lecturechapter{Gradient Boosting: CWB Basics 1} -\lecture{Introduction to Machine Learning} - +\titlemeta{% Chunk title (example: CART, Forests, Boosting, ...), can be empty + Boosting + }{% Lecture title + Gradient Boosting: CWB Basics 1 + }{% Relative path to title page image: Can be empty but must not start with slides/ + figure/compboost-illustration-2.png + }{ + \item Concept of CWB + \item Which base learners do we use + \item Built-in feature selection +} % ------------------------------------------------------------------------------ \begin{vbframe}{Componentwise gradient boosting} diff --git a/slides/boosting/slides-boosting-cwb-basics2.tex b/slides/boosting/slides-boosting-cwb-basics2.tex old mode 100644 new mode 100755 index 4d8d7ef9..6736260d --- a/slides/boosting/slides-boosting-cwb-basics2.tex +++ b/slides/boosting/slides-boosting-cwb-basics2.tex @@ -8,8 +8,17 @@ \usepackage{dsfont} \usepackage{transparent} -\newcommand{\titlefigure}{figure/compboost-illustration-2.png} -\newcommand{\learninggoals}{ +\title{Introduction to Machine Learning} + +\begin{document} + +\titlemeta{% Chunk title (example: CART, Forests, Boosting, ...), can be empty + Boosting + }{% Lecture title + Gradient Boosting: CWB Basics 2 + }{% Relative path to title page image: Can be empty but must not start with slides/ + figure/compboost-illustration-2.png + }{ \item Handling of categorical features \item Intercept handling \item Practical example @@ -17,14 +26,6 @@ %\item Fair base learner selection } -\title{Introduction to Machine Learning}\date{} - -\begin{document} - -\lecturechapter{Gradient Boosting: CWB Basics 2} -\lecture{Introduction to Machine Learning} - - \begin{vbframe}{Handling of categorical features} Feature $x_j$ with $G$ categories. Two options for encoding: @@ -105,7 +106,7 @@ \begin{itemize} \setlength{\itemsep}{0.8em} \item {\footnotesize Add BL $b_{\text{int}} = \theta$ as potential candidate considered in each iteration and remove intercept from all linear BLs, i.e., $b_j(\xv) = \theta_j x_j$.} - \item {\footnotesize Final intercept is given as $\fm[0](\xv) + \hat{\theta}$. Linear BLs without intercept only make sense if covariates are centered (see \citebutton{\texttt{mboost}}{https://cran.r-project.org/web/packages/mboost/vignettes/mboost_tutorial.pdf} tutorial, p.~7)} + \item {\footnotesize Final intercept is given as $\fm[0](\xv) + \hat{\theta}$. Linear BLs without intercept only make sense if covariates are centered (see \citelink{HOFNER2014MODEL} tutorial, p.~7)} \end{itemize} %\framebreak @@ -164,7 +165,7 @@ \begin{vbframe}{Example: Life expectancy} -Consider the \texttt{life expectancy} data set (WHO, available on \citebutton{Kaggle}{https://www.kaggle.com/datasets/kumarajarshi/life-expectancy-who})\,: regression task to predict life expectancy. \\ +Consider the \texttt{life expectancy} data set (WHO, available on \citelink{KUMAR2019KAGGLE})\,: regression task to predict life expectancy. \\ \vspace{0.1cm} We fit a CWB model with linear BLs (with intercept) diff --git a/slides/boosting/slides-boosting-cwb-glm.tex b/slides/boosting/slides-boosting-cwb-glm.tex old mode 100644 new mode 100755 index d814ef49..106c2235 --- a/slides/boosting/slides-boosting-cwb-glm.tex +++ b/slides/boosting/slides-boosting-cwb-glm.tex @@ -5,19 +5,19 @@ \input{../../latex-math/ml-ensembles.tex} \input{../../latex-math/ml-trees.tex} -\newcommand{\titlefigure}{figure/compboost-to-glm-iter10000.png} -\newcommand{\learninggoals}{ - \item Understand relationship of CWB and GLM - %\item -} - -\title{Introduction to Machine Learning}\date{} +\title{Introduction to Machine Learning} \begin{document} -\lecturechapter{Gradient Boosting: CWB and GLMs} -\lecture{Introduction to Machine Learning} - +\titlemeta{% Chunk title (example: CART, Forests, Boosting, ...), can be empty + Boosting + }{% Lecture title + Gradient Boosting: CWB and GLMs + }{% Relative path to title page image: Can be empty but must not start with slides/ + figure/compboost-to-glm-iter10000.png + }{ + \item Understand relationship of CWB and GLM +} % ------------------------------------------------------------------------------ \begin{vbframe}{Relation to GLM} diff --git a/slides/boosting/slides-boosting-gbm-classification.tex b/slides/boosting/slides-boosting-gbm-classification.tex old mode 100644 new mode 100755 index 0c7916e2..47cc53e3 --- a/slides/boosting/slides-boosting-gbm-classification.tex +++ b/slides/boosting/slides-boosting-gbm-classification.tex @@ -5,21 +5,21 @@ \input{../../latex-math/ml-ensembles.tex} \input{../../latex-math/ml-trees.tex} -\newcommand{\titlefigure}{figure_man/boosting_classif_title.PNG} -\newcommand{\learninggoals}{ - \item GB for binary classification simply uses - Bernoulli or exponential loss - \item For multiclass we fit $g$ discriminant functions in parallel -} - \title{Introduction to Machine Learning} -\date{} \begin{document} -\lecturechapter{Gradient Boosting: Classification} -\lecture{Introduction to Machine Learning} - +\titlemeta{% Chunk title (example: CART, Forests, Boosting, ...), can be empty + Boosting + }{% Lecture title + Gradient Boosting: Classification + }{% Relative path to title page image: Can be empty but must not start with slides/ + figure/boosting_classif_title.png + }{ + \item GB for binary classification simply uses + Bernoulli or exponential loss + \item For multiclass we fit $g$ discriminant functions in parallel +} \begin{vbframe}{Binary classification} diff --git a/slides/boosting/slides-boosting-gbm-regularization.tex b/slides/boosting/slides-boosting-gbm-regularization.tex old mode 100644 new mode 100755 index cf4b0132..6e2c2a38 --- a/slides/boosting/slides-boosting-gbm-regularization.tex +++ b/slides/boosting/slides-boosting-gbm-regularization.tex @@ -5,22 +5,21 @@ \input{../../latex-math/ml-ensembles.tex} \input{../../latex-math/ml-trees.tex} -\newcommand{\titlefigure}{figure/gbm_sine_title} -\newcommand{\learninggoals}{ - \item Learn about three main regularization options: number of iterations, - tree depth and shrinkage - \item Understand how regularization influences model fit -} - \title{Introduction to Machine Learning} -\date{} \begin{document} -\lecturechapter{Gradient Boosting: Regularization} -\lecture{Introduction to Machine Learning} - - +\titlemeta{% Chunk title (example: CART, Forests, Boosting, ...), can be empty + Boosting + }{% Lecture title + Gradient Boosting: Regularization + }{% Relative path to title page image: Can be empty but must not start with slides/ + figure/gbm_sine_title.png + }{ + \item Learn about three main regularization options: number of iterations, + tree depth and shrinkage + \item Understand how regularization influences model fit +} \begin{vbframe}{Iters, Tree Depth, Learn Rate} diff --git a/slides/boosting/slides-boosting-gbm-with-trees-1.tex b/slides/boosting/slides-boosting-gbm-with-trees-1.tex old mode 100644 new mode 100755 index 02fca8e7..a48bc69a --- a/slides/boosting/slides-boosting-gbm-with-trees-1.tex +++ b/slides/boosting/slides-boosting-gbm-with-trees-1.tex @@ -5,20 +5,20 @@ \input{../../latex-math/ml-ensembles.tex} \input{../../latex-math/ml-trees.tex} -\newcommand{\titlefigure}{figure/gbm_anim_51.png} -\newcommand{\learninggoals}{ - \item Examples for GB with trees - \item Understand relationship between model structure and interaction depth -} - \title{Introduction to Machine Learning} -\date{} \begin{document} -\lecturechapter{Gradient Boosting with Trees 1} -\lecture{Introduction to Machine Learning} - +\titlemeta{% Chunk title (example: CART, Forests, Boosting, ...), can be empty + Boosting + }{% Lecture title + Gradient Boosting with Trees 1 + }{% Relative path to title page image: Can be empty but must not start with slides/ + figure/gbm_anim_51.png + }{ + \item Examples for GB with trees + \item Understand relationship between model structure and interaction depth +} % ------------------------------------------------------------------------------ \begin{vbframe}{Gradient boosting with trees} diff --git a/slides/boosting/slides-boosting-gbm-with-trees-2.tex b/slides/boosting/slides-boosting-gbm-with-trees-2.tex old mode 100644 new mode 100755 index 8c6fe309..b50b8451 --- a/slides/boosting/slides-boosting-gbm-with-trees-2.tex +++ b/slides/boosting/slides-boosting-gbm-with-trees-2.tex @@ -5,20 +5,20 @@ \input{../../latex-math/ml-ensembles.tex} \input{../../latex-math/ml-trees.tex} -\newcommand{\titlefigure}{figure_man/gbm_leaf_adjustment.pdf} -\newcommand{\learninggoals}{ - \item Loss optimal terminal coefficients - \item GB with trees for multiclass problems -} - \title{Introduction to Machine Learning} -\date{} \begin{document} -\lecturechapter{Gradient Boosting with Trees 2} -\lecture{Introduction to Machine Learning} - +\titlemeta{% Chunk title (example: CART, Forests, Boosting, ...), can be empty + Boosting + }{% Lecture title + Gradient Boosting with Trees 2 + }{% Relative path to title page image: Can be empty but must not start with slides/ + figure/gbm_leaf_adjustment.pdf + }{ + \item Loss optimal terminal coefficients + \item GB with trees for multiclass problems +} % ------------------------------------------------------------------------------ diff --git a/slides/boosting/slides-boosting-gradient-boosting-concept.tex b/slides/boosting/slides-boosting-gradient-boosting-concept.tex old mode 100644 new mode 100755 index 3bcefee1..8a2a8c52 --- a/slides/boosting/slides-boosting-gradient-boosting-concept.tex +++ b/slides/boosting/slides-boosting-gradient-boosting-concept.tex @@ -5,21 +5,20 @@ \input{../../latex-math/ml-ensembles.tex} \input{../../latex-math/ml-trees.tex} -\newcommand{\titlefigure}{figure/fig-gb-concept-2.png} -\newcommand{\learninggoals}{ - \item Understand idea of forward stagewise modelling - \item Understand fitting process of gradient boosting for regression problems -} - \title{Introduction to Machine Learning} -\date{} \begin{document} -\lecturechapter{Gradient Boosting: Concept} -\lecture{Introduction to Machine Learning} - - +\titlemeta{% Chunk title (example: CART, Forests, Boosting, ...), can be empty + Boosting + }{% Lecture title + Gradient Boosting: Concept + }{% Relative path to title page image: Can be empty but must not start with slides/ + figure/fig-gb-concept-2.png + }{ + \item Understand idea of forward stagewise modelling + \item Understand fitting process of gradient boosting for regression problems +} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \section{Gradient Boosting} diff --git a/slides/boosting/slides-boosting-intro-adaboost.tex b/slides/boosting/slides-boosting-intro-adaboost.tex old mode 100644 new mode 100755 index 09286a2e..9965be95 --- a/slides/boosting/slides-boosting-intro-adaboost.tex +++ b/slides/boosting/slides-boosting-intro-adaboost.tex @@ -5,22 +5,21 @@ \input{../../latex-math/ml-ensembles.tex} \input{../../latex-math/ml-trees.tex} -\newcommand{\titlefigure}{figure_man/adaboost_example_adjusted.png} -\newcommand{\learninggoals}{ - \item Understand general idea of boosting - \item Learn AdaBoost algorithm - \item Understand difference between bagging and boosting -} - - \title{Introduction to Machine Learning} -\date{} \begin{document} -\lecturechapter{Gradient Boosting: Introduction and AdaBoost} -\lecture{Introduction to Machine Learning} - +\titlemeta{% Chunk title (example: CART, Forests, Boosting, ...), can be empty + Boosting + }{% Lecture title + Gradient Boosting: Introduction and AdaBoost + }{% Relative path to title page image: Can be empty but must not start with slides/ + figure_man/adaboost_example_adjusted.png + }{ + \item Understand general idea of boosting + \item Learn AdaBoost algorithm + \item Understand difference between bagging and boosting +} % ------------------------------------------------------------------------------ \begin{vbframe}{Introduction to boosting} @@ -58,13 +57,13 @@ \lz \enquote{Does the existence of a weak learner for a certain problem imply -the existence of a strong learner?} \citebutton{Kearns, 1988}{https://www.cis.upenn.edu/~mkearns/papers/boostnote.pdf} +the existence of a strong learner?} \citelink{KEARNSOUR} \lz \begin{itemize} \item \textbf{Weak learners} are defined as a prediction rule with a correct classification rate that is at least slightly better than random guessing (> 50\% accuracy on a balanced binary problem). -\item We call a learner a \textbf{strong learner} \enquote{if there exists a polynomial-time algorithm that achieves low error with high confidence for all concepts in the class} \citebutton{Schapire, 1990}{https://link.springer.com/content/pdf/10.1007/BF00116037.pdf}. +\item We call a learner a \textbf{strong learner} \enquote{if there exists a polynomial-time algorithm that achieves low error with high confidence for all concepts in the class} \citelink{SCHAPIRE1990STRENGTH}. \end{itemize} @@ -84,7 +83,7 @@ \begin{itemize} \item The \textbf{AdaBoost} (Adaptive Boosting) algorithm is a \textbf{boosting} method - for binary classification by \citebutton{Freund and Schapire (1996)}{https://citeseerx.ist.psu.edu/document?repid=rep1&type=pdf&doi=d186abec952c4348870a73640bf849af9727f5a4}. + for binary classification by \citelink{FREUND1996EXPERIMENTS}. \item The base learner is sequentially applied to weighted training observations. \item After each base learner fit, currently misclassified observations receive a higher weight for the next iteration, so we focus more on instances that are harder to classify. diff --git a/slides/boosting/slides-boosting-lgm-ctbm.tex b/slides/boosting/slides-boosting-lgm-ctbm.tex old mode 100644 new mode 100755 index 62bc4e16..1e8cde9c --- a/slides/boosting/slides-boosting-lgm-ctbm.tex +++ b/slides/boosting/slides-boosting-lgm-ctbm.tex @@ -5,19 +5,20 @@ \input{../../latex-math/ml-ensembles.tex} \input{../../latex-math/ml-trees.tex} -\newcommand{\titlefigure}{figure/split_finding_2.png} -\newcommand{\learninggoals}{ - \item Know extensions of XGBoost and how they differ - \item Understand areas upon which extensions of XGBoost improve -} - \title{Introduction to Machine Learning} -\date{} \begin{document} -\lecturechapter{Gradient Boosting: Modern Techniques} -\lecture{Introduction to Machine Learning} +\titlemeta{% Chunk title (example: CART, Forests, Boosting, ...), can be empty + Boosting + }{% Lecture title + Gradient Boosting: Modern Techniques + }{% Relative path to title page image: Can be empty but must not start with slides/ + figure/split_finding_2.png + }{ + \item Know extensions of XGBoost and how they differ + \item Understand areas upon which extensions of XGBoost improve +} % sources: https://homes.cs.washington.edu/~tqchen/pdf/BoostedTree.pdf % sources: https://towardsdatascience.com/boosting-algorithm-xgboost-4d9ec0207d diff --git a/slides/boosting/slides-boosting-regression-illustrations.tex b/slides/boosting/slides-boosting-regression-illustrations.tex old mode 100644 new mode 100755 index 3cec7cd2..ee3c5ba3 --- a/slides/boosting/slides-boosting-regression-illustrations.tex +++ b/slides/boosting/slides-boosting-regression-illustrations.tex @@ -5,20 +5,20 @@ \input{../../latex-math/ml-ensembles.tex} \input{../../latex-math/ml-trees.tex} -\newcommand{\titlefigure}{figure/illustration_title.png} -\newcommand{\learninggoals}{ - \item See simple visualizations of boosting in regression - \item Understand impact of different losses and base learners -} - \title{Introduction to Machine Learning} -\date{} \begin{document} -\lecturechapter{Gradient Boosting: Illustration} -\lecture{Introduction to Machine Learning} - +\titlemeta{% Chunk title (example: CART, Forests, Boosting, ...), can be empty + Boosting + }{% Lecture title + Gradient Boosting: Illustration + }{% Relative path to title page image: Can be empty but must not start with slides/ + figure/illustration_title.png + }{ + \item See simple visualizations of boosting in regression + \item Understand impact of different losses and base learners +} % ------------------------------------------------------------------------------ \begin{vbframe}{Gradient boosting illustration - GAM} diff --git a/slides/boosting/slides-boosting-xgboost-deepdive.tex b/slides/boosting/slides-boosting-xgboost-deepdive.tex old mode 100644 new mode 100755 index 3925b324..c1ff4932 --- a/slides/boosting/slides-boosting-xgboost-deepdive.tex +++ b/slides/boosting/slides-boosting-xgboost-deepdive.tex @@ -5,20 +5,21 @@ \input{../../latex-math/ml-ensembles.tex} \input{../../latex-math/ml-trees.tex} -\newcommand{\titlefigure}{figure/split_finding_2.png} -\newcommand{\learninggoals}{ - \item Understand details of the regularized risk in XGBoost - \item Understand approximation of loss used in optimization - \item Understand split finding algorithm -} - \title{Introduction to Machine Learning} -\date{} \begin{document} -\lecturechapter{Gradient Boosting: Deep Dive XGBoost Optimization} -\lecture{Introduction to Machine Learning} +\titlemeta{% Chunk title (example: CART, Forests, Boosting, ...), can be empty + Boosting + }{% Lecture title + Gradient Boosting: Deep Dive XGBoost Optimization + }{% Relative path to title page image: Can be empty but must not start with slides/ + figure/split_finding_2.png + }{ + \item Understand details of the regularized risk in XGBoost + \item Understand approximation of loss used in optimization + \item Understand split finding algorithm +} \begin{vbframe}{Risk minimization} diff --git a/slides/boosting/slides-boosting-xgboost.tex b/slides/boosting/slides-boosting-xgboost.tex old mode 100644 new mode 100755 index 63810834..5d5fdee2 --- a/slides/boosting/slides-boosting-xgboost.tex +++ b/slides/boosting/slides-boosting-xgboost.tex @@ -5,20 +5,21 @@ \input{../../latex-math/ml-ensembles.tex} \input{../../latex-math/ml-trees.tex} -\newcommand{\titlefigure}{figure/split_finding_2.png} -\newcommand{\learninggoals}{ - \item Overview over XGB - \item Regularization in XGB - \item Approximate split finding -} - \title{Introduction to Machine Learning} -\date{} \begin{document} -\lecturechapter{Gradient Boosting: XGBoost} -\lecture{Introduction to Machine Learning} +\titlemeta{% Chunk title (example: CART, Forests, Boosting, ...), can be empty + Boosting + }{% Lecture title + Gradient Boosting: XGBoost + }{% Relative path to title page image: Can be empty but must not start with slides/ + figure/split_finding_2.png + }{ + \item Overview over XGB + \item Regularization in XGB + \item Approximate split finding +} % sources: https://homes.cs.washington.edu/~tqchen/pdf/BoostedTree.pdf % sources: https://towardsdatascience.com/boosting-algorithm-xgboost-4d9ec0207d diff --git a/slides/boosting/slides-order.txt b/slides/boosting/slides-order.txt old mode 100644 new mode 100755 diff --git a/slides/boosting/tex/cwb-algo-short.tex b/slides/boosting/tex/cwb-algo-short.tex old mode 100644 new mode 100755 diff --git a/slides/boosting/tex/cwb-bl-sel.tex b/slides/boosting/tex/cwb-bl-sel.tex old mode 100644 new mode 100755 diff --git a/slides/boosting/tex/fig-cwb-anim-nl.tex b/slides/boosting/tex/fig-cwb-anim-nl.tex old mode 100644 new mode 100755 diff --git a/slides/boosting/tex/fig-cwb-anim.tex b/slides/boosting/tex/fig-cwb-anim.tex old mode 100644 new mode 100755 diff --git a/slides/cod/Makefile b/slides/cod/Makefile old mode 100644 new mode 100755 diff --git a/slides/cod/chapter-order.tex b/slides/cod/chapter-order.tex old mode 100644 new mode 100755 diff --git a/slides/cod/figure/2d_normal_plot.png b/slides/cod/figure/2d_normal_plot.png old mode 100644 new mode 100755 diff --git a/slides/cod/figure/capital_letters_3d_plot.png b/slides/cod/figure/capital_letters_3d_plot.png old mode 100644 new mode 100755 diff --git a/slides/cod/figure/capital_letters_plot.png b/slides/cod/figure/capital_letters_plot.png old mode 100644 new mode 100755 diff --git a/slides/cod/figure/cursed_dim_fraction_edge_plot.png b/slides/cod/figure/cursed_dim_fraction_edge_plot.png old mode 100644 new mode 100755 diff --git a/slides/cod/figure/exclamation_marks_plot.png b/slides/cod/figure/exclamation_marks_plot.png old mode 100644 new mode 100755 diff --git a/slides/cod/figure/gauss_high_dim_hist_plot.png b/slides/cod/figure/gauss_high_dim_hist_plot.png old mode 100644 new mode 100755 diff --git a/slides/cod/figure/high_dim_cube_plot.png b/slides/cod/figure/high_dim_cube_plot.png old mode 100644 new mode 100755 diff --git a/slides/cod/figure/knn_contrast_locality_plot.png b/slides/cod/figure/knn_contrast_locality_plot.png old mode 100644 new mode 100755 diff --git a/slides/cod/figure/knn_density_plot.png b/slides/cod/figure/knn_density_plot.png old mode 100644 new mode 100755 diff --git a/slides/cod/figure/knn_error_plot.png b/slides/cod/figure/knn_error_plot.png old mode 100644 new mode 100755 diff --git a/slides/cod/figure/knn_misclassification_plot.png b/slides/cod/figure/knn_misclassification_plot.png old mode 100644 new mode 100755 diff --git a/slides/cod/figure/knn_table.png b/slides/cod/figure/knn_table.png old mode 100644 new mode 100755 diff --git a/slides/cod/figure/lm_mse_plot.png b/slides/cod/figure/lm_mse_plot.png old mode 100644 new mode 100755 diff --git a/slides/cod/figure/lm_noise_plot.png b/slides/cod/figure/lm_noise_plot.png old mode 100644 new mode 100755 diff --git a/slides/cod/figure/manifold_plot.png b/slides/cod/figure/manifold_plot.png old mode 100644 new mode 100755 diff --git a/slides/cod/figure/vol_dim_plot.png b/slides/cod/figure/vol_dim_plot.png old mode 100644 new mode 100755 diff --git a/slides/cod/figure_man/exponentialcubes.png b/slides/cod/figure_man/exponentialcubes.png old mode 100644 new mode 100755 diff --git a/slides/cod/figure_man/hypercube.png b/slides/cod/figure_man/hypercube.png old mode 100644 new mode 100755 diff --git a/slides/cod/figure_man/orange.png b/slides/cod/figure_man/orange.png old mode 100644 new mode 100755 diff --git a/slides/cod/figure_man/sphere_in_cube.png b/slides/cod/figure_man/sphere_in_cube.png old mode 100644 new mode 100755 diff --git a/slides/cod/rsrc/curseofdim.R b/slides/cod/rsrc/curseofdim.R old mode 100644 new mode 100755 diff --git a/slides/cod/rsrc/datasets/cod_lm.R b/slides/cod/rsrc/datasets/cod_lm.R old mode 100644 new mode 100755 diff --git a/slides/cod/rsrc/datasets/cod_lm_cond.rds b/slides/cod/rsrc/datasets/cod_lm_cond.rds old mode 100644 new mode 100755 diff --git a/slides/cod/rsrc/datasets/cod_lm_noise.R b/slides/cod/rsrc/datasets/cod_lm_noise.R old mode 100644 new mode 100755 diff --git a/slides/cod/rsrc/datasets/cod_lm_noise.rds b/slides/cod/rsrc/datasets/cod_lm_noise.rds old mode 100644 new mode 100755 diff --git a/slides/cod/rsrc/datasets/cod_lm_rpart.rds b/slides/cod/rsrc/datasets/cod_lm_rpart.rds old mode 100644 new mode 100755 diff --git a/slides/cod/rsrc/datasets/distances.rds b/slides/cod/rsrc/datasets/distances.rds old mode 100644 new mode 100755 diff --git a/slides/cod/rsrc/datasets/distances_dataset.rds b/slides/cod/rsrc/datasets/distances_dataset.rds old mode 100644 new mode 100755 diff --git a/slides/cod/rsrc/datasets/knn_misclassification_dataset.rds b/slides/cod/rsrc/datasets/knn_misclassification_dataset.rds old mode 100644 new mode 100755 diff --git a/slides/cod/rsrc/datasets/lm_mse_dataset.rds b/slides/cod/rsrc/datasets/lm_mse_dataset.rds old mode 100644 new mode 100755 diff --git a/slides/cod/rsrc/datasets/lm_noise_dataset.rds b/slides/cod/rsrc/datasets/lm_noise_dataset.rds old mode 100644 new mode 100755 diff --git a/slides/cod/rsrc/datasets/make_distances_dataset.R b/slides/cod/rsrc/datasets/make_distances_dataset.R old mode 100644 new mode 100755 diff --git a/slides/cod/rsrc/datasets/make_knn_misclassification_dataset.R b/slides/cod/rsrc/datasets/make_knn_misclassification_dataset.R old mode 100644 new mode 100755 diff --git a/slides/cod/rsrc/datasets/make_lm_mse_dataset.R b/slides/cod/rsrc/datasets/make_lm_mse_dataset.R old mode 100644 new mode 100755 diff --git a/slides/cod/rsrc/datasets/make_lm_noise_dataset.R b/slides/cod/rsrc/datasets/make_lm_noise_dataset.R old mode 100644 new mode 100755 diff --git a/slides/cod/rsrc/helpers/constants.R b/slides/cod/rsrc/helpers/constants.R old mode 100644 new mode 100755 diff --git a/slides/cod/rsrc/helpers/data_generators.R b/slides/cod/rsrc/helpers/data_generators.R old mode 100644 new mode 100755 diff --git a/slides/cod/rsrc/helpers/utilities.R b/slides/cod/rsrc/helpers/utilities.R old mode 100644 new mode 100755 diff --git a/slides/cod/rsrc/make_2d_normal_plot.R b/slides/cod/rsrc/make_2d_normal_plot.R old mode 100644 new mode 100755 diff --git a/slides/cod/rsrc/make_capital_letters_3d_plot.R b/slides/cod/rsrc/make_capital_letters_3d_plot.R old mode 100644 new mode 100755 diff --git a/slides/cod/rsrc/make_capital_letters_plot.R b/slides/cod/rsrc/make_capital_letters_plot.R old mode 100644 new mode 100755 diff --git a/slides/cod/rsrc/make_cursed_dim_fraction_edge_plot.R b/slides/cod/rsrc/make_cursed_dim_fraction_edge_plot.R old mode 100644 new mode 100755 diff --git a/slides/cod/rsrc/make_exclamation_marks_plot.R b/slides/cod/rsrc/make_exclamation_marks_plot.R old mode 100644 new mode 100755 diff --git a/slides/cod/rsrc/make_gauss_high_dim_hist_plot.R b/slides/cod/rsrc/make_gauss_high_dim_hist_plot.R old mode 100644 new mode 100755 diff --git a/slides/cod/rsrc/make_high_dim_cube_plot.R b/slides/cod/rsrc/make_high_dim_cube_plot.R old mode 100644 new mode 100755 diff --git a/slides/cod/rsrc/make_knn_contrast_locality_plot.R b/slides/cod/rsrc/make_knn_contrast_locality_plot.R old mode 100644 new mode 100755 diff --git a/slides/cod/rsrc/make_knn_density_plot.R b/slides/cod/rsrc/make_knn_density_plot.R old mode 100644 new mode 100755 diff --git a/slides/cod/rsrc/make_knn_error_plot.R b/slides/cod/rsrc/make_knn_error_plot.R old mode 100644 new mode 100755 diff --git a/slides/cod/rsrc/make_knn_misclassification_plot.R b/slides/cod/rsrc/make_knn_misclassification_plot.R old mode 100644 new mode 100755 diff --git a/slides/cod/rsrc/make_knn_table.R b/slides/cod/rsrc/make_knn_table.R old mode 100644 new mode 100755 diff --git a/slides/cod/rsrc/make_lm_mse_plot.R b/slides/cod/rsrc/make_lm_mse_plot.R old mode 100644 new mode 100755 diff --git a/slides/cod/rsrc/make_lm_noise_plot.R b/slides/cod/rsrc/make_lm_noise_plot.R old mode 100644 new mode 100755 diff --git a/slides/cod/rsrc/make_manifold_plot.R b/slides/cod/rsrc/make_manifold_plot.R old mode 100644 new mode 100755 diff --git a/slides/cod/rsrc/make_vol_dim_plot.R b/slides/cod/rsrc/make_vol_dim_plot.R old mode 100644 new mode 100755 diff --git a/slides/cod/rsrc/reg_l12.R b/slides/cod/rsrc/reg_l12.R old mode 100644 new mode 100755 diff --git a/slides/cod/rsrc/regularized_log_reg.R b/slides/cod/rsrc/regularized_log_reg.R old mode 100644 new mode 100755 diff --git a/slides/cod/rsrc/ridge_polynomial_reg.R b/slides/cod/rsrc/ridge_polynomial_reg.R old mode 100644 new mode 100755 diff --git a/slides/cod/slides-cod-examples.tex b/slides/cod/slides-cod-examples.tex old mode 100644 new mode 100755 index 640540d4..d0b5e33b --- a/slides/cod/slides-cod-examples.tex +++ b/slides/cod/slides-cod-examples.tex @@ -3,19 +3,19 @@ \input{../../latex-math/basic-math} \input{../../latex-math/basic-ml} -\newcommand{\titlefigure}{figure/knn_density_plot.png} -\newcommand{\learninggoals}{ - \item See how the performance of k-NN and the linear model deteriorates in high-dimensional spaces -} - \title{Introduction to Machine Learning} -\date{} \begin{document} - -\lecturechapter{Curse of Dimensionality - Examples Learning Algorithms} -\lecture{Introduction to Machine Learning} - + +\titlemeta{% Chunk title (example: CART, Forests, Boosting, ...), can be empty + Curse of Dimensionality + }{% Lecture title + Curse of Dimensionality - Examples Learning Algorithms + }{% Relative path to title page image: Can be empty but must not start with slides/ + figure/knn_density_plot.png + }{ + \item See how the performance of k-NN and the linear model deteriorates in high-dimensional spaces +} \begin{vbframe}{Example: k-NN} diff --git a/slides/cod/slides-cod.tex b/slides/cod/slides-cod.tex old mode 100644 new mode 100755 index 9494804b..23e1ad69 --- a/slides/cod/slides-cod.tex +++ b/slides/cod/slides-cod.tex @@ -3,21 +3,20 @@ \input{../../latex-math/basic-math} \input{../../latex-math/basic-ml} -\newcommand{\titlefigure}{figure_man/hypercube.png} -\newcommand{\learninggoals}{ - \item Understand that our intuition about geometry fails in high-dimensional spaces - \item Understand the effects of the curse of dimensionality -} - \title{Introduction to Machine Learning} -\date{} \begin{document} - -\lecturechapter{Curse of Dimensionality} -\lecture{Introduction to Machine Learning} - - + +\titlemeta{% Chunk title (example: CART, Forests, Boosting, ...), can be empty + Curse of Dimensionality + }{% Lecture title + Curse of Dimensionality + }{% Relative path to title page image: Can be empty but must not start with slides/ + figure_man/hypercube.png + }{ + \item Understand that our intuition about geometry fails in high-dimensional spaces + \item Understand the effects of the curse of dimensionality +} \begin{vbframe}{Curse of dimensionality} diff --git a/slides/feature-selection/Makefile b/slides/feature-selection/Makefile old mode 100644 new mode 100755 diff --git a/slides/feature-selection/chapter-order.tex b/slides/feature-selection/chapter-order.tex old mode 100644 new mode 100755 diff --git a/slides/feature-selection/figure/avoid_overfitting_02.png b/slides/feature-selection/figure/avoid_overfitting_02.png old mode 100644 new mode 100755 diff --git a/slides/feature-selection/figure/filter_comparison_har_classif.kknn.png b/slides/feature-selection/figure/filter_comparison_har_classif.kknn.png old mode 100644 new mode 100755 diff --git a/slides/feature-selection/figure/fs-auc-barplot.png b/slides/feature-selection/figure/fs-auc-barplot.png old mode 100644 new mode 100755 diff --git a/slides/feature-selection/figure/fs-filters-scree-plot.png b/slides/feature-selection/figure/fs-filters-scree-plot.png old mode 100644 new mode 100755 diff --git a/slides/feature-selection/figure/fs-micro-array.png b/slides/feature-selection/figure/fs-micro-array.png old mode 100644 new mode 100755 diff --git a/slides/feature-selection/figure/fs-roc-curve.png b/slides/feature-selection/figure/fs-roc-curve.png old mode 100644 new mode 100755 diff --git a/slides/feature-selection/figure/fs-t-test.png b/slides/feature-selection/figure/fs-t-test.png old mode 100644 new mode 100755 diff --git a/slides/feature-selection/figure/fs-wrappers-backwards-powerset-tree-4.png b/slides/feature-selection/figure/fs-wrappers-backwards-powerset-tree-4.png old mode 100644 new mode 100755 diff --git a/slides/feature-selection/figure/fs-wrappers-powerset-all-1.png b/slides/feature-selection/figure/fs-wrappers-powerset-all-1.png old mode 100644 new mode 100755 diff --git a/slides/feature-selection/figure/fs-wrappers-powerset-all-2.png b/slides/feature-selection/figure/fs-wrappers-powerset-all-2.png old mode 100644 new mode 100755 diff --git a/slides/feature-selection/figure/fs-wrappers-powerset-all-3.png b/slides/feature-selection/figure/fs-wrappers-powerset-all-3.png old mode 100644 new mode 100755 diff --git a/slides/feature-selection/figure/fs-wrappers-powerset-all-4.png b/slides/feature-selection/figure/fs-wrappers-powerset-all-4.png old mode 100644 new mode 100755 diff --git a/slides/feature-selection/figure/fs-wrappers-powerset-tree-1.png b/slides/feature-selection/figure/fs-wrappers-powerset-tree-1.png old mode 100644 new mode 100755 diff --git a/slides/feature-selection/figure/fs-wrappers-powerset-tree-2.png b/slides/feature-selection/figure/fs-wrappers-powerset-tree-2.png old mode 100644 new mode 100755 diff --git a/slides/feature-selection/figure/fs-wrappers-powerset-tree-3.png b/slides/feature-selection/figure/fs-wrappers-powerset-tree-3.png old mode 100644 new mode 100755 diff --git a/slides/feature-selection/figure/fs-wrappers-powerset-tree-4.png b/slides/feature-selection/figure/fs-wrappers-powerset-tree-4.png old mode 100644 new mode 100755 diff --git a/slides/feature-selection/figure/gene-data-points.pdf b/slides/feature-selection/figure/gene-data-points.pdf old mode 100644 new mode 100755 diff --git a/slides/feature-selection/figure/genetic-alg.png b/slides/feature-selection/figure/genetic-alg.png old mode 100644 new mode 100755 diff --git a/slides/feature-selection/figure/greedy-forwards-search.png b/slides/feature-selection/figure/greedy-forwards-search.png old mode 100644 new mode 100755 diff --git a/slides/feature-selection/figure/guyon_example_correlation.png b/slides/feature-selection/figure/guyon_example_correlation.png old mode 100644 new mode 100755 diff --git a/slides/feature-selection/figure/guyon_example_intra_class_covariance.png b/slides/feature-selection/figure/guyon_example_intra_class_covariance.png old mode 100644 new mode 100755 diff --git a/slides/feature-selection/figure/guyon_example_intra_class_covariance_perpendicular.png b/slides/feature-selection/figure/guyon_example_intra_class_covariance_perpendicular.png old mode 100644 new mode 100755 diff --git a/slides/feature-selection/figure/guyon_example_presumably_redundant.png b/slides/feature-selection/figure/guyon_example_presumably_redundant.png old mode 100644 new mode 100755 diff --git a/slides/feature-selection/figure/guyon_example_presumably_redundant_rotated.png b/slides/feature-selection/figure/guyon_example_presumably_redundant_rotated.png old mode 100644 new mode 100755 diff --git a/slides/feature-selection/figure/guyon_example_xor.png b/slides/feature-selection/figure/guyon_example_xor.png old mode 100644 new mode 100755 diff --git a/slides/feature-selection/figure/regu_example_lasso_ridge.png b/slides/feature-selection/figure/regu_example_lasso_ridge.png old mode 100644 new mode 100755 diff --git a/slides/feature-selection/figure/searchspace_binary.png b/slides/feature-selection/figure/searchspace_binary.png old mode 100644 new mode 100755 diff --git a/slides/feature-selection/figure/var-selection1.png b/slides/feature-selection/figure/var-selection1.png old mode 100644 new mode 100755 diff --git a/slides/feature-selection/figure/var-selection2.png b/slides/feature-selection/figure/var-selection2.png old mode 100644 new mode 100755 diff --git a/slides/feature-selection/figure_man/chunk2_filter_correlation.png b/slides/feature-selection/figure_man/chunk2_filter_correlation.png old mode 100644 new mode 100755 diff --git a/slides/feature-selection/figure_man/correlation_example.png b/slides/feature-selection/figure_man/correlation_example.png old mode 100644 new mode 100755 diff --git a/slides/feature-selection/figure_man/distance-corre.png b/slides/feature-selection/figure_man/distance-corre.png old mode 100644 new mode 100755 diff --git a/slides/feature-selection/figure_man/feat_extraction.png b/slides/feature-selection/figure_man/feat_extraction.png old mode 100644 new mode 100755 diff --git a/slides/feature-selection/figure_man/feat_sel.png b/slides/feature-selection/figure_man/feat_sel.png old mode 100644 new mode 100755 diff --git a/slides/feature-selection/figure_man/feat_sel_vs_feat_extraction.png b/slides/feature-selection/figure_man/feat_sel_vs_feat_extraction.png old mode 100644 new mode 100755 diff --git a/slides/feature-selection/figure_man/feature_extraction.png b/slides/feature-selection/figure_man/feature_extraction.png old mode 100644 new mode 100755 diff --git a/slides/feature-selection/figure_man/feature_sel_vs_extr.png b/slides/feature-selection/figure_man/feature_sel_vs_extr.png old mode 100644 new mode 100755 diff --git a/slides/feature-selection/figure_man/feature_selection.png b/slides/feature-selection/figure_man/feature_selection.png old mode 100644 new mode 100755 diff --git a/slides/feature-selection/figure_man/feature_selection_vs_extraction.pptx b/slides/feature-selection/figure_man/feature_selection_vs_extraction.pptx old mode 100644 new mode 100755 diff --git a/slides/feature-selection/figure_man/tibshirani_fig_18_1.png b/slides/feature-selection/figure_man/tibshirani_fig_18_1.png old mode 100644 new mode 100755 diff --git a/slides/feature-selection/figure_man/tibshirani_fig_18_1_mod.png b/slides/feature-selection/figure_man/tibshirani_fig_18_1_mod.png old mode 100644 new mode 100755 diff --git a/slides/feature-selection/figure_man/tibshirani_fig_18_4.png b/slides/feature-selection/figure_man/tibshirani_fig_18_4.png old mode 100644 new mode 100755 diff --git a/slides/feature-selection/figure_man/tibshirani_tab_18_1.png b/slides/feature-selection/figure_man/tibshirani_tab_18_1.png old mode 100644 new mode 100755 diff --git a/slides/feature-selection/figure_man/varsel_ex0.png b/slides/feature-selection/figure_man/varsel_ex0.png old mode 100644 new mode 100755 diff --git a/slides/feature-selection/figure_man/varsel_ex1.png b/slides/feature-selection/figure_man/varsel_ex1.png old mode 100644 new mode 100755 diff --git a/slides/feature-selection/figure_man/varsel_ex2.png b/slides/feature-selection/figure_man/varsel_ex2.png old mode 100644 new mode 100755 diff --git a/slides/feature-selection/figure_man/varsel_overview.png b/slides/feature-selection/figure_man/varsel_overview.png old mode 100644 new mode 100755 diff --git a/slides/feature-selection/figure_man/varsel_overview.pptx b/slides/feature-selection/figure_man/varsel_overview.pptx old mode 100644 new mode 100755 diff --git a/slides/feature-selection/figure_man/varsel_space.png b/slides/feature-selection/figure_man/varsel_space.png old mode 100644 new mode 100755 diff --git a/slides/feature-selection/figure_man/wrapperanim.R b/slides/feature-selection/figure_man/wrapperanim.R old mode 100644 new mode 100755 diff --git a/slides/feature-selection/figure_man/wrapperanim1.png b/slides/feature-selection/figure_man/wrapperanim1.png old mode 100644 new mode 100755 diff --git a/slides/feature-selection/figure_man/wrapperanim2.png b/slides/feature-selection/figure_man/wrapperanim2.png old mode 100644 new mode 100755 diff --git a/slides/feature-selection/figure_man/wrapperanim3.png b/slides/feature-selection/figure_man/wrapperanim3.png old mode 100644 new mode 100755 diff --git a/slides/feature-selection/figure_man/wrapperanim4.png b/slides/feature-selection/figure_man/wrapperanim4.png old mode 100644 new mode 100755 diff --git a/slides/feature-selection/figure_man/wrapperanim5.png b/slides/feature-selection/figure_man/wrapperanim5.png old mode 100644 new mode 100755 diff --git a/slides/feature-selection/figure_man/wrapperanim6.png b/slides/feature-selection/figure_man/wrapperanim6.png old mode 100644 new mode 100755 diff --git a/slides/feature-selection/references.bib b/slides/feature-selection/references.bib new file mode 100755 index 00000000..fb3bdb10 --- /dev/null +++ b/slides/feature-selection/references.bib @@ -0,0 +1,38 @@ +@article{GUYON2003INTRODUCTION, + title={An introduction to variable and feature selection}, + author={Guyon, Isabelle and Elisseeff, Andr{\'e}}, + journal={Journal of machine learning research}, + volume={3}, + number={Mar}, + pages={1157--1182}, + year={2003}, + url={https://www.jmlr.org/papers/volume3/guyon03a/guyon03a.pdf} +} + +@article{NATARAJAN1995SPARSE, + author={Natarajan, B. K.}, + title={Sparse Approximate Solutions to Linear Systems}, + journal={SIAM Journal on Computing}, + volume={24}, + number={2}, + pages={227-234}, + year={1995}, + doi={10.1137/S0097539792240406}, + url={https://epubs.siam.org/doi/10.1137/S0097539792240406} +} + +@book{MITSUO1996GENETIC, + title={Genetic Algorithms and Engineering Design}, + author={Mitsuo Gen, Runwei Cheng}, + year={1996}, + publisher={John Wiley & Sons}, + isbn={9780470172254}, + url={https://onlinelibrary.wiley.com/doi/book/10.1002/9780470172254} +} + +@misc{OPTIMIZATIONLECTURE, + title={Optimization in Machine Learning - Chapter 08: Evolutionary Algorithms}, + author={slds-lmu}, + year={2021}, + url={https://slds-lmu.github.io/website_optimization/chapters/08_evolutionary/}, +} diff --git a/slides/feature-selection/rscr/chunk2_filter_correlation.R b/slides/feature-selection/rscr/chunk2_filter_correlation.R old mode 100644 new mode 100755 diff --git a/slides/feature-selection/rscr/feature_selection_vs_extraction.R b/slides/feature-selection/rscr/feature_selection_vs_extraction.R old mode 100644 new mode 100755 diff --git a/slides/feature-selection/rscr/filter_examples_data.csv b/slides/feature-selection/rscr/filter_examples_data.csv old mode 100644 new mode 100755 diff --git a/slides/feature-selection/rscr/fs-filters-examples.R b/slides/feature-selection/rscr/fs-filters-examples.R old mode 100644 new mode 100755 diff --git a/slides/feature-selection/rscr/fs-filters-guyon-examples.R b/slides/feature-selection/rscr/fs-filters-guyon-examples.R old mode 100644 new mode 100755 diff --git a/slides/feature-selection/rscr/fs-filters-roc-curve.R b/slides/feature-selection/rscr/fs-filters-roc-curve.R old mode 100644 new mode 100755 diff --git a/slides/feature-selection/rscr/fs-filters-scree-plot.R b/slides/feature-selection/rscr/fs-filters-scree-plot.R old mode 100644 new mode 100755 diff --git a/slides/feature-selection/rscr/fs-filters-t-test.R b/slides/feature-selection/rscr/fs-filters-t-test.R old mode 100644 new mode 100755 diff --git a/slides/feature-selection/rscr/fs-micro-array-plot.R b/slides/feature-selection/rscr/fs-micro-array-plot.R old mode 100644 new mode 100755 diff --git a/slides/feature-selection/rscr/fs-wrappers-visualization.R b/slides/feature-selection/rscr/fs-wrappers-visualization.R old mode 100644 new mode 100755 diff --git a/slides/feature-selection/rscr/ggsave-2.R b/slides/feature-selection/rscr/ggsave-2.R old mode 100644 new mode 100755 diff --git a/slides/feature-selection/rscr/scree-plot-data.csv b/slides/feature-selection/rscr/scree-plot-data.csv old mode 100644 new mode 100755 diff --git a/slides/feature-selection/slides-fs-filters1.tex b/slides/feature-selection/slides-fs-filters1.tex old mode 100644 new mode 100755 index bce79ca8..cde0b6f0 --- a/slides/feature-selection/slides-fs-filters1.tex +++ b/slides/feature-selection/slides-fs-filters1.tex @@ -5,19 +5,22 @@ \input{../../latex-math/basic-ml} \input{../../latex-math/ml-feature-sel} -\newcommand{\titlefigure}{figure_man/correlation_example.png} -\newcommand{\learninggoals}{ +\title{Introduction to Machine Learning} + +\begin{document} + +\titlemeta{% Chunk title (example: CART, Forests, Boosting, ...), can be empty + Feature Selection + }{% Lecture title + Feature Selection: Filter Methods + }{% Relative path to title page image: Can be empty but must not start with slides/ + figure_man/correlation_example.png + }{ \item Understand how filter methods work and how to apply them for feature selection. \item Know filter methods based on correlation, test statistics, and mutual information. } -\title{Introduction to Machine Learning} -\date{} -\begin{document} - - \lecturechapter{Feature Selection: Filter Methods} - \lecture{Introduction to Machine Learning} - \begin{vbframe}{Introduction} +\begin{vbframe}{Introduction} \vspace{0.4cm} \begin{itemize} \setlength{\itemsep}{0.8em} diff --git a/slides/feature-selection/slides-fs-filters2.tex b/slides/feature-selection/slides-fs-filters2.tex old mode 100644 new mode 100755 index 0e4bfd90..54cb8c32 --- a/slides/feature-selection/slides-fs-filters2.tex +++ b/slides/feature-selection/slides-fs-filters2.tex @@ -5,19 +5,21 @@ \input{../../latex-math/basic-ml} \input{../../latex-math/ml-feature-sel} -\newcommand{\titlefigure}{figure/guyon_example_correlation.png} -\newcommand{\learninggoals}{ +\title{Introduction to Machine Learning} + +\begin{document} + +\titlemeta{% Chunk title (example: CART, Forests, Boosting, ...), can be empty + Feature Selection + }{% Lecture title + Feature Selection: Filter Methods (Examples and Caveats) + }{% Relative path to title page image: Can be empty but must not start with slides/ + figure/guyon_example_correlation.png + }{ \item Understand how filter methods can be misleading \item Understand how filters can be applied and tuned } -\title{Introduction to Machine Learning} -\date{} -\begin{document} - - \lecturechapter{Feature Selection: Filter Methods (Examples and Caveats)} - \lecture{Introduction to Machine Learning} - % \begin{vbframe}{Introduction} % \vspace{0.3cm} % \begin{itemize} @@ -132,7 +134,7 @@ \end{figure} \vspace{0.3cm} \footnotesize{\textbf{Information gain from presumably redundant variables}. 2 class problem with indep features. Each class has Gaussian distribution with no covariance. While filter methods suggest redundancy, combination of both vars yields improvement, showing indep vars are not truly redundant. %Right: After 45 degree rotation, showing combination of 2 vars yields separation improvement by factor $\sqrt{2}$, showing i.i.d. vars are not truly redundant. -For further details, see \citebutton{Guyon and Elisseeff, 2003}{https://www.jmlr.org/papers/volume3/guyon03a/guyon03a.pdf}.} +For further details, see \citelink{GUYON2003INTRODUCTION}.} %\footnotesize{\textbf{IG from presumably redundant variables}. Left: 2 class problem with i.i.d. variables. Each class has Gaussian distr. with no covariance. Right: After 45 degree rotation, showing combination of 2 vars yields separation improvement by factor $\sqrt{2}$, showing i.i.d. vars are not truly redundant. For further details, see Guyon and Elisseeff, 2003.} %\footnotesize{Isabelle Guyon, André Elisseeff (2003). An Introduction to Variable and Feature Selection. Journal of Machine Learning Research (3) p. 1157-1182.} diff --git a/slides/feature-selection/slides-fs-introduction.tex b/slides/feature-selection/slides-fs-introduction.tex old mode 100644 new mode 100755 index 86c1548d..20ceffc1 --- a/slides/feature-selection/slides-fs-introduction.tex +++ b/slides/feature-selection/slides-fs-introduction.tex @@ -3,22 +3,23 @@ \input{../../latex-math/basic-math} \input{../../latex-math/basic-ml} -\newcommand{\titlefigure}{figure_man/feature_sel_vs_extr.png} -\newcommand{\learninggoals}{ +\title{Introduction to Machine Learning} + +\begin{document} + +\titlemeta{% Chunk title (example: CART, Forests, Boosting, ...), can be empty + Feature Selection + }{% Lecture title + Feature Selection: Introduction + }{% Relative path to title page image: Can be empty but must not start with slides/ + figure_man/feature_sel_vs_extr.png + }{ \item Too many features can be harmful in prediction \item Selection vs. extraction \item Types of selection methods } -\title{Introduction to Machine Learning} -\date{} - -\begin{document} - -\lecturechapter{Feature Selection: Introduction} - \lecture{Introduction to Machine Learning} - - \begin{vbframe}{Introduction} +\begin{vbframe}{Introduction} Feature selection: \\ Finding a well-performing, diff --git a/slides/feature-selection/slides-fs-motivating-examples.tex b/slides/feature-selection/slides-fs-motivating-examples.tex old mode 100644 new mode 100755 index 85b733e5..5995063b --- a/slides/feature-selection/slides-fs-motivating-examples.tex +++ b/slides/feature-selection/slides-fs-motivating-examples.tex @@ -3,22 +3,23 @@ \input{../../latex-math/basic-math} \input{../../latex-math/basic-ml} -\newcommand{\titlefigure}{figure_man/tibshirani_fig_18_1_mod.png} -\newcommand{\learninggoals}{ +\title{Introduction to Machine Learning} + +\begin{document} + +\titlemeta{% Chunk title (example: CART, Forests, Boosting, ...), can be empty + Feature Selection + }{% Lecture title + Feature Selection: Motivating Examples + }{% Relative path to title page image: Can be empty but must not start with slides/ + figure_man/tibshirani_fig_18_1_mod.png + }{ \item Understand the practical importance of feature selection \item Understand that models with integrated selection do not always work \item Know different categories of selection methods } -\title{Introduction to Machine Learning} -\date{} - -\begin{document} - - \lecturechapter{Feature Selection: Motivating Examples} - \lecture{Introduction to Machine Learning} - - \begin{vbframe}{Motivating example 1: Regularization} +\begin{vbframe}{Motivating example 1: Regularization} In case of $p \gg n$, overfitting becomes increasingly problematic, as can be shown by the following simulation study: \begin{itemize} diff --git a/slides/feature-selection/slides-fs-wrapper.tex b/slides/feature-selection/slides-fs-wrapper.tex old mode 100644 new mode 100755 index 8a1fa33f..b9d243ed --- a/slides/feature-selection/slides-fs-wrapper.tex +++ b/slides/feature-selection/slides-fs-wrapper.tex @@ -4,22 +4,23 @@ \input{../../latex-math/basic-math} \input{../../latex-math/basic-ml} -\newcommand{\titlefigure}{figure_man/varsel_space.png} -\newcommand{\learninggoals}{ +\title{Introduction to Machine Learning} + +\begin{document} + +\titlemeta{% Chunk title (example: CART, Forests, Boosting, ...), can be empty + Feature Selection + }{% Lecture title + Feature Selection: Wrapper methods + }{% Relative path to title page image: Can be empty but must not start with slides/ + figure_man/varsel_space.png + }{ \item Understand how wrapper methods work \item Forward + backward search, EAs \item Advantages and disadvantages } -\title{Introduction to Machine Learning} -\date{} - -\begin{document} - - \lecturechapter{Feature Selection: Wrapper methods} - \lecture{Introduction to Machine Learning} - - \begin{vbframe}{Introduction} +\begin{vbframe}{Introduction} \begin{itemize} \item Wrapper methods emerge from the idea that different sets of features can be optimal for different learners @@ -82,7 +83,7 @@ \item Objective $\Psi$ can be different functions, e.g., AIC/BIC for LM or cross-validated performance of a learner \item Poses a discrete combinatorial optimization problem over search space of size = $2^p$, i.e., grows exponentially in $p$ (power set)%as it is the power set of $\{1,\ldots,p\}$ %also known as $L_0$ regularization. - \item Unfortunately can not be solved efficiently in general (NP hard; see, e.g., \citebutton{Natarajan, 1995}{https://epubs.siam.org/doi/10.1137/S0097539792240406}) + \item Unfortunately can not be solved efficiently in general (NP hard; see, e.g., \citelink{NATARAJAN1995SPARSE}) \item Can avoid searching entire space by employing efficient search strategies, traversing search space in a ``smart" way %that finds performant feature subsets \end{itemize} @@ -98,7 +99,7 @@ \item Size of search space = $2^p$, i.e., grows exponentially in $p$ as it is the power set of $\{1,\ldots,p\}$ \item Finding best subset is discrete combinatorial optimization problem. %also known as $L_0$ regularization. - \item It can be shown that this problem unfortunately can not be solved efficiently in general (NP hard; see, e.g., \citebutton{Natarajan, 1995}{https://epubs.siam.org/doi/10.1137/S0097539792240406}) + \item It can be shown that this problem unfortunately can not be solved efficiently in general (NP hard; see, e.g., \citelink{NATARAJAN1995SPARSE}) \item We can avoid having to search the entire space by employing efficient search strategies, moving through the search space in a smart way that finds performant feature subsets %\item By employing efficient search strategories, we can avoid searching the entire space. %\item Of course this does not mean that we have to search the entire space, since there are more efficient search strategies. @@ -266,7 +267,7 @@ \hspace{1cm} \includegraphics[width = 0.75\textwidth]{figure/genetic-alg.png} %\hspace{1cm} - \citebutton{Gu \& Cheng, 1996}{https://onlinelibrary.wiley.com/doi/book/10.1002/9780470172254} + \citelink{MITSUO1996GENETIC} \end{column} % \begin{column}{0.5\textwidth} @@ -274,7 +275,7 @@ \setlength{\itemsep}{0.8em} \item Use CV/validation set for evaluation to avoid overfitting \item Choice of $\mu$ and $\lambda$ allows some control over exploration vs. exploitation trade-off - \item See our \citebutton{optimization lecture}{https://slds-lmu.github.io/website_optimization/chapters/08_evolutionary/} for further information + \item See our \citelink{OPTIMIZATIONLECTURE} for further information \end{itemize} \end{column} \end{columns} diff --git a/slides/information-theory/Makefile b/slides/information-theory/Makefile old mode 100644 new mode 100755 diff --git a/slides/information-theory/chapter-order.tex b/slides/information-theory/chapter-order.tex old mode 100644 new mode 100755 diff --git a/slides/information-theory/figure/beta_entropy.png b/slides/information-theory/figure/beta_entropy.png old mode 100644 new mode 100755 diff --git a/slides/information-theory/figure/binary-ce.jpg b/slides/information-theory/figure/binary-ce.jpg old mode 100644 new mode 100755 diff --git a/slides/information-theory/figure/correlation_plot.png b/slides/information-theory/figure/correlation_plot.png old mode 100644 new mode 100755 diff --git a/slides/information-theory/figure/cross_entropy_plot_1.png b/slides/information-theory/figure/cross_entropy_plot_1.png old mode 100644 new mode 100755 diff --git a/slides/information-theory/figure/cross_entropy_plot_2.png b/slides/information-theory/figure/cross_entropy_plot_2.png old mode 100644 new mode 100755 diff --git a/slides/information-theory/figure/entropy_bernoulli.png b/slides/information-theory/figure/entropy_bernoulli.png old mode 100644 new mode 100755 diff --git a/slides/information-theory/figure/entropy_calc.png b/slides/information-theory/figure/entropy_calc.png old mode 100644 new mode 100755 diff --git a/slides/information-theory/figure/entropy_plot.png b/slides/information-theory/figure/entropy_plot.png old mode 100644 new mode 100755 diff --git a/slides/information-theory/figure/entropy_plot_reordering.png b/slides/information-theory/figure/entropy_plot_reordering.png old mode 100644 new mode 100755 diff --git a/slides/information-theory/figure/entropy_uniform_plot.png b/slides/information-theory/figure/entropy_uniform_plot.png old mode 100644 new mode 100755 diff --git a/slides/information-theory/figure/ftrue.pdf b/slides/information-theory/figure/ftrue.pdf old mode 100644 new mode 100755 diff --git a/slides/information-theory/figure/gaussian_mixture_scatter.png b/slides/information-theory/figure/gaussian_mixture_scatter.png old mode 100644 new mode 100755 diff --git a/slides/information-theory/figure/gaussian_mixture_with_marginals.png b/slides/information-theory/figure/gaussian_mixture_with_marginals.png old mode 100644 new mode 100755 diff --git a/slides/information-theory/figure/kl_calculation_plot_1.png b/slides/information-theory/figure/kl_calculation_plot_1.png old mode 100644 new mode 100755 diff --git a/slides/information-theory/figure/kl_calculation_plot_2.png b/slides/information-theory/figure/kl_calculation_plot_2.png old mode 100644 new mode 100755 diff --git a/slides/information-theory/figure/kl_ce_comparison.png b/slides/information-theory/figure/kl_ce_comparison.png old mode 100644 new mode 100755 diff --git a/slides/information-theory/figure/kl_fitting_plot.png b/slides/information-theory/figure/kl_fitting_plot.png old mode 100644 new mode 100755 diff --git a/slides/information-theory/figure/kl_log_diff.png b/slides/information-theory/figure/kl_log_diff.png old mode 100644 new mode 100755 diff --git a/slides/information-theory/figure/kl_log_diff_plot.png b/slides/information-theory/figure/kl_log_diff_plot.png old mode 100644 new mode 100755 diff --git a/slides/information-theory/figure/kl_norm_lp.png b/slides/information-theory/figure/kl_norm_lp.png old mode 100644 new mode 100755 diff --git a/slides/information-theory/figure/kl_norm_lp_sigma.png b/slides/information-theory/figure/kl_norm_lp_sigma.png old mode 100644 new mode 100755 diff --git a/slides/information-theory/figure/max_entropy.png b/slides/information-theory/figure/max_entropy.png old mode 100644 new mode 100755 diff --git a/slides/information-theory/figure/max_entropy_1.pdf b/slides/information-theory/figure/max_entropy_1.pdf old mode 100644 new mode 100755 diff --git a/slides/information-theory/figure/max_entropy_2.pdf b/slides/information-theory/figure/max_entropy_2.pdf old mode 100644 new mode 100755 diff --git a/slides/information-theory/figure/max_entropy_3.pdf b/slides/information-theory/figure/max_entropy_3.pdf old mode 100644 new mode 100755 diff --git a/slides/information-theory/figure/max_entropy_4.pdf b/slides/information-theory/figure/max_entropy_4.pdf old mode 100644 new mode 100755 diff --git a/slides/information-theory/figure/max_entropy_5.pdf b/slides/information-theory/figure/max_entropy_5.pdf old mode 100644 new mode 100755 diff --git a/slides/information-theory/figure/normal_distributions.png b/slides/information-theory/figure/normal_distributions.png old mode 100644 new mode 100755 diff --git a/slides/information-theory/figure/normal_entropy.png b/slides/information-theory/figure/normal_entropy.png old mode 100644 new mode 100755 diff --git a/slides/information-theory/figure/normal_entropy_sigma.png b/slides/information-theory/figure/normal_entropy_sigma.png old mode 100644 new mode 100755 diff --git a/slides/information-theory/figure/uni_entropy.png b/slides/information-theory/figure/uni_entropy.png old mode 100644 new mode 100755 diff --git a/slides/information-theory/figure_man/ambiguity.png b/slides/information-theory/figure_man/ambiguity.png old mode 100644 new mode 100755 diff --git a/slides/information-theory/figure_man/binom1.png b/slides/information-theory/figure_man/binom1.png old mode 100644 new mode 100755 diff --git a/slides/information-theory/figure_man/binom2.png b/slides/information-theory/figure_man/binom2.png old mode 100644 new mode 100755 diff --git a/slides/information-theory/figure_man/claude-shannon.jpg b/slides/information-theory/figure_man/claude-shannon.jpg old mode 100644 new mode 100755 diff --git a/slides/information-theory/figure_man/codetree1.png b/slides/information-theory/figure_man/codetree1.png old mode 100644 new mode 100755 diff --git a/slides/information-theory/figure_man/codetree2.png b/slides/information-theory/figure_man/codetree2.png old mode 100644 new mode 100755 diff --git a/slides/information-theory/figure_man/coin-entropy.png b/slides/information-theory/figure_man/coin-entropy.png old mode 100644 new mode 100755 diff --git a/slides/information-theory/figure_man/crossent.png b/slides/information-theory/figure_man/crossent.png old mode 100644 new mode 100755 diff --git a/slides/information-theory/figure_man/diffent-quant.png b/slides/information-theory/figure_man/diffent-quant.png old mode 100644 new mode 100755 diff --git a/slides/information-theory/figure_man/equal_decode.png b/slides/information-theory/figure_man/equal_decode.png old mode 100644 new mode 100755 diff --git a/slides/information-theory/figure_man/kl_me_constraint.png b/slides/information-theory/figure_man/kl_me_constraint.png old mode 100644 new mode 100755 diff --git a/slides/information-theory/figure_man/kl_me_cosy.png b/slides/information-theory/figure_man/kl_me_cosy.png old mode 100644 new mode 100755 diff --git a/slides/information-theory/figure_man/kl_me_indep_sub.png b/slides/information-theory/figure_man/kl_me_indep_sub.png old mode 100644 new mode 100755 diff --git a/slides/information-theory/figure_man/kl_ml_dist_sim.png b/slides/information-theory/figure_man/kl_ml_dist_sim.png old mode 100644 new mode 100755 diff --git a/slides/information-theory/figure_man/kl_ml_fkl_rkl.png b/slides/information-theory/figure_man/kl_ml_fkl_rkl.png old mode 100644 new mode 100755 diff --git a/slides/information-theory/figure_man/kl_ml_mi.png b/slides/information-theory/figure_man/kl_ml_mi.png old mode 100644 new mode 100755 diff --git a/slides/information-theory/figure_man/kl_ml_prob_fit.png b/slides/information-theory/figure_man/kl_ml_prob_fit.png old mode 100644 new mode 100755 diff --git a/slides/information-theory/figure_man/kl_ml_vi.png b/slides/information-theory/figure_man/kl_ml_vi.png old mode 100644 new mode 100755 diff --git a/slides/information-theory/figure_man/length_same.png b/slides/information-theory/figure_man/length_same.png old mode 100644 new mode 100755 diff --git a/slides/information-theory/figure_man/length_var.png b/slides/information-theory/figure_man/length_var.png old mode 100644 new mode 100755 diff --git a/slides/information-theory/figure_man/multiclass-predictive.png b/slides/information-theory/figure_man/multiclass-predictive.png old mode 100644 new mode 100755 diff --git a/slides/information-theory/figure_man/multinoulli.png b/slides/information-theory/figure_man/multinoulli.png old mode 100644 new mode 100755 diff --git a/slides/information-theory/figure_man/shift.png b/slides/information-theory/figure_man/shift.png old mode 100644 new mode 100755 diff --git a/slides/information-theory/figure_man/xent_pq.png b/slides/information-theory/figure_man/xent_pq.png old mode 100644 new mode 100755 diff --git a/slides/information-theory/references.bib b/slides/information-theory/references.bib new file mode 100755 index 00000000..0c45568a --- /dev/null +++ b/slides/information-theory/references.bib @@ -0,0 +1,32 @@ +@inproceedings{CATICHA2004RELATIVE, + title={Relative entropy and inductive inference}, + author={Caticha, Ariel}, + booktitle={AIP conference proceedings}, + volume={707}, + number={1}, + pages={75--96}, + year={2004}, + organization={American Institute of Physics}, + url={https://pubs.aip.org/aip/acp/article-abstract/707/1/75/719597/Relative-Entropy-and-Inductive-Inference} +} + +@book{KHINCHIN1957MATHEMATICAL, + title={Mathematical Foundations of Information Theory}, + author={Khinchin, A.I.A.}, + isbn={9780486604343}, + lccn={57013025}, + series={Dover Books on Mathematics}, + url={https://books.google.de/books/about/Mathematical_Foundations_of_Information.html?id=0uvKF-LT_tMC&redir_esc=y}, + year={1957}, + publisher={Dover Publications}, +} + +@book{JAYNES_2003, + place={Cambridge}, + title={Probability Theory: The Logic of Science}, + publisher={Cambridge University Press}, + author={Jaynes, E. T.}, + editor={Bretthorst, G. LarryEditor}, + year={2003}, + url={https://www.cambridge.org/core/books/probability-theory/9CA08E224FF30123304E6D8935CF1A99} +} diff --git a/slides/information-theory/rsrc/make_binary-ce.py b/slides/information-theory/rsrc/make_binary-ce.py old mode 100644 new mode 100755 diff --git a/slides/information-theory/rsrc/make_correlation_plot.R b/slides/information-theory/rsrc/make_correlation_plot.R old mode 100644 new mode 100755 diff --git a/slides/information-theory/rsrc/make_cross_entropy_plots.R b/slides/information-theory/rsrc/make_cross_entropy_plots.R old mode 100644 new mode 100755 diff --git a/slides/information-theory/rsrc/make_diff_entropy_plots.R b/slides/information-theory/rsrc/make_diff_entropy_plots.R old mode 100644 new mode 100755 diff --git a/slides/information-theory/rsrc/make_entropy_plot.R b/slides/information-theory/rsrc/make_entropy_plot.R old mode 100644 new mode 100755 diff --git a/slides/information-theory/rsrc/make_entropy_uniform_plot.R b/slides/information-theory/rsrc/make_entropy_uniform_plot.R old mode 100644 new mode 100755 diff --git a/slides/information-theory/rsrc/make_ftrue_plot.R b/slides/information-theory/rsrc/make_ftrue_plot.R old mode 100644 new mode 100755 diff --git a/slides/information-theory/rsrc/make_gaussian_mixture_plots.R b/slides/information-theory/rsrc/make_gaussian_mixture_plots.R old mode 100644 new mode 100755 diff --git a/slides/information-theory/rsrc/make_gaussian_mixture_scatter.R b/slides/information-theory/rsrc/make_gaussian_mixture_scatter.R old mode 100644 new mode 100755 diff --git a/slides/information-theory/rsrc/make_kl_calculation_plot.R b/slides/information-theory/rsrc/make_kl_calculation_plot.R old mode 100644 new mode 100755 diff --git a/slides/information-theory/rsrc/make_kl_ce_comparison.R b/slides/information-theory/rsrc/make_kl_ce_comparison.R old mode 100644 new mode 100755 diff --git a/slides/information-theory/rsrc/make_kl_fitting_plot.R b/slides/information-theory/rsrc/make_kl_fitting_plot.R old mode 100644 new mode 100755 diff --git a/slides/information-theory/rsrc/make_kl_log_diff_plot.R b/slides/information-theory/rsrc/make_kl_log_diff_plot.R old mode 100644 new mode 100755 diff --git a/slides/information-theory/slides-info-cross-entropy-kld.tex b/slides/information-theory/slides-info-cross-entropy-kld.tex old mode 100644 new mode 100755 index 67d00ed3..3c7c00bc --- a/slides/information-theory/slides-info-cross-entropy-kld.tex +++ b/slides/information-theory/slides-info-cross-entropy-kld.tex @@ -3,20 +3,20 @@ \input{../../latex-math/basic-math} \input{../../latex-math/basic-ml} -\newcommand{\titlefigure}{figure/binary-ce.jpg} -\newcommand{\learninggoals}{ - \item Know the cross-entropy - \item Understand the connection between entropy, cross-entropy, and KL divergence -} - \title{Introduction to Machine Learning} -\date{} \begin{document} - -\lecturechapter{Cross-Entropy and KL} -\lecture{Introduction to Machine Learning} - + +\titlemeta{% Chunk title (example: CART, Forests, Boosting, ...), can be empty + Information Theory + }{% Lecture title + Cross-Entropy and KL + }{% Relative path to title page image: Can be empty but must not start with slides/ + figure/binary-ce.jpg + }{ + \item Know the cross-entropy + \item Understand the connection between entropy, cross-entropy, and KL divergence +} \begin{vbframe} {Cross-Entropy - Discrete Case} diff --git a/slides/information-theory/slides-info-diffent.tex b/slides/information-theory/slides-info-diffent.tex old mode 100644 new mode 100755 index 82bb7c88..92b537d2 --- a/slides/information-theory/slides-info-diffent.tex +++ b/slides/information-theory/slides-info-diffent.tex @@ -3,19 +3,20 @@ \input{../../latex-math/basic-math} \input{../../latex-math/basic-ml} -\newcommand{\titlefigure}{figure_man/diffent-quant.png} -\newcommand{\learninggoals}{ - \item Know that the entropy expresses expected information for continuous RVs - \item Know the basic properties of the differential entropy -} - \title{Introduction to Machine Learning} -\date{} \begin{document} - -\lecturechapter{Differential Entropy} -\lecture{Introduction to Machine Learning} + +\titlemeta{% Chunk title (example: CART, Forests, Boosting, ...), can be empty + Information Theory + }{% Lecture title + Differential Entropy + }{% Relative path to title page image: Can be empty but must not start with slides/ + figure_man/diffent-quant.png + }{ + \item Know that the entropy expresses expected information for continuous RVs + \item Know the basic properties of the differential entropy +} \begin{vbframe}{Differential Entropy} \begin{itemize} diff --git a/slides/information-theory/slides-info-entropy.tex b/slides/information-theory/slides-info-entropy.tex old mode 100644 new mode 100755 index b3625f44..42de7838 --- a/slides/information-theory/slides-info-entropy.tex +++ b/slides/information-theory/slides-info-entropy.tex @@ -3,20 +3,20 @@ \input{../../latex-math/basic-math} \input{../../latex-math/basic-ml} -\newcommand{\titlefigure}{figure/entropy_plot_reordering.png} -\newcommand{\learninggoals}{ - \item Entropy measures expected information for discrete RVs - \item Know entropy and its properties -} - \title{Introduction to Machine Learning} -\date{} \begin{document} - -\lecturechapter{Entropy I} -\lecture{Introduction to Machine Learning} - + +\titlemeta{% Chunk title (example: CART, Forests, Boosting, ...), can be empty + Information Theory + }{% Lecture title + Entropy I + }{% Relative path to title page image: Can be empty but must not start with slides/ + figure/entropy_plot_reordering.png + }{ + \item Entropy measures expected information for discrete RVs + \item Know entropy and its properties +} \begin{vbframe}{Information Theory} diff --git a/slides/information-theory/slides-info-entropy2.tex b/slides/information-theory/slides-info-entropy2.tex old mode 100644 new mode 100755 index aadb616e..41ffea98 --- a/slides/information-theory/slides-info-entropy2.tex +++ b/slides/information-theory/slides-info-entropy2.tex @@ -3,21 +3,22 @@ \input{../../latex-math/basic-math} \input{../../latex-math/basic-ml} -\newcommand{\titlefigure}{figure/entropy_bernoulli.png} -\newcommand{\learninggoals}{ +\title{Introduction to Machine Learning} + +\begin{document} + +\titlemeta{% Chunk title (example: CART, Forests, Boosting, ...), can be empty + Information Theory + }{% Lecture title + Entropy II + }{% Relative path to title page image: Can be empty but must not start with slides/ + figure/entropy_bernoulli.png + }{ \item Further properties of entropy and joint entropy \item Understand that uniqueness theorem justifies choice of entropy formula \item Maximum entropy principle } -\title{Introduction to Machine Learning} -\date{} - -\begin{document} - -\lecturechapter{Entropy II} -\lecture{Introduction to Machine Learning} - \begin{vbframe}{Entropy of Bernoulli distribution} Let $X$ be Bernoulli / a coin with $\P(X=1) = s$ and $\P(X=0) = 1 - s$. @@ -75,7 +76,7 @@ \begin{vbframe}{The Uniqueness Theorem} -\citebutton{Khinchin, 1957}{https://books.google.de/books/about/Mathematical_Foundations_of_Information.html?id=0uvKF-LT_tMC&redir_esc=y} showed that the only family of functions satisfying +\citelink{KHINCHIN1957MATHEMATICAL} showed that the only family of functions satisfying \begin{itemize} \item $H(p)$ is continuous in probabilities $p(x)$ \item adding or removing an event with $p(x)=0$ does not change it @@ -96,7 +97,7 @@ \normalsize{$$\mathbb{E}[g_m(X)]=\sum_{x \in \Xspace}g_m(x)p(x) = \alpha_m\,\,\text{for}\,\, m=0,\ldots,M$$} \vspace{-0.4cm} -\textbf{Maximum entropy principle} \citebutton{Jaynes, 2003}{https://www.cambridge.org/core/books/probability-theory/9CA08E224FF30123304E6D8935CF1A99}: Among all feasible distributions satisfying the constraints, choose the one with maximum entropy! +\textbf{Maximum entropy principle} \citelink{JAYNES_2003}: Among all feasible distributions satisfying the constraints, choose the one with maximum entropy! \begin{itemize} \item Motivation: ensure no unwarranted assumptions on $p(x)$ are made beyond what we know. \item MEP follows similar logic to Occam's razor and principle of insufficient reason diff --git a/slides/information-theory/slides-info-kl-ment.tex b/slides/information-theory/slides-info-kl-ment.tex old mode 100644 new mode 100755 index a67295a4..3d14a354 --- a/slides/information-theory/slides-info-kl-ment.tex +++ b/slides/information-theory/slides-info-kl-ment.tex @@ -3,23 +3,22 @@ \input{../../latex-math/basic-math} \input{../../latex-math/basic-ml} -\newcommand{\titlefigure}{figure/kl_log_diff_plot.png} -\newcommand{\learninggoals}{ +\title{Introduction to Machine Learning} + +\begin{document} + +\titlemeta{% Chunk title (example: CART, Forests, Boosting, ...), can be empty + Information Theory + }{% Lecture title + KL and Maximum Entropy + }{% Relative path to title page image: Can be empty but must not start with slides/ + figure/kl_log_diff_plot.png + }{ \item Know the defining properties of the KL \item Understand the relationship between the maximum entropy principle and minimum discrimination information \item Understand the relationship between Shannon entropy and relative entropy } -\title{Introduction to Machine Learning} -\date{} - -\begin{document} - - - -\lecturechapter{KL and Maximum Entropy} -\lecture{Introduction to Machine Learning} - \begin{vbframe} {Problems with Differential Entropy} Differential entropy compared to the Shannon entropy: \begin{itemize} @@ -28,7 +27,7 @@ \end{itemize} $\Rightarrow$ Differential entropy is not an uncertainty measure and can not be meaningfully used in a maximum entropy framework. \\ \lz -In the following, we derive an alternative measure, namely the KL divergence (relative entropy), that fixes these shortcomings by taking an inductive inference viewpoint. \citebutton{Caticha, 2003}{https://arxiv.org/pdf/physics/0311093.pdf} +In the following, we derive an alternative measure, namely the KL divergence (relative entropy), that fixes these shortcomings by taking an inductive inference viewpoint. \citelink{CATICHA2004RELATIVE} \end{vbframe} \begin{vbframe}{Inductive inference} We construct a "new" entropy measure $S(p)$ just by desired properties.\\ diff --git a/slides/information-theory/slides-info-kl-ml.tex b/slides/information-theory/slides-info-kl-ml.tex old mode 100644 new mode 100755 index ff9a06b4..ed9af306 --- a/slides/information-theory/slides-info-kl-ml.tex +++ b/slides/information-theory/slides-info-kl-ml.tex @@ -3,21 +3,20 @@ \input{../../latex-math/basic-math} \input{../../latex-math/basic-ml} -\newcommand{\titlefigure}{figure/normal_distributions.png} -\newcommand{\learninggoals}{ - \item Understand why measuring distribution similarity is important in ML - \item Understand the advantages of forward and reverse KL -} - \title{Introduction to Machine Learning} -\date{} \begin{document} - - - -\lecturechapter{KL for ML} -\lecture{Introduction to Machine Learning} + +\titlemeta{% Chunk title (example: CART, Forests, Boosting, ...), can be empty + Information Theory + }{% Lecture title + KL for ML + }{% Relative path to title page image: Can be empty but must not start with slides/ + figure/normal_distributions.png + }{ + \item Understand why measuring distribution similarity is important in ML + \item Understand the advantages of forward and reverse KL +} \begin{vbframe} {Measuring Distribution Similarity in ML} \begin{itemize} diff --git a/slides/information-theory/slides-info-kl.tex b/slides/information-theory/slides-info-kl.tex old mode 100644 new mode 100755 index 5d4d5bb1..6bc83745 --- a/slides/information-theory/slides-info-kl.tex +++ b/slides/information-theory/slides-info-kl.tex @@ -3,23 +3,23 @@ \input{../../latex-math/basic-math} \input{../../latex-math/basic-ml} -\newcommand{\titlefigure}{figure/kl_norm_lp_sigma.png} -\newcommand{\learninggoals}{ +\title{Introduction to Machine Learning} + +\begin{document} + +\titlemeta{% Chunk title (example: CART, Forests, Boosting, ...), can be empty + Information Theory + }{% Lecture title + Kullback-Leibler Divergence + }{% Relative path to title page image: Can be empty but must not start with slides/ + figure/kl_norm_lp_sigma.png + }{ \item Know the KL divergence as distance between distributions \item Understand KL as expected log-difference \item Understand how KL can be used as loss \item Understand that KL is equivalent to the expected likelihood ratio } -\title{Introduction to Machine Learning} -\date{} - -\begin{document} - -\lecturechapter{Kullback-Leibler Divergence} -\lecture{Introduction to Machine Learning} - - \begin{vbframe} {Kullback-Leibler Divergence} We now want to establish a measure of distance between (discrete or continuous) distributions with the same support for $X \sim p(X)$: diff --git a/slides/information-theory/slides-info-mi-deepdive.tex b/slides/information-theory/slides-info-mi-deepdive.tex old mode 100644 new mode 100755 index e39bf338..12282ab8 --- a/slides/information-theory/slides-info-mi-deepdive.tex +++ b/slides/information-theory/slides-info-mi-deepdive.tex @@ -3,19 +3,19 @@ \input{../../latex-math/basic-math} \input{../../latex-math/basic-ml} -\newcommand{\titlefigure}{figure/correlation_plot.png} -\newcommand{\learninggoals}{ - \item Understand why MI is invariant under certain reparametrizations -} - \title{Introduction to Machine Learning} -\date{} \begin{document} - -\lecturechapter{Mutual Information under Reparametrization (Deep-Dive)} -\lecture{Introduction to Machine Learning} - + +\titlemeta{% Chunk title (example: CART, Forests, Boosting, ...), can be empty + Information Theory + }{% Lecture title + Mutual Information under Reparametrization (Deep-Dive) + }{% Relative path to title page image: Can be empty but must not start with slides/ + figure/correlation_plot.png + }{ + \item Understand why MI is invariant under certain reparametrizations +} \begin{vbframe} {Mutual information properties} \begin{itemize} diff --git a/slides/information-theory/slides-info-ml.tex b/slides/information-theory/slides-info-ml.tex old mode 100644 new mode 100755 index 9e05f927..4779ecac --- a/slides/information-theory/slides-info-ml.tex +++ b/slides/information-theory/slides-info-ml.tex @@ -3,23 +3,22 @@ \input{../../latex-math/basic-math} \input{../../latex-math/basic-ml} -\newcommand{\titlefigure}{figure_man/multinoulli.png} -\newcommand{\learninggoals}{ +\title{Introduction to Machine Learning} + +\begin{document} + +\titlemeta{% Chunk title (example: CART, Forests, Boosting, ...), can be empty + Information Theory + }{% Lecture title + Information Theory for Machine Learning + }{% Relative path to title page image: Can be empty but must not start with slides/ + figure_man/multinoulli.png + }{ \item Minimizing KL =\\ maximizing log-likelihood \item Minimizing KL =\\ minimizing cross-entropy \item Minimizing CE between modeled and observed probabilities =\\log-loss minimization } -\title{Introduction to Machine Learning} -\date{} - -\begin{document} - -\lecturechapter{Information Theory for Machine Learning} -\lecture{Introduction to Machine Learning} - - - \begin{vbframe}{KL vs Maximum Likelihood} Minimizing KL between the true distribution $p(x)$ and approximating model $q(x|\thetab)$ is equivalent to maximizing the log-likelihood. \begin{align*} diff --git a/slides/information-theory/slides-info-mutual-info.tex b/slides/information-theory/slides-info-mutual-info.tex old mode 100644 new mode 100755 index 44423cac..9caaf59d --- a/slides/information-theory/slides-info-mutual-info.tex +++ b/slides/information-theory/slides-info-mutual-info.tex @@ -3,22 +3,22 @@ \input{../../latex-math/basic-math} \input{../../latex-math/basic-ml} -\newcommand{\titlefigure}{figure/entropy_plot.png} -\newcommand{\learninggoals}{ +\title{Introduction to Machine Learning} + +\begin{document} + +\titlemeta{% Chunk title (example: CART, Forests, Boosting, ...), can be empty + Information Theory + }{% Lecture title + Joint Entropy and Mutual Information I + }{% Relative path to title page image: Can be empty but must not start with slides/ + figure/entropy_plot.png + }{ \item Know the joint entropy \item Know conditional entropy as remaining uncertainty \item Know mutual information as the amount of information of an RV obtained by another } -\title{Introduction to Machine Learning} -\date{} - -\begin{document} - -\lecturechapter{Joint Entropy and Mutual Information I} -\lecture{Introduction to Machine Learning} - - \begin{vbframe}{Joint entropy} \begin{itemize} \item Recap: The \textbf{joint entropy} of two discrete RVs $X$ and $Y$ with joint pmf $p(x, y)$ is: diff --git a/slides/information-theory/slides-info-mutual-info2.tex b/slides/information-theory/slides-info-mutual-info2.tex old mode 100644 new mode 100755 index 67e7c631..475e7e3b --- a/slides/information-theory/slides-info-mutual-info2.tex +++ b/slides/information-theory/slides-info-mutual-info2.tex @@ -3,19 +3,20 @@ \input{../../latex-math/basic-math} \input{../../latex-math/basic-ml} -\newcommand{\titlefigure}{figure/correlation_plot.png} -\newcommand{\learninggoals}{ - \item Know mutual information as the amount of information of an RV obtained by another - \item Know properties of MI -} - \title{Introduction to Machine Learning} -\date{} \begin{document} - -\lecturechapter{Joint Entropy and Mutual Information II} -\lecture{Introduction to Machine Learning} + +\titlemeta{% Chunk title (example: CART, Forests, Boosting, ...), can be empty + Information Theory + }{% Lecture title + Joint Entropy and Mutual Information II + }{% Relative path to title page image: Can be empty but must not start with slides/ + figure/correlation_plot.png + }{ + \item Know mutual information as the amount of information of an RV obtained by another + \item Know properties of MI +} \begin{vbframe}{Mutual Information - Corollaries} diff --git a/slides/information-theory/slides-info-sourcecoding.tex b/slides/information-theory/slides-info-sourcecoding.tex old mode 100644 new mode 100755 index 4edd9f32..9ee4e4d2 --- a/slides/information-theory/slides-info-sourcecoding.tex +++ b/slides/information-theory/slides-info-sourcecoding.tex @@ -3,22 +3,22 @@ \input{../../latex-math/basic-math} \input{../../latex-math/basic-ml} -\newcommand{\titlefigure}{figure_man/equal_decode.png} -\newcommand{\learninggoals}{ +\title{Introduction to Machine Learning} + +\begin{document} + +\titlemeta{% Chunk title (example: CART, Forests, Boosting, ...), can be empty + Information Theory + }{% Lecture title + Entropy and Optimal Code Length + }{% Relative path to title page image: Can be empty but must not start with slides/ + figure_man/equal_decode.png + }{ \item Know that source coding is about encoding messages efficiently \item Know how to compute the average length of a code \item Know that the entropy of the source distribution is the lower bound for the average code length } -\title{Introduction to Machine Learning} -\date{} - -\begin{document} - -\lecturechapter{Entropy and Optimal Code Length} -\lecture{Introduction to Machine Learning} - - \begin{vbframe} {Source Coding} \begin{itemize} \item There is an interesting connection between entropy and a subfield of information theory known as \textbf{source coding}. diff --git a/slides/information-theory/slides-info-sourcecoding2.tex b/slides/information-theory/slides-info-sourcecoding2.tex old mode 100644 new mode 100755 index a63110a7..850f8cb5 --- a/slides/information-theory/slides-info-sourcecoding2.tex +++ b/slides/information-theory/slides-info-sourcecoding2.tex @@ -3,21 +3,20 @@ \input{../../latex-math/basic-math} \input{../../latex-math/basic-ml} -\newcommand{\titlefigure}{figure_man/xent_pq.png} -\newcommand{\learninggoals}{ - \item Know connection between source coding and (cross-)entropy - \item Know that the entropy of the source distribution is the lower bound for the average code length -} - \title{Introduction to Machine Learning} -\date{} \begin{document} - -\lecturechapter{Source Coding and Cross-Entropy} -\lecture{Introduction to Machine Learning} - - + +\titlemeta{% Chunk title (example: CART, Forests, Boosting, ...), can be empty + Information Theory + }{% Lecture title + Source Coding and Cross-Entropy + }{% Relative path to title page image: Can be empty but must not start with slides/ + figure_man/xent_pq.png + }{ + \item Know connection between source coding and (cross-)entropy + \item Know that the entropy of the source distribution is the lower bound for the average code length +} %%%%%%% CUT HERE SECOND SOURCE CODING CHUNK \begin{vbframe} {Source coding and cross-entropy} diff --git a/slides/information-theory/video transcripts/cross_entropy_transcript.txt b/slides/information-theory/video transcripts/cross_entropy_transcript.txt old mode 100644 new mode 100755 diff --git a/slides/information-theory/video transcripts/differential_entropy_transcript.txt b/slides/information-theory/video transcripts/differential_entropy_transcript.txt old mode 100644 new mode 100755 diff --git a/slides/information-theory/video transcripts/entropy_1_transcript.txt b/slides/information-theory/video transcripts/entropy_1_transcript.txt old mode 100644 new mode 100755 diff --git a/slides/information-theory/video transcripts/entropy_2_transcript.txt b/slides/information-theory/video transcripts/entropy_2_transcript.txt old mode 100644 new mode 100755 diff --git a/slides/information-theory/video transcripts/info_ml_transcript.txt b/slides/information-theory/video transcripts/info_ml_transcript.txt old mode 100644 new mode 100755 diff --git a/slides/information-theory/video transcripts/kl_transcript.txt b/slides/information-theory/video transcripts/kl_transcript.txt old mode 100644 new mode 100755 diff --git a/slides/information-theory/video transcripts/mi_1_transcript.txt b/slides/information-theory/video transcripts/mi_1_transcript.txt old mode 100644 new mode 100755 diff --git a/slides/information-theory/video transcripts/mi_2_transcript.txt b/slides/information-theory/video transcripts/mi_2_transcript.txt old mode 100644 new mode 100755 diff --git a/slides/information-theory/video transcripts/sc_1_transcript.txt b/slides/information-theory/video transcripts/sc_1_transcript.txt old mode 100644 new mode 100755 diff --git a/slides/information-theory/video transcripts/sc_2_transcript.txt b/slides/information-theory/video transcripts/sc_2_transcript.txt old mode 100644 new mode 100755 diff --git a/slides/linear-svm/Makefile b/slides/linear-svm/Makefile old mode 100644 new mode 100755 diff --git a/slides/linear-svm/chapter-order.tex b/slides/linear-svm/chapter-order.tex old mode 100644 new mode 100755 diff --git a/slides/linear-svm/figure/boundary_with_violations.png b/slides/linear-svm/figure/boundary_with_violations.png old mode 100644 new mode 100755 diff --git a/slides/linear-svm/figure/linear_classif_1.png b/slides/linear-svm/figure/linear_classif_1.png old mode 100644 new mode 100755 diff --git a/slides/linear-svm/figure/linear_classif_2.png b/slides/linear-svm/figure/linear_classif_2.png old mode 100644 new mode 100755 diff --git a/slides/linear-svm/figure/linear_svm_support_vectors_1.png b/slides/linear-svm/figure/linear_svm_support_vectors_1.png old mode 100644 new mode 100755 diff --git a/slides/linear-svm/figure/linear_svm_support_vectors_2.png b/slides/linear-svm/figure/linear_svm_support_vectors_2.png old mode 100644 new mode 100755 diff --git a/slides/linear-svm/figure/margin_violations.png b/slides/linear-svm/figure/margin_violations.png old mode 100644 new mode 100755 diff --git a/slides/linear-svm/figure/non_separable_data.png b/slides/linear-svm/figure/non_separable_data.png old mode 100644 new mode 100755 diff --git a/slides/linear-svm/figure/other_losses.png b/slides/linear-svm/figure/other_losses.png old mode 100644 new mode 100755 diff --git a/slides/linear-svm/figure/soft_margin_losses.png b/slides/linear-svm/figure/soft_margin_losses.png old mode 100644 new mode 100755 diff --git a/slides/linear-svm/figure/soft_margin_svs.png b/slides/linear-svm/figure/soft_margin_svs.png old mode 100644 new mode 100755 diff --git a/slides/linear-svm/figure/support_vectors.png b/slides/linear-svm/figure/support_vectors.png old mode 100644 new mode 100755 diff --git a/slides/linear-svm/figure/svm_geometry.png b/slides/linear-svm/figure/svm_geometry.png old mode 100644 new mode 100755 diff --git a/slides/linear-svm/figure/svm_training_01.png b/slides/linear-svm/figure/svm_training_01.png old mode 100644 new mode 100755 diff --git a/slides/linear-svm/figure/svm_training_02.png b/slides/linear-svm/figure/svm_training_02.png old mode 100644 new mode 100755 diff --git a/slides/linear-svm/figure/svm_training_03.png b/slides/linear-svm/figure/svm_training_03.png old mode 100644 new mode 100755 diff --git a/slides/linear-svm/rsrc/make_linear_classif_plots.R b/slides/linear-svm/rsrc/make_linear_classif_plots.R old mode 100644 new mode 100755 diff --git a/slides/linear-svm/rsrc/make_soft_margin_svm_plots.R b/slides/linear-svm/rsrc/make_soft_margin_svm_plots.R old mode 100644 new mode 100755 diff --git a/slides/linear-svm/rsrc/make_svm_losses_plots.R b/slides/linear-svm/rsrc/make_svm_losses_plots.R old mode 100644 new mode 100755 diff --git a/slides/linear-svm/rsrc/make_svm_training_plots.R b/slides/linear-svm/rsrc/make_svm_training_plots.R old mode 100644 new mode 100755 diff --git a/slides/linear-svm/rsrc/support_vectors_plot.py b/slides/linear-svm/rsrc/support_vectors_plot.py old mode 100644 new mode 100755 diff --git a/slides/linear-svm/rsrc/utils.R b/slides/linear-svm/rsrc/utils.R old mode 100644 new mode 100755 diff --git a/slides/linear-svm/slides-linsvm-erm.tex b/slides/linear-svm/slides-linsvm-erm.tex old mode 100644 new mode 100755 index 0ebf5477..ac48ad59 --- a/slides/linear-svm/slides-linsvm-erm.tex +++ b/slides/linear-svm/slides-linsvm-erm.tex @@ -4,21 +4,20 @@ \input{../../latex-math/basic-ml} \input{../../latex-math/ml-svm} -\newcommand{\titlefigure}{figure/other_losses.png} -\newcommand{\learninggoals}{ - \item Know why the SVM problem can be understood as (regularized) empirical risk minimization problem - \item Know that the corresponding loss is the hinge loss -} - \title{Introduction to Machine Learning} -\date{} \begin{document} -\lecturechapter{SVMs and Empirical Risk Minimization} -\lecture{Introduction to Machine Learning} - -\sloppy +\titlemeta{% Chunk title (example: CART, Forests, Boosting, ...), can be empty + Linear Support Vector Machines + }{% Lecture title + SVMs and Empirical Risk Minimization + }{% Relative path to title page image: Can be empty but must not start with slides/ + figure/other_losses.png + }{ + \item Know why the SVM problem can be understood as (regularized) empirical risk minimization problem + \item Know that the corresponding loss is the hinge loss +} \begin{vbframe}{Regularized empirical risk minimization} diff --git a/slides/linear-svm/slides-linsvm-hard-margin-dual.tex b/slides/linear-svm/slides-linsvm-hard-margin-dual.tex old mode 100644 new mode 100755 index a60beed9..e17c0402 --- a/slides/linear-svm/slides-linsvm-hard-margin-dual.tex +++ b/slides/linear-svm/slides-linsvm-hard-margin-dual.tex @@ -4,22 +4,19 @@ \input{../../latex-math/basic-ml} \input{../../latex-math/ml-svm} - -\newcommand{\titlefigure}{figure/svm_geometry} -\newcommand{\learninggoals}{ - \item Know how to derive the SVM dual problem -} - \title{Introduction to Machine Learning} -\date{} \begin{document} -\lecturechapter{Hard-Margin SVM Dual} -\lecture{Introduction to Machine Learning} - -\sloppy - +\titlemeta{% Chunk title (example: CART, Forests, Boosting, ...), can be empty + Linear Support Vector Machines + }{% Lecture title + Hard-Margin SVM Dual + }{% Relative path to title page image: Can be empty but must not start with slides/ + figure/svm_geometry.png + }{ + \item Know how to derive the SVM dual problem +} %\begin{vbframe}{Constrained Optimization} diff --git a/slides/linear-svm/slides-linsvm-hard-margin.tex b/slides/linear-svm/slides-linsvm-hard-margin.tex old mode 100644 new mode 100755 index 0b182dc4..7cb430b4 --- a/slides/linear-svm/slides-linsvm-hard-margin.tex +++ b/slides/linear-svm/slides-linsvm-hard-margin.tex @@ -5,23 +5,21 @@ % attic content on platt scaling: %https://github.com/slds-lmu/lecture_sl/blob/fddf79ea7701306085fccd20c102f1418c46749a/attic/xx-posterior-probs/slides.Rnw#L22 -\newcommand{\titlefigure}{figure/svm_geometry.png} -\newcommand{\learninggoals}{ - \item Know that the hard-margin SVM maximizes the margin between data points and hyperplane - \item Know that this is a quadratic program - \item Know that support vectors are the data points closest to the separating hyperplane -} - \title{Introduction to Machine Learning} -\date{} \begin{document} -\lecturechapter{Linear Hard Margin SVM} -\lecture{Introduction to Machine Learning} - -\sloppy - +\titlemeta{% Chunk title (example: CART, Forests, Boosting, ...), can be empty + Linear Support Vector Machines + }{% Lecture title + Linear Hard Margin SVM + }{% Relative path to title page image: Can be empty but must not start with slides/ + figure/svm_geometry.png + }{ + \item Know that the hard-margin SVM maximizes the margin between data points and hyperplane + \item Know that this is a quadratic program + \item Know that support vectors are the data points closest to the separating hyperplane +} \begin{vbframe}{Linear classifiers} diff --git a/slides/linear-svm/slides-linsvm-optimization.tex b/slides/linear-svm/slides-linsvm-optimization.tex old mode 100644 new mode 100755 index 3e44403c..80a8fa41 --- a/slides/linear-svm/slides-linsvm-optimization.tex +++ b/slides/linear-svm/slides-linsvm-optimization.tex @@ -4,24 +4,21 @@ \input{../../latex-math/basic-ml} \input{../../latex-math/ml-svm} -\newcommand{\titlefigure}{figure/svm_training_03.png} -\newcommand{\learninggoals}{ - \item Know that the SVM problem is not differentiable - \item Know how to optimize the SVM problem in the primal via subgradient descent - \item Know how to optimize SVM in the dual formulation via pairwise coordinate ascent -} - \title{Introduction to Machine Learning} -\date{} \begin{document} -\lecturechapter{Support Vector Machine Training} -\lecture{Introduction to Machine Learning} - -\sloppy - - +\titlemeta{% Chunk title (example: CART, Forests, Boosting, ...), can be empty + Linear Support Vector Machines + }{% Lecture title + Support Vector Machine Training + }{% Relative path to title page image: Can be empty but must not start with slides/ + figure/svm_training_03.png + }{ + \item Know that the SVM problem is not differentiable + \item Know how to optimize the SVM problem in the primal via subgradient descent + \item Know how to optimize SVM in the dual formulation via pairwise coordinate ascent +} \begin{vbframe}{Support vector machine training} diff --git a/slides/linear-svm/slides-linsvm-soft-margin.tex b/slides/linear-svm/slides-linsvm-soft-margin.tex old mode 100644 new mode 100755 index c1ecb904..08660e93 --- a/slides/linear-svm/slides-linsvm-soft-margin.tex +++ b/slides/linear-svm/slides-linsvm-soft-margin.tex @@ -4,22 +4,21 @@ \input{../../latex-math/basic-ml} \input{../../latex-math/ml-svm} -\newcommand{\titlefigure}{figure/soft_margin_svs.png} -\newcommand{\learninggoals}{ - \item Understand that the hard-margin SVM problem is only solvable for linearly separable data - \item Know that the soft-margin SVM problem therefore allows margin violations - \item The degree to which margin violations are tolerated is controlled by a hyperparameter -} - \title{Introduction to Machine Learning} -\date{} \begin{document} -\lecturechapter{Soft-Margin SVM} -\lecture{Introduction to Machine Learning} - -\sloppy +\titlemeta{% Chunk title (example: CART, Forests, Boosting, ...), can be empty + Linear Support Vector Machines + }{% Lecture title + Soft-Margin SVM + }{% Relative path to title page image: Can be empty but must not start with slides/ + figure/soft_margin_svs.png + }{ + \item Understand that the hard-margin SVM problem is only solvable for linearly separable data + \item Know that the soft-margin SVM problem therefore allows margin violations + \item The degree to which margin violations are tolerated is controlled by a hyperparameter +} \begin{vbframe}{Non-Separable Data} diff --git a/slides/lookup-slides/.gitignore b/slides/lookup-slides/.gitignore old mode 100644 new mode 100755 diff --git a/slides/lookup-slides/riskmin_optconst.tex b/slides/lookup-slides/riskmin_optconst.tex old mode 100644 new mode 100755 diff --git a/slides/mathrefresher/Makefile b/slides/mathrefresher/Makefile old mode 100644 new mode 100755 diff --git a/slides/mathrefresher/figure_man/math_robot.jpg b/slides/mathrefresher/figure_man/math_robot.jpg old mode 100644 new mode 100755 diff --git a/slides/mathrefresher/slides-probability-theory.tex b/slides/mathrefresher/slides-probability-theory.tex old mode 100644 new mode 100755 index b80ef78f..66f04f88 --- a/slides/mathrefresher/slides-probability-theory.tex +++ b/slides/mathrefresher/slides-probability-theory.tex @@ -13,27 +13,24 @@ \input{../../latex-math/basic-ml} \input{../../latex-math/ml-hpo} - -\newcommand{\titlefigure}{figure_man/math_robot.jpg} -\newcommand{\learninggoals}{ - \item Refresher on the basics of probability theory -% \item Bayes risk -% \item Consistent learners -% \item Bayes regret, estimation and approximation error -% \item Optimal constant model -% \item Proper scoring rules -} - \title{Supervised Learning} -% \author{Bernd Bischl, Christoph Molnar, Daniel Schalk, Fabian Scheipl} -\institute{\href{https://compstat-lmu.github.io/lecture_i2ml/}{compstat-lmu.github.io/lecture\_i2ml}} -\date{} - \begin{document} - -\lecturechapter{Refreshing Mathematical Tools} -\lecture{Supervised Learning} + +\titlemeta{% Chunk title (example: CART, Forests, Boosting, ...), can be empty + Supervised Learning + }{% Lecture title + Refreshing Mathematical Tools + }{% Relative path to title page image: Can be empty but must not start with slides/ + figure_man/math_robot.jpg + }{ + \item Refresher on the basics of probability theory + % \item Bayes risk + % \item Consistent learners + % \item Bayes regret, estimation and approximation error + % \item Optimal constant model + % \item Proper scoring rules +} \newcommand{\F}{\mathcal{F}} diff --git a/slides/merger.R b/slides/merger.R old mode 100644 new mode 100755 diff --git a/slides/multiclass/Makefile b/slides/multiclass/Makefile old mode 100644 new mode 100755 diff --git a/slides/multiclass/chapter-order.tex b/slides/multiclass/chapter-order.tex old mode 100644 new mode 100755 diff --git a/slides/multiclass/figure/iris_encoding.png b/slides/multiclass/figure/iris_encoding.png old mode 100644 new mode 100755 diff --git a/slides/multiclass/figure/iris_scatter.png b/slides/multiclass/figure/iris_scatter.png old mode 100644 new mode 100755 diff --git a/slides/multiclass/figure/onevsone_vs_onevsrest.png b/slides/multiclass/figure/onevsone_vs_onevsrest.png old mode 100644 new mode 100755 diff --git a/slides/multiclass/figure_man/hill-climbing.png b/slides/multiclass/figure_man/hill-climbing.png old mode 100644 new mode 100755 diff --git a/slides/multiclass/figure_man/neural_net.png b/slides/multiclass/figure_man/neural_net.png old mode 100644 new mode 100755 diff --git a/slides/multiclass/figure_man/one_vs_all.png b/slides/multiclass/figure_man/one_vs_all.png old mode 100644 new mode 100755 diff --git a/slides/multiclass/figure_man/one_vs_one.png b/slides/multiclass/figure_man/one_vs_one.png old mode 100644 new mode 100755 diff --git a/slides/multiclass/figure_man/score_model.png b/slides/multiclass/figure_man/score_model.png old mode 100644 new mode 100755 diff --git a/slides/multiclass/figure_man/softmax1.png b/slides/multiclass/figure_man/softmax1.png old mode 100644 new mode 100755 diff --git a/slides/multiclass/figure_man/softmax2.png b/slides/multiclass/figure_man/softmax2.png old mode 100644 new mode 100755 diff --git a/slides/multiclass/rsrc/make_iris_encoding_plot.R b/slides/multiclass/rsrc/make_iris_encoding_plot.R old mode 100644 new mode 100755 diff --git a/slides/multiclass/rsrc/make_iris_scatter_plot.R b/slides/multiclass/rsrc/make_iris_scatter_plot.R old mode 100644 new mode 100755 diff --git a/slides/multiclass/rsrc/make_onevsone_vs_onevsrest_plot.R b/slides/multiclass/rsrc/make_onevsone_vs_onevsrest_plot.R old mode 100644 new mode 100755 diff --git a/slides/multiclass/rsrc/results.csv b/slides/multiclass/rsrc/results.csv old mode 100644 new mode 100755 diff --git a/slides/multiclass/slides-mc-binary-reduction.tex b/slides/multiclass/slides-mc-binary-reduction.tex old mode 100644 new mode 100755 index d42a540b..35ccea9c --- a/slides/multiclass/slides-mc-binary-reduction.tex +++ b/slides/multiclass/slides-mc-binary-reduction.tex @@ -3,25 +3,22 @@ \input{../../latex-math/basic-math} \input{../../latex-math/basic-ml} -\newcommand{\titlefigure}{figure_man/one_vs_all.png} -\newcommand{\learninggoals}{ +\title{Introduction to Machine Learning} + +\begin{document} + +\titlemeta{% Chunk title (example: CART, Forests, Boosting, ...), can be empty + Multiclass Classification + }{% Lecture title + One-vs-Rest and One-vs-One + }{% Relative path to title page image: Can be empty but must not start with slides/ + figure_man/one_vs_all.png + }{ \item Reduce a multiclass problem to multiple binary problems in a model-agnostic way \item Know one-vs-rest reduction \item Know one-vs-one reduction } -\title{Introduction to Machine Learning} -\date{} - -\begin{document} - -\lecturechapter{One-vs-Rest and One-vs-One} -\lecture{Introduction to Machine Learning} - - - -\sloppy - \begin{vbframe}{Multiclass to Binary Reduction} diff --git a/slides/multiclass/slides-mc-codebooks.tex b/slides/multiclass/slides-mc-codebooks.tex old mode 100644 new mode 100755 index 44f398f9..8bbbf8ca --- a/slides/multiclass/slides-mc-codebooks.tex +++ b/slides/multiclass/slides-mc-codebooks.tex @@ -3,27 +3,23 @@ \input{../../latex-math/basic-math} \input{../../latex-math/basic-ml} -\newcommand{\titlefigure}{figure_man/hill-climbing.png} -\newcommand{\learninggoals}{ +\title{Introduction to Machine Learning} + +\begin{document} + +\titlemeta{% Chunk title (example: CART, Forests, Boosting, ...), can be empty + Multiclass Classification + }{% Lecture title + Designing Codebooks and ECOC + }{% Relative path to title page image: Can be empty but must not start with slides/ + figure_man/hill-climbing.png + }{ \item Know what a codebook is \item Understand that codebooks generalize one-vs-one and one-vs-rest \item Know how to define a good codebook and error-correcting output codes (ECOC) \item Know how randomized hill-climbing algorithm is used to find good codebooks } -\title{Introduction to Machine Learning} -\date{} - -\begin{document} - -\lecturechapter{Designing Codebooks and ECOC} -\lecture{Introduction to Machine Learning} - - - - -\sloppy - \section{Designing Codebooks} \begin{vbframe}{Codebooks} diff --git a/slides/multiclass/slides-mc-losses.tex b/slides/multiclass/slides-mc-losses.tex old mode 100644 new mode 100755 index a7c5ded9..5ea2ebc5 --- a/slides/multiclass/slides-mc-losses.tex +++ b/slides/multiclass/slides-mc-losses.tex @@ -3,25 +3,23 @@ \input{../../latex-math/basic-math} \input{../../latex-math/basic-ml} -\newcommand{\titlefigure}{figure/iris_scatter.png} -\newcommand{\learninggoals}{ +\title{Introduction to Machine Learning} + +\begin{document} + +\titlemeta{% Chunk title (example: CART, Forests, Boosting, ...), can be empty + Multiclass Classification + }{% Lecture title + Multiclass Classification and Losses + }{% Relative path to title page image: Can be empty but must not start with slides/ + figure/iris_scatter.png + }{ \item Know what multiclass means and which types of classifiers exist \item Know the MC 0-1-loss \item Know the MC brier score \item Know the MC logarithmic loss } -\title{Introduction to Machine Learning} -\date{} - -\begin{document} - -\lecturechapter{Multiclass Classification and Losses} -\lecture{Introduction to Machine Learning} - - -\sloppy - \begin{vbframe}{Multiclass Classification} \textbf{Scenario:} Multiclass classification with $g > 2$ classes diff --git a/slides/multiclass/slides-mc-softmax-regression.tex b/slides/multiclass/slides-mc-softmax-regression.tex old mode 100644 new mode 100755 index e0c8fed1..4213deba --- a/slides/multiclass/slides-mc-softmax-regression.tex +++ b/slides/multiclass/slides-mc-softmax-regression.tex @@ -3,22 +3,20 @@ \input{../../latex-math/basic-math} \input{../../latex-math/basic-ml} -\newcommand{\titlefigure}{figure_man/softmax1.png} -\newcommand{\learninggoals}{ - \item Know softmax regression - \item Understand that softmax regression is a generalization of logistic regression -} - \title{Introduction to Machine Learning} -\date{} \begin{document} - -\lecturechapter{Softmax Regression} -\lecture{Introduction to Machine Learning} - -\sloppy - + +\titlemeta{% Chunk title (example: CART, Forests, Boosting, ...), can be empty + Multiclass Classification + }{% Lecture title + Softmax Regression + }{% Relative path to title page image: Can be empty but must not start with slides/ + figure_man/softmax1.png + }{ + \item Know softmax regression + \item Understand that softmax regression is a generalization of logistic regression +} \begin{vbframe}{From logistic regression ...} diff --git a/slides/nonlinear-svm/Makefile b/slides/nonlinear-svm/Makefile old mode 100644 new mode 100755 diff --git a/slides/nonlinear-svm/chapter-order.tex b/slides/nonlinear-svm/chapter-order.tex old mode 100644 new mode 100755 diff --git a/slides/nonlinear-svm/figure/circles_boundary.png b/slides/nonlinear-svm/figure/circles_boundary.png old mode 100644 new mode 100755 diff --git a/slides/nonlinear-svm/figure/circles_ds.png b/slides/nonlinear-svm/figure/circles_ds.png old mode 100644 new mode 100755 diff --git a/slides/nonlinear-svm/figure/circles_feature_map.png b/slides/nonlinear-svm/figure/circles_feature_map.png old mode 100644 new mode 100755 diff --git a/slides/nonlinear-svm/figure/mnist_svm_mmce.png b/slides/nonlinear-svm/figure/mnist_svm_mmce.png old mode 100644 new mode 100755 diff --git a/slides/nonlinear-svm/figure/n_monomials.png b/slides/nonlinear-svm/figure/n_monomials.png old mode 100644 new mode 100755 diff --git a/slides/nonlinear-svm/figure/svm_linear_kernel.png b/slides/nonlinear-svm/figure/svm_linear_kernel.png old mode 100644 new mode 100755 diff --git a/slides/nonlinear-svm/figure/svm_poly_hyperparams.png b/slides/nonlinear-svm/figure/svm_poly_hyperparams.png old mode 100644 new mode 100755 diff --git a/slides/nonlinear-svm/figure/svm_poly_kernel.png b/slides/nonlinear-svm/figure/svm_poly_kernel.png old mode 100644 new mode 100755 diff --git a/slides/nonlinear-svm/figure/svm_poly_kernel_deg_1_coef0_1.png b/slides/nonlinear-svm/figure/svm_poly_kernel_deg_1_coef0_1.png old mode 100644 new mode 100755 diff --git a/slides/nonlinear-svm/figure/svm_poly_kernel_deg_3_coef0_0.png b/slides/nonlinear-svm/figure/svm_poly_kernel_deg_3_coef0_0.png old mode 100644 new mode 100755 diff --git a/slides/nonlinear-svm/figure/svm_poly_kernel_deg_3_coef0_1.png b/slides/nonlinear-svm/figure/svm_poly_kernel_deg_3_coef0_1.png old mode 100644 new mode 100755 diff --git a/slides/nonlinear-svm/figure/svm_poly_kernel_deg_9_coef0_1.png b/slides/nonlinear-svm/figure/svm_poly_kernel_deg_9_coef0_1.png old mode 100644 new mode 100755 diff --git a/slides/nonlinear-svm/figure/svm_rbf_as_basis.png b/slides/nonlinear-svm/figure/svm_rbf_as_basis.png old mode 100644 new mode 100755 diff --git a/slides/nonlinear-svm/figure/svm_rbf_as_basis_1.png b/slides/nonlinear-svm/figure/svm_rbf_as_basis_1.png old mode 100644 new mode 100755 diff --git a/slides/nonlinear-svm/figure/svm_rbf_as_basis_2.png b/slides/nonlinear-svm/figure/svm_rbf_as_basis_2.png old mode 100644 new mode 100755 diff --git a/slides/nonlinear-svm/figure/svm_rbf_as_basis_3.png b/slides/nonlinear-svm/figure/svm_rbf_as_basis_3.png old mode 100644 new mode 100755 diff --git a/slides/nonlinear-svm/figure/svm_rbf_as_basis_4.png b/slides/nonlinear-svm/figure/svm_rbf_as_basis_4.png old mode 100644 new mode 100755 diff --git a/slides/nonlinear-svm/figure/svm_rbf_as_basis_5.png b/slides/nonlinear-svm/figure/svm_rbf_as_basis_5.png old mode 100644 new mode 100755 diff --git a/slides/nonlinear-svm/figure/svm_rbf_as_basis_6.png b/slides/nonlinear-svm/figure/svm_rbf_as_basis_6.png old mode 100644 new mode 100755 diff --git a/slides/nonlinear-svm/figure/svm_rbf_cost_1.png b/slides/nonlinear-svm/figure/svm_rbf_cost_1.png old mode 100644 new mode 100755 diff --git a/slides/nonlinear-svm/figure/svm_rbf_cost_2.png b/slides/nonlinear-svm/figure/svm_rbf_cost_2.png old mode 100644 new mode 100755 diff --git a/slides/nonlinear-svm/figure/svm_rbf_hyperparams.png b/slides/nonlinear-svm/figure/svm_rbf_hyperparams.png old mode 100644 new mode 100755 diff --git a/slides/nonlinear-svm/figure/svm_rbf_hyperparams_tuning_1.pdf b/slides/nonlinear-svm/figure/svm_rbf_hyperparams_tuning_1.pdf old mode 100644 new mode 100755 diff --git a/slides/nonlinear-svm/figure/svm_rbf_kernel.png b/slides/nonlinear-svm/figure/svm_rbf_kernel.png old mode 100644 new mode 100755 diff --git a/slides/nonlinear-svm/figure/svm_rbf_kernel_gamma_1.png b/slides/nonlinear-svm/figure/svm_rbf_kernel_gamma_1.png old mode 100644 new mode 100755 diff --git a/slides/nonlinear-svm/figure/svm_rbf_kernel_gamma_2.png b/slides/nonlinear-svm/figure/svm_rbf_kernel_gamma_2.png old mode 100644 new mode 100755 diff --git a/slides/nonlinear-svm/figure/svm_rbf_sigma_est_narrow.pdf b/slides/nonlinear-svm/figure/svm_rbf_sigma_est_narrow.pdf old mode 100644 new mode 100755 diff --git a/slides/nonlinear-svm/figure/svm_rbf_sigma_est_wide.pdf b/slides/nonlinear-svm/figure/svm_rbf_sigma_est_wide.pdf old mode 100644 new mode 100755 diff --git a/slides/nonlinear-svm/figure_man/introduction/mnist-eps-converted-to.pdf b/slides/nonlinear-svm/figure_man/introduction/mnist-eps-converted-to.pdf old mode 100644 new mode 100755 diff --git a/slides/nonlinear-svm/figure_man/kernels/features-2.pdf b/slides/nonlinear-svm/figure_man/kernels/features-2.pdf old mode 100644 new mode 100755 diff --git a/slides/nonlinear-svm/figure_man/kernels/svm_dummies_kernelling.PNG b/slides/nonlinear-svm/figure_man/kernels/svm_dummies_kernelling.PNG old mode 100644 new mode 100755 diff --git a/slides/nonlinear-svm/figure_man/rbf_sigma.png b/slides/nonlinear-svm/figure_man/rbf_sigma.png old mode 100644 new mode 100755 diff --git a/slides/nonlinear-svm/rsrc/constraints.R b/slides/nonlinear-svm/rsrc/constraints.R old mode 100644 new mode 100755 diff --git a/slides/nonlinear-svm/rsrc/hyperplane_posneg.R b/slides/nonlinear-svm/rsrc/hyperplane_posneg.R old mode 100644 new mode 100755 diff --git a/slides/nonlinear-svm/rsrc/kernel_intro.R b/slides/nonlinear-svm/rsrc/kernel_intro.R old mode 100644 new mode 100755 diff --git a/slides/nonlinear-svm/rsrc/make_circles_plots.R b/slides/nonlinear-svm/rsrc/make_circles_plots.R old mode 100644 new mode 100755 diff --git a/slides/nonlinear-svm/rsrc/make_mnist_n_monomials_plot.R b/slides/nonlinear-svm/rsrc/make_mnist_n_monomials_plot.R old mode 100644 new mode 100755 diff --git a/slides/nonlinear-svm/rsrc/make_mnist_svm_ds.R b/slides/nonlinear-svm/rsrc/make_mnist_svm_ds.R old mode 100644 new mode 100755 diff --git a/slides/nonlinear-svm/rsrc/make_mnist_svm_kernel_mmce_tab.R b/slides/nonlinear-svm/rsrc/make_mnist_svm_kernel_mmce_tab.R old mode 100644 new mode 100755 diff --git a/slides/nonlinear-svm/rsrc/make_mnist_svm_mmce_plot.R b/slides/nonlinear-svm/rsrc/make_mnist_svm_mmce_plot.R old mode 100644 new mode 100755 diff --git a/slides/nonlinear-svm/rsrc/make_poly_hyperparams_plot.R b/slides/nonlinear-svm/rsrc/make_poly_hyperparams_plot.R old mode 100644 new mode 100755 diff --git a/slides/nonlinear-svm/rsrc/make_svm_kernel_plots.R b/slides/nonlinear-svm/rsrc/make_svm_kernel_plots.R old mode 100644 new mode 100755 diff --git a/slides/nonlinear-svm/rsrc/make_svm_poly_kernel_plots.R b/slides/nonlinear-svm/rsrc/make_svm_poly_kernel_plots.R old mode 100644 new mode 100755 diff --git a/slides/nonlinear-svm/rsrc/make_svm_rbf_as_basis_plots.R b/slides/nonlinear-svm/rsrc/make_svm_rbf_as_basis_plots.R old mode 100644 new mode 100755 diff --git a/slides/nonlinear-svm/rsrc/make_svm_rbf_cost_plots.R b/slides/nonlinear-svm/rsrc/make_svm_rbf_cost_plots.R old mode 100644 new mode 100755 diff --git a/slides/nonlinear-svm/rsrc/make_svm_rbf_gamma_plots.R b/slides/nonlinear-svm/rsrc/make_svm_rbf_gamma_plots.R old mode 100644 new mode 100755 diff --git a/slides/nonlinear-svm/rsrc/make_svm_rbf_hyperparams_plot.R b/slides/nonlinear-svm/rsrc/make_svm_rbf_hyperparams_plot.R old mode 100644 new mode 100755 diff --git a/slides/nonlinear-svm/rsrc/make_svm_rbf_hyperparams_tuning_plots.R b/slides/nonlinear-svm/rsrc/make_svm_rbf_hyperparams_tuning_plots.R old mode 100644 new mode 100755 diff --git a/slides/nonlinear-svm/rsrc/make_svm_rbf_sigma_est_plots.R b/slides/nonlinear-svm/rsrc/make_svm_rbf_sigma_est_plots.R old mode 100644 new mode 100755 diff --git a/slides/nonlinear-svm/rsrc/mnist_svm_mixed.RData b/slides/nonlinear-svm/rsrc/mnist_svm_mixed.RData old mode 100644 new mode 100755 diff --git a/slides/nonlinear-svm/rsrc/rbf_sig.R b/slides/nonlinear-svm/rsrc/rbf_sig.R old mode 100644 new mode 100755 diff --git a/slides/nonlinear-svm/rsrc/svm-regression.R b/slides/nonlinear-svm/rsrc/svm-regression.R old mode 100644 new mode 100755 diff --git a/slides/nonlinear-svm/rsrc/svm_posterior_probs.R b/slides/nonlinear-svm/rsrc/svm_posterior_probs.R old mode 100644 new mode 100755 diff --git a/slides/nonlinear-svm/rsrc/utils.R b/slides/nonlinear-svm/rsrc/utils.R old mode 100644 new mode 100755 diff --git a/slides/nonlinear-svm/slides-nonlinsvm-featuregen.tex b/slides/nonlinear-svm/slides-nonlinsvm-featuregen.tex old mode 100644 new mode 100755 index 5518343d..b7e1e5d0 --- a/slides/nonlinear-svm/slides-nonlinsvm-featuregen.tex +++ b/slides/nonlinear-svm/slides-nonlinsvm-featuregen.tex @@ -4,20 +4,20 @@ \input{../../latex-math/basic-ml} \input{../../latex-math/ml-svm} -\newcommand{\titlefigure}{figure/circles_boundary.png} -\newcommand{\learninggoals}{ - \item Understand how nonlinearity can be introduced via feature maps in SVMs - \item Know the limitation of feature maps -} - \title{Introduction to Machine Learning} -\date{} \begin{document} -\lecturechapter{Feature Generation for Nonlinear Separation} -\lecture{Introduction to Machine Learning} - +\titlemeta{% Chunk title (example: CART, Forests, Boosting, ...), can be empty + Nonlinear Support Vector Machines + }{% Lecture title + Feature Generation for Nonlinear Separation + }{% Relative path to title page image: Can be empty but must not start with slides/ + figure/circles_boundary.png + }{ + \item Understand how nonlinearity can be introduced via feature maps in SVMs + \item Know the limitation of feature maps +} \begin{vbframe}{Nonlinearity via Feature Maps} \begin{itemize} diff --git a/slides/nonlinear-svm/slides-nonlinsvm-kernel-poly.tex b/slides/nonlinear-svm/slides-nonlinsvm-kernel-poly.tex old mode 100644 new mode 100755 index 1b812be5..f03c0634 --- a/slides/nonlinear-svm/slides-nonlinsvm-kernel-poly.tex +++ b/slides/nonlinear-svm/slides-nonlinsvm-kernel-poly.tex @@ -4,21 +4,20 @@ \input{../../latex-math/basic-ml} \input{../../latex-math/ml-svm} -\newcommand{\titlefigure}{figure/svm_poly_kernel_deg_9_coef0_1.png} -\newcommand{\learninggoals}{ - \item Know the homogeneous and non-homogeneous polynomial kernel - \item Understand the influence of the choice of the degree on the decision boundary -} - \title{Introduction to Machine Learning} -\date{} \begin{document} -\lecturechapter{The Polynomial Kernel} -\lecture{Introduction to Machine Learning} - - +\titlemeta{% Chunk title (example: CART, Forests, Boosting, ...), can be empty + Nonlinear Support Vector Machines + }{% Lecture title + The Polynomial Kernel + }{% Relative path to title page image: Can be empty but must not start with slides/ + figure/svm_poly_kernel_deg_9_coef0_1.png + }{ + \item Know the homogeneous and non-homogeneous polynomial kernel + \item Understand the influence of the choice of the degree on the decision boundary +} \begin{vbframe}{Homogeneous Polynomial Kernel} $$ k(\xv, \xtil) = (\xv^T \xtil)^d, \text{ for } d \in \N$$ diff --git a/slides/nonlinear-svm/slides-nonlinsvm-kernel-rbf.tex b/slides/nonlinear-svm/slides-nonlinsvm-kernel-rbf.tex old mode 100644 new mode 100755 index 3e9912df..bdaa8a57 --- a/slides/nonlinear-svm/slides-nonlinsvm-kernel-rbf.tex +++ b/slides/nonlinear-svm/slides-nonlinsvm-kernel-rbf.tex @@ -4,22 +4,21 @@ \input{../../latex-math/basic-ml} \input{../../latex-math/ml-svm} -\newcommand{\titlefigure}{figure/svm_rbf_as_basis.png} -\newcommand{\learninggoals}{ - \item Know the Gaussian (RBF) kernel - \item Understand that all data sets are separable with this kernel - \item Understand the effect of the kernel hyperparameter $\sigma$ -} - \title{Introduction to Machine Learning} -\date{} \begin{document} -\lecturechapter{The Gaussian RBF Kernel} -\lecture{Introduction to Machine Learning} - - +\titlemeta{% Chunk title (example: CART, Forests, Boosting, ...), can be empty + Nonlinear Support Vector Machines + }{% Lecture title + The Gaussian RBF Kernel + }{% Relative path to title page image: Can be empty but must not start with slides/ + figure/svm_rbf_as_basis.png + }{ + \item Know the Gaussian (RBF) kernel + \item Understand that all data sets are separable with this kernel + \item Understand the effect of the kernel hyperparameter $\sigma$ +} \begin{vbframe}{RBF Kernel} diff --git a/slides/nonlinear-svm/slides-nonlinsvm-kernel-trick.tex b/slides/nonlinear-svm/slides-nonlinsvm-kernel-trick.tex old mode 100644 new mode 100755 index 150eeb0d..bd0224d5 --- a/slides/nonlinear-svm/slides-nonlinsvm-kernel-trick.tex +++ b/slides/nonlinear-svm/slides-nonlinsvm-kernel-trick.tex @@ -4,21 +4,21 @@ \input{../../latex-math/basic-ml} \input{../../latex-math/ml-svm} -\newcommand{\titlefigure}{figure/svm_linear_kernel.png} -\newcommand{\learninggoals}{ - \item Know how to efficiently introduce non-linearity via the kernel trick - \item Know common kernel functions (linear, polynomial, radial) - \item Know how to compute predictions of the kernel SVM -} - \title{Introduction to Machine Learning} -\date{} \begin{document} -\lecturechapter{The Kernel Trick} -\lecture{Introduction to Machine Learning} - +\titlemeta{% Chunk title (example: CART, Forests, Boosting, ...), can be empty + Nonlinear Support Vector Machines + }{% Lecture title + The Kernel Trick + }{% Relative path to title page image: Can be empty but must not start with slides/ + figure/svm_linear_kernel.png + }{ + \item Know how to efficiently introduce non-linearity via the kernel trick + \item Know common kernel functions (linear, polynomial, radial) + \item Know how to compute predictions of the kernel SVM +} \begin{vbframe}{Dual SVM Problem with Feature Map} diff --git a/slides/nonlinear-svm/slides-nonlinsvm-modelsel.tex b/slides/nonlinear-svm/slides-nonlinsvm-modelsel.tex old mode 100644 new mode 100755 index 6e038172..7fd5bb00 --- a/slides/nonlinear-svm/slides-nonlinsvm-modelsel.tex +++ b/slides/nonlinear-svm/slides-nonlinsvm-modelsel.tex @@ -4,20 +4,20 @@ \input{../../latex-math/basic-ml} \input{../../latex-math/ml-svm} -\newcommand{\titlefigure}{figure_man/rbf_sigma.png} -\newcommand{\learninggoals}{ - \item Know that the SVM is sensitive to hyperparameter choices - \item Understand the effect of different (kernel) hyperparameters -} - \title{Introduction to Machine Learning} -\date{} \begin{document} -\lecturechapter{SVM Model Selection} -\lecture{Introduction to Machine Learning} - +\titlemeta{% Chunk title (example: CART, Forests, Boosting, ...), can be empty + Nonlinear Support Vector Machines + }{% Lecture title + SVM Model Selection + }{% Relative path to title page image: Can be empty but must not start with slides/ + figure/rbf_sigma.png + }{ + \item Know that the SVM is sensitive to hyperparameter choices + \item Understand the effect of different (kernel) hyperparameters +} \begin{vbframe}{Model Selection for Kernel SVMs} \begin{itemize} diff --git a/slides/nonlinear-svm/slides-nonlinsvm-rkhs-repr.tex b/slides/nonlinear-svm/slides-nonlinsvm-rkhs-repr.tex old mode 100644 new mode 100755 index 364eeae7..f0041336 --- a/slides/nonlinear-svm/slides-nonlinsvm-rkhs-repr.tex +++ b/slides/nonlinear-svm/slides-nonlinsvm-rkhs-repr.tex @@ -4,21 +4,21 @@ \input{../../latex-math/basic-ml} \input{../../latex-math/ml-svm} -\newcommand{\titlefigure}{figure/circles_ds.png} -\newcommand{\learninggoals}{ - \item Know that for every kernel there is an associated feature map and space (Mercer's Theorem) - \item Know that this feature map is not unique, and the reproducing kernel Hilbert space (RKHS) is a reference space - \item Know the representation of the solution of a SVM is given by the representer theorem -} - \title{Introduction to Machine Learning} -\date{} \begin{document} -\lecturechapter{Reproducing Kernel Hilbert Space and Representer Theorem} -\lecture{Introduction to Machine Learning} - +\titlemeta{% Chunk title (example: CART, Forests, Boosting, ...), can be empty + Nonlinear Support Vector Machines + }{% Lecture title + Reproducing Kernel Hilbert Space and Representer Theorem + }{% Relative path to title page image: Can be empty but must not start with slides/ + figure/circles_ds.png + }{ + \item Know that for every kernel there is an associated feature map and space (Mercer's Theorem) + \item Know that this feature map is not unique, and the reproducing kernel Hilbert space (RKHS) is a reference space + \item Know the representation of the solution of a SVM is given by the representer theorem +} \begin{vbframe}{Kernels: Mercer's Theorem} \begin{itemize} diff --git a/slides/nonlinear-svm/slides-nonlinsvm-uniapprox.tex b/slides/nonlinear-svm/slides-nonlinsvm-uniapprox.tex old mode 100644 new mode 100755 index 77d54b83..e452cbc2 --- a/slides/nonlinear-svm/slides-nonlinsvm-uniapprox.tex +++ b/slides/nonlinear-svm/slides-nonlinsvm-uniapprox.tex @@ -4,21 +4,21 @@ \input{../../latex-math/basic-ml} \input{../../latex-math/ml-svm} -\newcommand{\titlefigure}{figure/circles_ds.png} -\newcommand{\learninggoals}{ - \item Know that SVMs are non-parameteric models - \item Understand the concept of universal consistency - \item Know that SVMs with an universal kernel (e.g. Gaussian kernel) are universally consistent -} - \title{Introduction to Machine Learning} -\date{} \begin{document} -\lecturechapter{Details on Support Vector Machines} -\lecture{Introduction to Machine Learning} - +\titlemeta{% Chunk title (example: CART, Forests, Boosting, ...), can be empty + Nonlinear Support Vector Machines + }{% Lecture title + Details on Support Vector Machines + }{% Relative path to title page image: Can be empty but must not start with slides/ + figure/circles_ds.png + }{ + \item Know that SVMs are non-parameteric models + \item Understand the concept of universal consistency + \item Know that SVMs with an universal kernel (e.g. Gaussian kernel) are universally consistent +} \section{SVMs as Non-Parametric Models} diff --git a/slides/regularization/Makefile b/slides/regularization/Makefile old mode 100644 new mode 100755 diff --git a/slides/regularization/attic/slides-5-l1l2-adv.Rnw b/slides/regularization/attic/slides-5-l1l2-adv.Rnw old mode 100644 new mode 100755 diff --git a/slides/regularization/attic/slides-regu-underdetermined.pdf b/slides/regularization/attic/slides-regu-underdetermined.pdf old mode 100644 new mode 100755 diff --git a/slides/regularization/attic/slides-regu-underdetermined.tex b/slides/regularization/attic/slides-regu-underdetermined.tex old mode 100644 new mode 100755 diff --git a/slides/regularization/chapter-order.tex b/slides/regularization/chapter-order.tex old mode 100644 new mode 100755 diff --git a/slides/regularization/figure/avoid_overfitting_01.png b/slides/regularization/figure/avoid_overfitting_01.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure/avoid_overfitting_02.png b/slides/regularization/figure/avoid_overfitting_02.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure/bayes_prior.png b/slides/regularization/figure/bayes_prior.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure/early_stopping.png b/slides/regularization/figure/early_stopping.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure/enet_lasso_ridge_mse.png b/slides/regularization/figure/enet_lasso_ridge_mse.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure/enet_tradeoff.png b/slides/regularization/figure/enet_tradeoff.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure/eval_ofit_1a.pdf b/slides/regularization/figure/eval_ofit_1a.pdf old mode 100644 new mode 100755 diff --git a/slides/regularization/figure/eval_ofit_1o.pdf b/slides/regularization/figure/eval_ofit_1o.pdf old mode 100644 new mode 100755 diff --git a/slides/regularization/figure/fig-regu-nonlin-1.png b/slides/regularization/figure/fig-regu-nonlin-1.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure/fig-regu-nonlin-2.png b/slides/regularization/figure/fig-regu-nonlin-2.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure/fig-regu-nonlin-3.png b/slides/regularization/figure/fig-regu-nonlin-3.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure/fig-regu-nonlin-4.png b/slides/regularization/figure/fig-regu-nonlin-4.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure/fig-regu-nonlin-size-1.png b/slides/regularization/figure/fig-regu-nonlin-size-1.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure/fig-regu-nonlin-size-2.png b/slides/regularization/figure/fig-regu-nonlin-size-2.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure/fig-regu-nonlin-size-3.png b/slides/regularization/figure/fig-regu-nonlin-size-3.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure/fig-regu-nonlin-size-4.png b/slides/regularization/figure/fig-regu-nonlin-size-4.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure/fig-regu-nonlin-size-5.png b/slides/regularization/figure/fig-regu-nonlin-size-5.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure/fig-regu-nonlin-size-6.png b/slides/regularization/figure/fig-regu-nonlin-size-6.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure/fig-regu-nonlin-srm-1.png b/slides/regularization/figure/fig-regu-nonlin-srm-1.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure/fig-regu-nonlin-srm-2.png b/slides/regularization/figure/fig-regu-nonlin-srm-2.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure/graddes_vs_weightdecay.png b/slides/regularization/figure/graddes_vs_weightdecay.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure/l1_reg_hess_01.png b/slides/regularization/figure/l1_reg_hess_01.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure/l1_reg_hess_02.png b/slides/regularization/figure/l1_reg_hess_02.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure/l2_reg_hess_01_plot.png b/slides/regularization/figure/l2_reg_hess_01_plot.png old mode 100644 new mode 100755 index bd9d5f60e531044fd971967ab5f336e27d6f3848..573986c9c0755c286606b8ab794c0fd5ba16ebc3 GIT binary patch literal 83423 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 BfE54$ literal 80375 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
    qwpgdD+A6 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 h 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 diff --git a/slides/regularization/figure/l2_reg_hess_02_plot.png b/slides/regularization/figure/l2_reg_hess_02_plot.png old mode 100644 new mode 100755 index f3adfaea0c0ebdbc97a8b3a34c11d4507a5e7ebb..88c5602e062b3ce7ca65e5ad9785d38ccfca8686 GIT binary patch literal 83665 zcmdSBc{tSl|290OZ|W*b+Dlo-khLMgphz`in4-v@8br3NjU~D$6%{jM8Ota!lBH7i ztyMm@vesBDgX}d#_UARO>wEw1<5~W{pFcXL!+h5FYd_EPJ-1JpoDleH&tE7MN&tWI zm?;Xi{woT#?)-+e@Rx-D@aw|IMz52WJ}A^db>6=B&fQFEE@V+CJEwnXtLf5~gX0F@C629eoZ2G0Bw7$NaJu?pd-rLFiW`?+k7=0;Y zQT(s#$0A-_Y>kO)ki2JLbW_1-Z1~hcytK6V`RWb3u07kp!KWNld8!(yGHAX(uqT86uT;)|LT#mWS3~SF~=FM^YrJT@0%8lw@8q3EubX*X%W#U=8Q;)<+ z6Ac>w2fy$CFO2g4`H)k=ef!S)n_T-k`97+y;2KgSA0e#oj@E9A_4g|dEbdBoGaZ^~ zoJjxT5JgTNmq*-a*%|r0)3d*I*bb4c`ReCdYGm#{$;*?rEI8>@)$)o2E zPSc?3=tf>xOxK{$yw6X26Ry7KXwR`&m{_~Hb2vOee*@-3@%+Sw9?gZHdHrI6k0$Ll z_h?kl=jhG%+y5xv8Tsvz@C?UrT{1#bl_sf6keXsVPhkmJLcN+R3XxSd%ohWxxYik> zn$$BBaN5o8VQx>VOi+Tg_vEAEM~?EAs;LX|BV}cmyg3#lihEO17_JrxXIBBE)E^Kr2w^kwPaeM@4?_7qbl9W#J5{aKH`SfFdH|Iy^02UE1iX4abIl#)35 z+3tS)8BdDIhHtGOepSqBm^23Qg^QE0=eV5QT3R6oDLr^(qn8TigocJ~hLoAfEuy6n zYhBpBTH2HZsRP#eJqrEEp)C3N7cXTAhBu*rVVav;=R|le@*@_9oU5g&t{yh@7KJ_{ z-|@b#m4C8?Jx9)9V6SfLf1+l#zF3n#%!z|&#$Yak6FP)ZPh)!;&*k2YVuhHe<;=|;RWr|RL>br8e8hQ=j%h%l`@fohB8HvQq$qvNj&rIz zKeG479UQW*mPW(y4#|2VTVF7#t8z+6OxNvE=iboYjaN^H)1J*+mJdp4W@i+2H2md) z_A4YO^;BUPu9YgI+uqM4XKcboxfW+lVu||u)ZvmlmE7^I{)#ONH4sw>8fh%Q8Pi1(XT07m(`7wwzH~P*& z-Uxnwu`S;|NGD`ZKRa@;GHtHyci*43-+xSo`VJqO6hL*wVzLO#Tr|n#{u)A2dj?#K=h+x0k7NUZ4e_}%JxrwUmgk$eTs z%9XL3ay!$W3N&>kS@~RUs}jXpyRH1?I&7#h{@MHV=8R6s9%;K%<@(`%=ApO{FHD|f zQf~V^t7L{9> zZNKxXE|wC$=V3#W$h4t!|GjRepJ@%tb_##y*+c1lDg2F{S_T^&=ZnwTqVuH3@n?|g zKm4KE*}nD`PwjNBrmCFdl4)84$h}%xP8B!qY3}e>v+9MYz6OOj%mAK(?LEfCZSH%p zZdV!YQ8L8!qZ=Onx~8A)0~M`!i799pQ3;tpToo#edRFbmBxi7tMh+5-J+e_nkWF++ z^p0*hagZ7EwKK&zoj7;5)!y&E59;uSi*%X<$wP*8FBTl4`JBe@kom9sW<~ZSxUsg$ zD`!si_ANf)dB@kB{~ma64dG^f;9GHVw_Pl?Fs!lIwaQ$!?dWV4Pk zyNOKEo#03K`E^UIs3kX0SMZZzE>r3OpfiGw5cC?bg>6mM0E_p!~V)<(BLU6>M4 z)T<2bQW?0F+en|RWV@d@-k)s0boRLj>MIpj3f`B~Her{#NQ*P#ZF!?RJm z_ffq6Fel6TV$1|taqWI}-dW7?XYC#Wg{P4t84IS{LZ+nx1mEf0wvcVf-+@ODjA$9p zcob4$@w0>`$QHPdbg0oILKj&%0`bS%Cr;s?M_ZiK!8^636Iyl`cP=T8mRl*fcF3v5 zNslX~7gIChqR?Qi@!kMk`=xevkmvsD#p71)?jQ7LP{(xSzCSXTNmWj_YVmKCvJYBT zqA_(6m=^MSAy6D6gsZMh`n2EZTYO}1i6jjN+4bN>CT(Yg{)(nUPjQ@s=+x3KYsB*W zgnJ}7T;#lDhfdEzH)I48v8y+SH`s&@7hXcxkrP*z+bFrY^EKI*eNYdixEx6IduwUo zju3>Vu90%(W1Guk6&x!<-ts%=6aIy+w8*&M_9oGs3(H8 zw2K&$hd4Q-dg$*AFlM60aNr4#hZ`feF=<6 zv{5%NyYWeu44Ivx6tb;fW91xN&AgV@k6yjn9q>lWT2e?~b;vUD_(akhNKEwLms2ZEY)`L=j?`nM4 zNF$}L^>yk^C3x{M< zNyVHv#rVC~w0=pF6GGbuJ;0Hh*^^shRT5+PGnci|B6p39=@HTS!l5{6BAnYVCFvs zZ{;5&GVU+COwm%N+w#s77!>leGj3f=>tH{~d0!)Dut6e4w`8m0?H5j40y2-5`<*x+ zN!TMAcGb!wwxPxGK(>4FQH!1OMs=Nf$7oFHxbB6fp+{)O!e53#DWccss}#R)-!pFF zyAB)I=1yJIZKaX%vTr_r)ZMAL(1z?xDqdJv8U2`{I5|Ahp2Poi>v|*RW++`mS<>=Y zs#sUW{AAU9XgzJ!%KkMlI)34BemK2+$G1CD4uXSM%HL+)@25<9rXJMdO7NDc zM+KJYE@UM3Iku7Wmm{nOp8p4|hP5S^%n!@|>12}J?gzYN{sKC@bz%3QSc>z`byq!t zTuQVH?=@t!6l%Vu^O`8_1iA1N2j49I`SN$~e~-(<9zhU0ag^CW#dN{MA2tr{VT8DuVB_!0PqRq2IB=Im{XOzL>m}ke|5~*k zbQdVMan6tU?8(zHaxb9k{{gLgsezDWdy>AEN#unsPd=U`&rH|O> zYMpIe@VGA{cRbkX<`uKT*{Z3z9|_RQ*s*l7N3B^GT}XGXp57gx%kCqhbH<&tb|^m{ zx3)r7jX&2cX1_71I&{{V#vC90-)x_Oqr?!bYH4~4Lb@*~ze9tkNZx+X{pQv3oS<|Q zl=<`ayc*AsUH_3RnmDRlxkIsZwz;cvntV#vPv_dUM-)%gj~h76;MIkbg@rpDt!8#} z>fG>g{kJhrbuWZ$lBJ-33WGF=;n|xXTJ(blgVyr}c>A`h?v5OT`uPa$ELMRwXE8() zRVX6sO_-vGc?;d01|@!i^PV@3dZDlbN5HI!^Cs9#yl3JriU5NFBbCL2sT;Hm5 zH=(zyhGlQR;XGMMS@d?42`=oMrpvY>O_Iyu$3H0G@ap&=tA#gD^zI;=LgtW1Jr-N zbY3sJdv{-Nq|0H=GPJqir@HY5UUsWgHd|{ZMS24>)>~;(!CvUiULjFWXL|ngU^{eh z`JaZ9i5rPj+(t7r)N&jm$jcpBv`5y%D{6K0rPaw0wM&NL9mc^ILAwyPjL;2etCJUM zmkLyM_%j!fnXtT6-K&_{L(5pZQ*BSN7X~`C&D7cC1=p@87^UsK)B_1gboFL zZWjKD;v-1Z#&;YGkdeP7Lrz0+X0C14s-NEGc}h{mkW1dcC7-CFW2EXcaSRD4xA>1E zIhkwv9*{)~GTAGRjmxDrRZcbs;X0Nk?4Ij!r zmlN4i5RNE{$RKn~;uNX?7((S3w30c`srxrc3nkMjp)b{w1AF_S5o;Z4y*J{40IQsLMD& z!(C<~xMd=JP{@XExZ&Hp(bFC%qB->+dxNI_3`9L(oDoUm8^+T_sgh5mZKZsaSUI^0 z2X(DWgZdgiz0(7}Na74R*FFhLh*NI8Pe7kkR3zh$whh`ow@UM{) zC%tJvXm2G*raXr|7%LZPz*>i@Imr|iq)?4`OT%zu`EGh>M^+tRFI<3Cy~O2s)zVU+ zG~Qwi{>>(Uv682lxbm~7V786Ef!p{3q9YQAS2=?GC~+6|YI?Mbcg-3@=DMcUJ6(Vq zJ%=^jG7Dj1v!&C)s^y( z?U-_D?;9Uedph%e10Z@Xf3d`dby<276`ixt^*G0|BI8_}=yfbxTEW$1SdyLk-+YLM zd{`=?M$?MoYaY2KTT!)RD54IttW zR9vzJc=RLRnLi#=ard8AwAhh$(Svh?f13CcQfA25fk;os$q+$QNGt}SV)y|Igk1IN zlG}Dk4L4bPlU}6Rm{AY_A;2e1YKg&Vt^>deCcT@NhQ>;)2P6llQ$%|fj15A&}-!A#jjq0ZFOdT1EublI+w$b+<>Kfk?Ie^Pm6eEjO^K#>k5xq4SI6pL9#q97<#L>PdOH=G@g5*C>tkpN>f} zIMZ_J#y*b)+u}F*8i)G+^uJG^UeQcz44VAn(UaP2_ABq5Dp;Z=Imwg#e2m(eoaC&o zd8E9#B4ER}Kau7`m9(Y1LDc;(ITQVirV|0|S(P>SdfKsc-4&D0_HqN<*Q_f<;%8%c|ovp{*_>)s02y?y95V)gUES)B(iOe87@oa*qr5<}l%BKGdN_dt)q12@f6 zHxDsPA4C8m7LF_3OY!DkFFRVyyHq>0;s)PEJReAvA4it=*_WQ4%l=X!^--yP_s{)} zY$)%tW=vi!4b6Bt0O`_@!R-|aT3rx$fHCeAKepxil=XkkriT3NVDo$aZrL5?!{x*vG%n{; zEv=GdhIcSPEpnfn{nDJiP z(B*29={=%*P+`-{`!zppmq{+uaSW*Uw#lt`r-;K`QIvWN<^>129)k(OkW6j@zp*dB zZg)~?Ch}y^=WEY&WMj+IkBPGrEzonG*w|8`@d-d3XhSI83NYLvG(Z-qSA5Pkop01M zHgA_P+Bv*Af~ctmiHjYuGpuyAmBL|2_n?VZgL$^(U2@ZQ!-@=r0QQKmEj}Kyn)zor z+ID}}qSsYwnlcO8C*@1EMq0?>{-YMd9N|N*#S=nS5yEeN#qAx^OVzoiVLLF^-1E$R z@Lp2S@KehU_p=#Um&c7t5Sir5weHm6A0y`PCCAU%l6J@+A~S2QuJ{kGSUn=NR9Z{Z zLbXNHrxO*KxgCs`)M30Sp3G2?>o@#$-FQWf(Vwzdx}%v|;`|;vD_a8{&9%7;GPrz+ zZFqDkGk44+RYE4V4lVUk>yAewHmUFZ59KYua{0V-h0}8 zSb6wq_wR~;;nb$e9ACL9*&09(_@uxFn*xb~$nZ%*LhXNju|Ed|x}aE9!9Jgw06VkVhg$(uH{w>lDNy(k|kk_TK& zoKgUI(k}4TPD$hach0dZfk80q+Xr5G7(?2B2glY~J>mz1*I!R82CjZ^j&>Dm+V!rk z389C3&r}gNzJ$hijDxI!nqUa`=c5y20v4;z^xqqv=xLKNViXv`ywnP0LT`1Ck@Mgn zduoR=Ku-xAq^g#-K;xY?77M_{dRfM;Y2&ne8?_<}CCroNClZP5ovTjD*4{YuOnnHs zr>*M4CEIh5Er4!_GKVJ&*xTgAdUS%ME&ZjF<=)o`@*4GxD*Rl|!#2BFV@Pmti;Mp^ zuqi>$zS=a<>bOySz3+`5gp_X4t7q`6Z;j*e_3NJ|bT&;s!_z*y6qqdK1VtvSBq^%f zMbjpF_A4Ix%nq_{#w!{^)2?$Zpl5RLK-0c5t2R%wW20(cr0p<09Pzj_2L=!QR|}9~ zt>CJGk3S>BH36Jzw4tIsqg`poA^EXq)lo00zRBc0*a^I?{N2txd(-3Aj;s?JXT2x2 z8AA8^N$)IQ6nS3J;ObafPLq}gLeuh}XXRKt-Ctp{OM!xQw*Ze)ov)?Y&(&F|KV8-i zUAXUmNxJwpZf-1%%SrMdK*ot!()@aK>$fMOGLwJm?)J-T6jWFaCWXMrJg=ser^0WkJ;K$M@IoH z?ccD=@&4-K@;Qf55$=vYfr}0y?35k>vmyd(EDGp`hOQuuh zZ(1!n#vF^nX&wP*!A_1f)ZKI-nDr?l&UFjL<&#J^_?0sU51#w)acXef9*Y4LpX8fz zVhBAFMr?T>$~_{xs-IM`MN#vgrkogq+X$GMdkkhlk|bEi6CKRS-MNal-2Z@T8%R}< zQ;jlDzH1?y?5o>3BEC>=fL1)GdfUq5k4sPbp1VbtvO5*!HQ$vov^9$_|M_!c@6aZw zkJh%=m~x-(gqSYH%e&rR&PbNVc+KlS>B(3=+xLL#y*p3XlUh~t7CVj~{O}KSeP(A` zZ}pPGB_)f!9t8n~3+2RkATQ0W@+Z7w8_YUPY@9lcVaPhRPp(y?i{rV4mwH+*>;_tC z3F?o5=>!@t*;jCn)ugWDG0Lli5 zA{L`9PMXn&46~-Ld48&I;Z4uV(@7JQna|A0TwL^OLiFclvAqcG$R-YA055w4UUp4g ztO(}vvDrf!!ve8>Q@umvy6}^#jw-)<3NE#1*V3Qe##tILBY?<(r-MFp;X;@d!QVb8ch^odvLBUO2UH!EOQ?^d*18qibU@g~0{LSWe;S`8c*W9vfV1G?wEz8| zO6B&+<~4)~8!OGH%y$C_R_T|yK&P?1rQ&<6qT?CrqokBde0f5lE#!y>WO3PAdz$mp zbBl^Fbf%grTn>v_Ovj9t^9FG)X9Q6o6(OjBFJ~sm%fl9Sb4E-4>l0)8cY28O{0eOn z&qS^YGl;{cuhoGJfP^CvAx>KB9?MG%{zT?j;+ncE+1&?zv{uj5hgSAAMITWc7EqHg zFIvs$GrUCgZ{`u_Rjddg$`!$?G9-VvYhrE$$~&@~I( zb}_kyxN!e-Yx1x;2KhZ?+6OL4AK zJId6l3R*na7x?8p5N!dNV2avx)M;v8MPF-TRO%V9!F+(zL(gMkmBjUPOs zd9}5iMv0{#x881@U|yCyBj3?giX4>^`b6BzM8p`SIiPa2!VDh;?I?I|AH%?Sga$otjCvbVFX4(Y1rIl$f8Rz{+IT9;Ms0s1_-wU1zW{Qx;+GDcX_7-4O84m z`@L|0=UN#!_C7v3-;l{*@gW_(mk zxiqQhosKMjUZpleqg3qE+ejgyFOn(;KUjD`!7eW2;LHMrhXk>+LV-U`0$&UAUjb7A zDO6s@8GBoN&;FWJx%XbN8xsb{K5+2o|L2;oHDvi4!gmNg(HeGF-zX@VIxEPk3Wx)! zFg&2bvhZDnhN>iKKOMIb65Re692-sHe%*XZFixAHD$??{0rG2XY2#dfxk>asa#o3B zU3@LQ;cpyr@|J+=|2pB>odP#s`SV&cL)EiUJ2f_Sc4mc+3ki7#Jd9UDN`Ji#)w82_ zJF2%aH9#WE~q<8-` zyLOu9SG2g~(KY@1-j}besjj|w-GH6Td~OBTQq_*>>S*|vWL^tAMn(VrDEv4t+i;@i4pY;6JC+gk{=(Y5n#e&a?7 z(Unhig_^`FdJ)fnO5eMi&ldO1Me=mhQ)VuUi{ppgn#`29-zKlzD1~N44tqSDG z!OC)a?|~ma>l8S~Q?97M3 zXLIh`SG;J61LmRJsvKX??jU$^N#ai6b8B?uDVfYnt(G`*g5}LlQ)|4DV<^KldF-bH zBdKH?@h|}CFG{}*a&Q8 zA$xeKt9;Vv5p`N|VuV&g7PR7GdLLp)=7i@&qup`OHeb1YKiEd;ayh`M?ft<(;E^t) zZsM7^1_wGOIaiI1WB=d{f;?{0ALK+RcZ5s`*wSe#V^$V=N?S?QF)&sT#hc1P!4MoI z1e*JM=9tRLLk3Y$wQGCFDiWHa=|naIz*HIIwE_t3)9(KsoC>poXXAp1;A6Degj}e* zASzsfG=W!n5RWUxP^i}dq9c|b{K;$yMkQwok?C@?(q?O?fxDpLkfPOGxLXitgy|Z^ zh$L;zGC%0ZtYo1(fLKt+kg(+SvLD9ybr;_21&<`GSoNi@xg@?|d;7%+tfLtg?RB0j zt)jk~(QZPIICVC}-oH!y2Qknc^j2fdw$BSB7$WBnbMU~x@SbK3s4R{My{iiWf)&N( z=yLEkVJhyieuuUczLTD8T3N^w=jh9R7g0QEagxwUT#{fvoHBlwI%yP0FFO@~W#dD) zQ|ohBL*I3!btVht(e*QN^!mrr`|9b! z3GG^{9~~BZ6TE+qb`OOKkuAD&*cH@@Ct=aobEk6 z(=Rsjd?JG?r(vY(_|s$kCs1=}aHS!YO&n)t1n{ufm_kNN>n@EtXTtpp|J?g74qv_b zl>P>pN{5pWnBI2j1K0s4fWn~)8g6nVgf#(#F1mW3KoBV$-n`S;%L_Xo2w-=O5tH*3 zgqXFo={G2Js{EajhzxQ(+IrmHJdZKm`|u)T-xD@DA-rhmde6fiqP+aTpNk%Qx9M97 zrmKx!KJ(pb&q?{)I~D3n+Gax;^sH*FYu}E)6oS}d+15@NFD)x3oZjeyAI-LXSR@_! zm`Gq@ewj-s?c|sANuF9Lo=WX|sP-kbTk|J5vu)BgJReL_VDj7w%dgnl-fp%9cob7+ zO5!)x2crGIV0ITYvs{}*KE7ClUS)S0vmjez7r0i%xi`oGG8MdsFR0#dv}fRJS6))WmmpELh9)%je>p{eJr^uqXrRd1`T zU}yt`^*ph|sg4&PtCSP!l^envt2JQ~7gik>;0p*Ihyw*rg4}0B_xVxQx=Z(Q8-aO* zUMj;Ke8j-pah)wyF1g;hZZaf$fr)zM#Fe(CVv=bXm$)?qtzy~lrV3P3X>@M9?~U>L z3tJMR>{BcLj5vl`$W-=wkd3-eWgs$F@P{lhy^`a|%=nTswQ~~x*uMtKs+zZ7FE65XQaI%EjK`LX(JfR#luxjZzR1Ttbx_0W4aE`;&!h} zZT=0M8bz9%&YdfjM3(Qk1WLsd1mYZgC(oW8CV_l!fh7C7_W5rzA)}YQK#t)EiUs7=Wq;BIW*ooJ}A1 z_w@YH(;E&lD$s6TmQkk7_uz$U(_aUF8#(ScDB#9WdSY2{)oPe$s?bE}T(9j>OUP+g zrwrxVQY|Iygm;k4uLV;9Nqdm#S^H~2zlCUucNp1moUn?FU7t3GPvu&g+k1!b!1nUw za-UNMN}=b)L3|iTQ?1u&S_1`s;?)UtJ_(XKaHK-OJG>SRZ8)pBIhM#il?2j?i(F}7 zPkCPgNB!v*-g8$WZ?-dooP=}V@c_-0j!wd{fj;%%1>`0mR#{bhy~2G^JkS)$!vm$#O<0=^__=vdCOP0$i3MQ(m@g_>?E+{A3R5^!eUN=%hNEm9>pKwx*5A=%=!uoJb@K?wagP}N`u4$RIqGNQGL1B zwe&`fqdFkP;4*?)P%6qMH@*VZq>2EStVp2_-YHO6nBe34{SUM8>vOfRGJ*7FIybsQ zF72JX!l*iO#@M@h#+k z$h@*# zQ^kL{br)!+G*^L$5V0^Fgr(oHTe4qnjX=$F}5O9EUNUAhxGY@p2up$cbfdj~D zK_0S>kM4B@>-a81qaSVNA#5DT&k*_Q#X)Z25a=jD^p>$1y2kPt4N`r+E(^Zv^oZN=T~!2_w}A{vK~tT8yt7X*T((Dx4acP^j$jY)AiVy= z4K{mx`CNBHlNDmVFI0i49lN&D^+Xhf=h^MR}sgoD)6V1pP;HmnWmvSWT@tQ_FG zC=^KD1vq#m$b@`e0aF4`(mv?k-u+0;%p1>I2jeL3#OJFgY652^_;F!)Jr;eDBe=A; zN1{uQwFl|N{TPcS&e6dso-uHx44ft?GQPzS1D{@ONp|6x zd{8qQI{;cnp5$GND-Clg=x>`k{>205(YpugNKs_B5Qf|HlRFfX)!J^h`|osITp)g+ z`l)}W$PN(74Y^rz^%)n3)0Ay7PYWDk-9(g6l9GLCaejBmH&{!1{%$HO3o&r)Q8%Q~ zRIM_RKAEZG&kN25db2QI-Lo&*#6DH|ebrw5W6I{sSwEmO-W77rbtzHkzp0vfKVE@W zTylIebMHc|^^TRJ2}sxE$mMZBb(qWL+U;m4{~wO3j=Rq1+sTJ?k%V4-N9yi7wh#te zrSo>~+7ITe_)@?nQM}`D4E8awwFQso+DrF3-#%+h>pjb~{y-P4_L8#tPOqXfW@nr> zJQG-5M!8s?eVut4iZOjw_YvUgAFrxGo4`E|<7mC3ZWT^zYEH1a#T)4;0Pdi=VGr_5 z$76saIuN>w10x7<IVk+^;wYHbfHHDYFJ)Q1cRnCNme-+|^^8f|r|uTFyS zzLUt9FnRtsUNW{TBdQ0P&M@z6Z^#I63NH&n96w{6yKE=fQt^ZGV&3Du&i5ys{8f~a@1J@Uo+MZAXfvX5+o;qkeM!JE zT&o_&LQt*vl1(Q2dUJB_-aB$m&SfZpL@fwh7Y3-g*}p6>4|0Q&^3e7l%r(pe(1b0D z2PZ?6XmTOjH#}Gaa+Kq|W2*g? z=Fcyuu2>$+JlQ5TA3oM2h;F52oWV8Hub}bSI+p|lk1RPE`#UFBUN&Rfvx_e~%Jx$q zd#YzknVIKYl5CwQu#scv)TxCm>U;DCwK`<86JU5FoHQzP@GopkemBlSkK-BiXQoR2 z*pLnVFozqLml@%;;@KYt2y52knYlcI7)XkLX6p|qwC@PW@swA_b*mD(dr~xOAv^v$ zx&O_s3XQdGvApFUJi=39W5#4Vj|!gz|FxTeo~!GmP>m|v<4M_(_92h2oPPY;3BO1>dvhaSkC>&KJJ-XSM#;# zXhSrSvAtRYD4J1(CP$%K^6roP0*h`o{4LcHDNn7(poN=z!a5(d+%jn9RbFSm4m_i2oP@sCfS201JpbYMzYzGP#~KwvcttP zm!5v<6tyUwpl{mZcz4ee`Mp}zBOnsX3Nh9eODKthiQ#H$L*I8)P{NZw*D1^9v6n8- zw1;Joqi&xH=fnMl3xhsWxx$WF?nUFrch{BVK5>_h5dPf!^%i{qdjS7&5B)05u~4-7 zXK}g-aNx<>8xG~EH9s!yig&cBgCm-iA{}qlyQX6L0#vnRvicTG&naE5lh6{|c|MT` zKmGTPTrwY*Y-<63qRPPVnr31bTsWz;x#`yjVxX!vfP}}4QWh~M@T}=*t1wYOmPlA2 z5nwG~yTqp#vSxuFqW_$8lp)ta1^E;M1?2u2Cw<-yF)7d%%_nr@E=^1(LNWh(F^(N0 zXXe6MCvL=yuBA25a183|QlmECATsV?Ggk)IqrSkr4@zDbM%I4=QNCYq*VbJix+$1n zR}&C4w%HfYBEmobTdTHEsBB(7;QR#OCCmY=p=7%bb;*QxI)&MrK-2N!tj^rW zRGp+CR&)vwtpPhxz&rEq9?#o4B)W}{?&}dtmsD~*eGILTUU19kw3=*=KxSM6Erv?$XnGk<#O4#FlU9oM}{mKK5%*@psL z{nLpAqxO#Y^_ShcfQNY8_IZzItUTkcE4kA)ULM`L^0Ei3I=S>?f>muB-UFFZ-5s)gs1-^U& z{3YK%F)l8uhVKS;Rw#wxcRO$Y_b(JtK&T*?5=ntY-q1MyRPO3Ry2+ERU#T$$RKWfrq44| zTbXDoZft9qDWWp4(rjgx3@L{509w-Hi0zrgYw7z_ zbjr#H#oN!ERZ2LWJ^9Mp(tf1tuF+#<0CTh%x)Hx%F<6y(J@%_X&Ql!;;oz1bkGA(XVRH~7rvX=4MsG4Ze$tZDiY2SdLBYk>0;sNg zeGB8LF91ObeT#jUS&;L~VAo_{lSZXY$F_g%H})o&%dxx0`F=8GqCAS%_FRT}kNj_v z{@ma^Cyt%6IF=%(6S3v%-?-A(4SG844wnsmRexrm&az{R8Wy($Y7d}r^nIe`+0^Nq zj3}APw_~b~?;68VKq#E$N^38K*Hu^VdlL{eTKjrcQUhez#z$u=rEa>UKtmH8jJ=F? zj7#QU<0eir2buTRa*1F~P!fH#SD0(;o%cS;CCA~|yTQ5sgLQ0A(bJWvrRRKiKAJea z{+t0bH)-kwrg7=ld%bG|7oxfKmA?mGagYO)g1zu2xwz}kVU9Y5HZzC34qYfbPuF~= zFl-Lm{HofK6i{ zY4(Eit0}+kPvulp+wLwG)ut2>fRF}{)L<0UeZU+`-}#>XXwD?C{I%vQ*k%-m!*A^q z_|_#65j9%=(bjHYiJzf(oXD&Iwyh3@ww2#$SSmXaGCfmyzgKr9K(N4zeoOl}dT+NO9e?bcAH! z+WvBR?UZbcj?AGva@ih>=C8te!;3GNtbOjEOpG%di*`pBRJG+(tzVYL7F=&UdsA57 zvL-YCn~i)S+RV7cW4He99zEXZG_F-`);;e-b1o`>DUC^UBt zrMYsi#8;V;()=lF4sv`j7E>HB_i|z-yWppE1PQMF$9qFx&r{w;FHHmJdtQUq&T!>C z=`?FvxW>qXx>oLKlu@suL&Yk!@%dLNo>Lx|<(HPbJd&lf{Og0mcd!qo7zYJdWlNR& zHDv29394?ym8K^k!a9S{5&)Pe5e;6P<5(ojK3dGYH{Y^v)gs|*2!URUw>6Yj+*^{> zbL|o@dJBCgYEFHA4{jvXdvHh%d`T=$ zbv@5vN&%pQR)>9);apeyuQMvli{+_I5*dJ=fmlp^)&Kj-u3r7EXY=CC2l5t?4#jdH&FM-1f8b0^4 zjCf3k#7CxOkUOB6m3)V`a(KSsz0Z}~^F?oa4{5FaIPb+>sy?NY0rf5-rsn`V^}=bz z_vyC?kHY6boc_c3< zEnDsDZSqD3^qqG;Sjoq zJatf^9$fd75=~^Kv>@x4@5%$vVrncu4_gz1>DqXnOAclkYmwBiW;z;UNrK@(`87c> z&j&0T3|0y$BXp05U(tJ0V5dnP-EQaEUR4L!Z2-%^_fI#cJHX&iY+dbWU+RbOE09F? zUj5j;igtV}3;gZs?7na1(_ZJv>UK+?Dc||8scgGEpT*}EgTe3DdEc{su@OSq6Vz3t!WYupcYE+!M>g zWrE=6EpAFC&8iPqR(A_D4QWTxY!apH^=ne>_cY(og!gs?sno81a6{yyHQycEH(e+o4 zp0-8`@;e<(UFO%;O^+jk_u3~-XiJS_O;~9OZ?vP+f!o)j7m_F+9_y?v_q*nY&+l1p z^nLqxq56LLVRy6irmVQOm((CL_n+!r52ld6%ktF=4A9|AZI`_C9?hRE%9r-pl+~%_ zt&#S`Q@!`e(Q?MkJH9v6j^#H5eP~oad@HJK_#=q^Xq`8y+wT|#60r;AWzuGzzas-y zet$cm(U1;84YJcdXkJ8*GZ!b9kO@FAD0q-r5ktgTE;d|c7;3j289Cf{Y1jMiPkG8;HK6&Va~^)YknecFyI=Cz5zYMX*gsV)Ljb00!`n-oPzYWeIc^ev5xVS<yZ;%KM@(^l(h7o?KVEu>2@Xqrs3#QYrU0U`w&GjjsC#-rGG&78aIw*u* zjemvCeHW`{2io5>T-_iwY*l*h7!XsnB)9Lx_s+Zq371dp(6#(tDCf;6{CPGt=(hL^SQd1)vaGD_C8hWn560TsPp_>X`dK(^m)Cp*vbV%srczIBI0V(4G1~z8+uw!U*(RgDeGEBT?<;!kzu^+zew4W=-)O#2 zJpTLqD-PZt^w!NWazc_-D$X^u-YsG&2Eqd;-_i}fX09RLhO7v1nXX#ogK^y4(_)*I zKGA36&D@p;8zG5X`3Cq1>a!~7xa-aQ&S}wxf{_X9d3ZczRU=(B{>*UP-1z+24X=&D z$6+JY51Yi+>ze;f`frHtCu!@IA^|TvZp<7D!%;v+X!L=?tuKv?wcpX72pB~ptQi(N za5MwDYj;+()6Cz*jS>;vMttY7P*7udX<}-6N`gLGf73bmVvnYHFKrh@Qi*e z{k<#R;*#li!VbJkc27GWHP?&#J*WK~1yWt(2?YiH&N)dr%3hzP;RvpgAA={3ba7CX&H_8|D6z6@$!a<(f~MkwL1#ZZw(L!fSE&h2x_|_wO7BJLcf!p3f8SdF%v!UYWo~lsIcM+v>}NlFUy9JK2COf4 zPjzDA_VlMTgri5{CDp|FtT?b8mTQ8pSO}*3G1ztXqlY_k%SWF+zKM7je;Ra|aWdeG zg@_s3zC;|)$TeLq(t^%Xg0wipKlziyxK;o^h;O`7Ac^#H{uOJ>^)&(5381@tc|yBc zumi{a6QD@|pNDO}JXZVpiyO>^CrNgX5g4 z$V6;4Se_yw0~zv}CT*<|3sx;tBOMdg&CCxX_>Y8eor9}Ha;8v0#@DNPKm`sc%2`IX zChM}sIi~I_+UZXvXJ$$afp-QdDdoB@^4A|`J1%YGoS1o&pw1SvzVN;BzoGC&Kl>pk zA?JXKfP{rBQE^&Y{sp5H_%J!=(u3`Hg4GwsOIcj)&#JY$*9Mv%`Zc;h|5WMCypNL# z1L{MW7XPJKKb4U(=o})}dEXi&9amniBoYh#6+wDqth%$K#L$ZMN{)wQ15Q(5dioY^ zJbBc2dYydt>h{(~*;>lxD9!!fnI}LM6%B^FoK}+Bmihqy`;l3R^IJSX5#h@Q{<1Im z=s=#}+ut;5w$^hQ_$xp%gNZPA2~x5uwN`zqQnNfYQqRH8fgl9J`pGB9-%!VO`^;}z zRpHwJ9~^3*39x@sd;%Sd17}0*KMaVE)lri3mi#d5wiR!${d^TPwS&?O80KdG4!tJ$ z(*16M&fzPJ<&Yv|P4GOWI|4CuT2`(eM;Hk900TGK8r1T!f zLhncl?O~w+Cha{G(5)h2F1KS&qWF>Jw1 z?JSoxt%QBV>JX#PZJk_vPdGIPNTevn5!DGMcY#4%l&Y4=JfQX{ovF!|KCn}cS+ z(-v2y{kn<&+Rc4O7#=n(IGRPY^4**@+u? z9>*UB-zQl&YLzC5^wg;pto$pL2g7o4%mK_Y+0;)GDb@u62oa?*4cL9TxyC*fP zgHyeVq6Sk~o&rUA^|_#43}Io%AE#Wtqm@o62$vkUWxt_Fd_kww_GoxF(8JyBh@lLN zldl@G3E1@lD7!7Hy`;rky`4v@di$>fgW8)WVB!u@W3~I;^VFd0pQ4w%2E=)^U06(% zfef0e+g}Wk0GBtbyG69+2^f!jNCb(_QYNJLDHx?NX2J0q-?hy1w5l4b`K&h>Uw;fr zfSB7d;qOcqTx+1+ihUhSB!FU}BcR(`OJiEw!&un^D(zyO;%?GUi)cA$-2$2TGS^M8Gn^Yj4EFn8qKu@zAIoCs2uW6PZe zJ$o~1grqAJTG~J@)BNRUfbU+;+%CfbuIl|AlKMe6L#OH)XIUuQ<1oynG($FZqi@zl zUc?RC%@gjkR~?Oe?C?$%qVv@WN`aI?0@%)9up6}%6LuR`HQz*XH^?PR}1Aa|1JS9Ki+3#rr!<>@hlv9qC zfGPB^ABEQ*h;f$5$trNqK~$G{*$+oze7F9%b<_#I737)EcR~LM1hOE&4pe#*TsH1w zA!hu@feI01CkQb1Ux6h9N%|1UmSn28Y9~1rlKQvI?trHwrGFwfspzpQ;|+;_vDDh6 zJUSL^BL&{D!|W~raO`(^0`#-YD3$Ew47YjCi99~&G%}K$f?J)Zs6>D&9bluGNv+)D zDk{;p68-&_+BQ=xG|zsI&Ib?OW{PLPZ}0{W)$u>41F-Wp#iM~EOiWl5u?9l~U;=KB z$gzT`&h67Pu&K--gkOtSLH)H?Up*ci-<1wPcx#|HFxGQz5&?X)jOB{{{N z(r|_f1?2mH^NNK8g1K;uYD0^4`PhjQSHU>IAh@XzvRo5X zw9p>8;FmRlCk$}RN|MAE58R6~H=mJga_DM1yxYxdJVgaOGw{CPd%>Ktbud3M@Pu~N zz3Z<(!`b8YL8ji6cK;hly|adack16ve|3Yr_h)gflAm=XUOiMBR1UQ;i8yr&$4^?T z=H^Z#qjmwZo9lpddhcTdrUlV8r4etP1D7@d7NFrt-L0IrL)SbW_e?MGZ7dyikqzUn}zk$W^o8&hWAyVK3>ss=Q)>j@^;oKeSzcOPLF|{0K*T@(P%$M z;LpLPZt#BluoFHcV8?V~>Q^&2m6tl99n7)fKpTP<8&Oc~Ge|u}--<(DMqR^j5ulMu zKdsBwb|=6m8Ng_qlW4;sRRSo|CO!uxGFIUe=X=L**^;_v!)arnZxw;I2tk($m=f?L z;P#%sftxb13J1#DlHk$Mi?-S-2<06x>5$Y7pq&sn#}T#k01XfP6X zB(3w}pB%?T?N$g6P))l_5jB}}vMcvTX7I2~kJk?q%h(rL8}xgn@+3+hyiZ~2lxnSX zORM7;vRB&+UJWu^lk{C};v;XIEav>6!S|~C@0>kXEv)Z1VhFRIdNB2{mLnvg<@6V= zNiDGThG^BENv)e}wnfif6GOMF4hy)r#=l;d(3;iRL1g#W-h}dca5e`F36xDMd0pxTb zJm*(DlW_wsU+L2(H<{rSM?JBb5sl|V5Pt{W z8){JFUVxJ+brub~aQws!n&7;j#R(@Y=OjKO6#o_T!~WL25B@-?3L7-6h@*G+&&za4 zbKRYr?j1XF*?>yy_FE;(#1{R^s_q`(ieUpRR?d*97Zw zh8;3KOl1FA%$2*zD*m|%6R$Qj3^v-XSYzRU>w}on#?$;#V_9GSJ^}VuU9Wo!26RuG zaYOYUzgng(mvY#d%Uaa$THQo#oZNU5l;~w!7x+Fs;}R7FOlZJP66x16K&2njewbuRlcqd}QBbzg1kJtGnJm)epPVp2Dw6=KxbGQk!(`&`O z4sig3qW`zdaJtkqu&qVFG2p*T+BL*LyG`=l7*n@evGP|aX7Ui2T_!NQ@$oAW@&+)w z21qR!&=Gou4?`sltdovnnx|ey`SpWC#PYE4GHUuZno$7Xv%=jh3;qDuQ+Fy|pqM!R zpqgY1Brlv==tk@;YWuC?OP@JHqA2E!P@Y|u@77`iF#Cc_hm$~#M{zjd_hTX5h)Lq> zG!;6*bcD}2JWPO;Q4tMwPJl)}o8+fTH8}p%Tq~9;_XV|3GzT6AvDLQl1k+HzfHk;! z895EsKmeH*2-s<0%fXk{aUJeq#aeAB8LOe@KCycxmLe3}&8aPgJC;$8_)aXoz4Nwb}IH)qE3{jA|J@5E@y z4uw{A_cy7Bltvv3p2=x|Q zip!0Zf<3(b8+iHg@TwuR?gWXa(xpPm4W+Zy-!3J$;h>hup?tQ_Y6lpeg90)zaof}A zo{(dY9}77L9_fx&7q0bXEY$Ru`7=g=gzSSi&TYKZRIGu=R;1U3RjG}Eh`a)eLx_c9 z#7E6~ROUhuIg+D^s*x;S&5`m{TrZA4`X>8Qx??N0|8^h?ht}S=FT22VCPhOtccn=V zN6NgFXQ-Z^Ko@gNYUTJxg4soV9Kf;Ih(03F^-_aYO3+G>-sbP-H>CPJ9n{Xgn@kcB z(U3@Rd|20PgTc|z$ozNzY_-$3(iryRXsA-{k2jACie{lQR|#ZkrK0Q}N$!I|TC;G= z$%l+d8ckgb1sg6abZSKx1{ekoDRcx(-)TiW3h;jdDoOPx4q zSk58f2pw7Z3i2-XM!xlZ3FQ5cU#8JpAB7qcm(ipwrvB10m&B(e6Om77n>n`ZF*$L4 zzgmL{Bi?Vq2M9+@Z=*9b(cy;?C%sZL)DpM?39j>A=jLj?gf#~53k*WECIpbw!c^ey ztw^;XGUq>Gb2r#}(xn>*V;THxnl3dS6MpA4a48+2`{=asj(isPy)+?sd3>yNytA#rffRc?IBFzYvN=$C$TslP*6 z{7fDOPA8KVrGu%x=6AM%ua~R)KIge53HrO2Ue{&!7jxgZIbvE|hIzWYQnyq|3{D;D z!E|dzPbxM2PYaN?wDJP85%tnS2Qz40V>you{*B6%g7vBG)i996hslYrz=DKkZ`&L^ zC`tKElep=sOx@rRvYqCgzIr&`*#!PQ3R(7!M8cXEX~#F*F!bofCC z)8{ptG~V|C=87ZpG{2}pl#hkubqNU2$`=4OlHv^z!6L$eKWEP+ZNJ;@JhMIhvYRil z0X3)3w5UD^KpT_H^AK=6Ucos-;9*t#$f_`EA^lS@JO2$tm{M;od4CR=V{R+IK$x^#V0dU*T3D7_;{j0Snq&U$mrpKR51AHT6no5|*Mz3vy zq!5jvNrPWaH2gH!&`|G??z@Zyz z7%JP6&Mc~5+8FU9anavUh-;(<=pknT40sHNa|Xi060RT>f~kc_x3Y}3z`(@YS%{47 zf%nC)sHjx5C$;RD&@gaF)qvZ9-8u$_o+HB|^mvb_?TI|=r(5V<$tzcF=B6=eEa~eII z<&}|=8PR^jsCEbhm`{`dQ&R!Z%sAfi%@&U_h%$C##c28Rj_>ZT-QysO>!lb^vI1@; zd2p;$g`FJTda>gbvbUbYM)3S%unXbaipKn_MyJY9UBAlR?P}4wau8g;Ypg7n>-o6z zmNGSNe@x^L-=}He(O2e8Uq%p@9Z%KZwF9|8qHE>(0vTV4PZhj-bAM#svKpA zuzZj++yy4BXh^!lo#CMUfbL2v^Vs251&CYvs*^;3;XvIUyc&aQ2pp}oj~1F)=3g?r zLt1g?Z^MLi&YX}>Q=prC1()A9Ub783-gGJ$h=h9juqn@8hWo$F)rQ$m4}j9ReJFx6 z5D~`3Q76)}nkVx?j~Xp-oWtO+tl6Fdo+I@(x|l4i|II+R4R@CJ+q)|;yO$t3?dAgS zdfC$m5@;9=Y2&@^7Yz{rPSX~Iq1zYt15f~iNQt7Z9s5pJJnX(6zIglSkoYH(>fRF4 z2bFy4tSSKkFW@bz?RgNmEgAvj zHB2j(lOL%8+#d%GjkbyHVZgn^ciApI_kRpn{(bJT@7e3UC)VYz^=KWZ+uYZ&-RJsQ zp!@!c+1!_Xi35)A^0;E+JK;nHBjm{Rs|--q-(W4wbQ9a8(bfr(oxfx~d|yIlF~8{E zKkMLPvU__0)-?+u4;`l||CPw*@WJwtq+iL#^0T#7=SY(#F5-8c!FcAmTC}jGz;u`A zpL%MEkV1c}#=ZnE!F$dAFU;n=WtPPT+Mr>}d1gsi5PQFT8?bz``0KL)q!!DhNZqe> z8FHMEz=Gh8ltd&JQo^Y?{vI@2q!p(3!R*or4M1b;*;L~#h02;dO?z1=7poEm^lSk_ zNc(U&XC$2NGS69DXfUQW9EfZ$;$d8PmWywvGQ8Qqf@S`54$pI>o5gUa)~k8B<$!&)r;lPSxVvw17{ITIx^zf+<0M-ss=OHH06NVk-bkqFqcvUtWt0^NCv>? zngQ@;21%CTwY8(hgqmm3(a?3xtcV~)nD%$&4^62Gbf2UC^=@E2Y0)fi_3sf*(P(GH zFCDe)$N6F7vfXY0p9)S@ain9S$8*SBmUJ4usym7=cexDLF&sMP1Wk;fDc@4RpS6GJ z(2v^aSf?HVhiujlH7r%5;(npOGdZZZ$|nFkeFx^oA94ST#o9Gj8bAn*(&P19D0cCIY8 zZ1_L@J`h^yMie@5m6MQ&Nn@u1OLL5VgDSv-FNMQRLltJU&d_K_eE8(7F<|+=!0pg{ zyTH2Y=}Q8DxnpLeJ9FAZ+^A>Nr{>B|9F(E0c!TVd7X6!QN@o|dV(dRAxB?5ve z%zct52Yh;ju)eiXpYS==toB5uW!f!xyCbzrQv&$;X#fKcj!r_dm|8bqAR*R{PzhRGm(1;M%f5*o$`PU%Y~2MJ+) z4f)>D5{LC^Y3G4_(-QmjX+=zxgLP8hD7+%6Y1(b++vg(n=H*87cF;K7Ou_0S+sT2KLjp~FaVE7)~6uy@622S_S zbLvbYUeP(ubu8f9PT7UML9z9L1;;xdo|J2#wKO|$;KZ=^mI(}twBr8uEO!K67ew)1 z^A}Wk@IjCN`dY^NF}jU`On{Lff6`TQ=G`pI{g|&ByALaR?QYEWW@kTjzhCR)zZ|yM zHXt?i=8_Zct^|nA!0XHYe0M<;(|ua{o{y!L&53qc4Rg?(ptS(<9w2rAy#o~7U>Se5 z1lQ7}s^ln?%y{n29DerMc0Agtb4||FiN9_!JXF5C^Z00^FRRiBZGBYLY)f)+#`(AP z$`rZVSpMT2HU|5d=vnIRZCeuPZ-*H5MfT|~4k|r!1WCcx{C|-eMDdStRgvi9R1ge> zuT#+^K|}oe-{&?w1a=|C;ws6@#u4@*@%Ou;FZLX{<>>Mbg&VH(qC*P%jNV;}X$%&A zz2o%#y)t{hK8iz{p{G9%tgsb2H(vXEsOopg!qGeSyUGv>b-Vu3?a=N78Ot2rvZf>*NRHw%VyxV3X+9Y@4DX zZxulj5(5FVHUh7LZIU}k{|lFY9LxsUi+j2SJl0|x7ZxgFlxu>^GFjM{jE+)(U?JIB{DYuZe1^=lgDE!q}vS4~# zu91`fST757pM)di75vlF{~;CMnpFxkg2WVNO=~&C96u4bBTY?$+E*A68yZHPX+4CQ zxjoJlU>zB%Q^6x{KfD)-tuD9l>eo$CezwtXY{hfW$a z>=L#&j~uzEW@j8#~FE@b+Xx*j;WexoO|U1y$b@$mgj z#3sug&fQ!u8I32G%uFmx@oscREmzL;{H^Ccz`lUgqWXjn;vObuyV=ZLCD6O?o@fAI zoR4E^qjI)-#;klpgo4Bab??tjN0pW8UWy%#IbGFgq_1)7MVbjRWf2`y;rxegG zxiOB8b4B1fZm=APPFcXXnWcB4T@j--aaGVUrCRp+dFiN*PhOq%rhi?$yL3DK6h6A& zX#+3mDHAojClKY2q_=PuZ8-B@IkE^O3-2$KE!!u#$5n+@IacRypcak_GC7@oZi``- zA_Py?m2-aZp8C<5st^_d@@Ms9U?ka!1%2vkwpHEtw63FBX7y90<`!=H`&=<k6`RCylrtPe%Iwkt1}?UJ84jqDH4#FN)&D%3mPKyFA%V*l)9 z=pdHl*X|!Nk@G=|{GO3d$ybYzlckLIeu`?A9)IImHu(9!+AAK+2;CE?o1&^cpDD1& z>bC;RtEH(cL_Vo77R?u)#OoDBAdc)gE#KI!+!vSFYDCwPer*(H&&oDKOGUyF`xO-H0^Ki~G(VcV+yoSNv? zXIbhtF*=W1q3_LGS2NR8UeQWaPH&x?+}U|H=NZUd83VD|wep{l06AeSCI3!Jj7= zj#~aS1$$^l_5hx)I2tNY%I^Bdo#gMWWS|JEn3QU+g(9wfKV*G?rF!AYUI$F z6w{l{5M^Xu?t&M!s4Cq#pSjwM3W$Xx3(PBfeA>gs>)u(*UAS;T^9^@czLazTk1D)7*8MZv75f`jIeIg8g;rDfU<-of9r!g_ z+j_5OZnCjaO;6w!@Mi*^u1e%$?}WpL?obR%q7@4TagOWZcU6zhC$d)Cl?M>LjGLIvtelqR zh0ii{N~P~ATPc3+@6Jsdg6WqC@3eVgb=$5%E53bGD~OpziTU17u6r7TTilr4&foQx zJqF7IMb~BBEIye>v_;ZtItO^&FUgWA^Q3of5D5?O(kOiFCfD?-v8>i=Q&%#dn%6n= z(a4<*|F>Vw;$5O-S>{h@YnJ$LFIY}7i#;5+)QedDyjxhY$q-fo>2!Y?t&w%K+|tl_ zLzKmK?vB;M&*HvtF9!bx=+=WqX1TmlukSq87T8^4IlgVg0Ogsp$#TFV#!6Ht~bZlOIU$X1cunQ))pdI4mDUJ;YP>9vfsSTxMO zWWb>}y^zybpD3G>iS2J#KrkI0BOMHUSX8O2?^<%7wlou-%ve z(Gh~uow<9Pq+ z;U~35@0#^lDFj>G0!qcBcsSlgaNs1V6??JjMJ#-X>S7x;I z*3f8vCb2(H)^)fR>M4M>2NqLwuzAMr33CoD6D`||Bjq1^XGN1Q$T_%KW%tfLQ5Y#-9I05|S)Hg` z-pfWJ7s*n5V#oz6_FZ0{o}+o*$Ydpd-?4`xvEs)7`tx!Mc@+6JQ;j66 zw>12;cP6UyXcL5C)LSWhsRnv}*EeNeHw)lGgI3(^OECvMRuu)nssU)ouqOB|25^0* zV9ymMwQSqgz6eF+m(!3WySU}A@E1Fhl-ywd%{?OGwx1*>%m6 zsL=`w^Y>C(z^9P}*wt+TMV1+nK`zz2uD$)!7AinQHVUw#oW+N~kKqn}5`tJ`l`evm z42(?;)u0?RgI4S;u=BGy&Ve4+k!}gYgT%Vk&bl03eh&c2f`zp0-lo3R^Qyj=&TZLQ zv;1&*$sF^98DGqy+ltdz<*VfA4|ObvMTG5uM-c;^g00xw1W~{OWN3hD@%r5TRQN&q z1^(h$0r^I)^D&*8GGVP@e94{J=-|2#v{!c3zgrN|Y)=9Wzf)$fUh~mi1NWz)LQoT( z)VhLX1M`nT#q!tZDmLMHf#|Ew68*LFW`z)i!-37^H8b+UJ5YH1|K%zb9_`<=wvOQp zg;)%cZTQvFr+ZV~PYh6t0JrG!IOS!!t=qU2{>-VN^UQv>o3%M&s3{`GN%rkR$@D^Z zvm)<}=8Hw-B>vXztqal?5Apu8MR*xi>3P^e+WV;}D<5F}spA($IBWUyprH(M$eMw? ztJLB{Tk|Pp?C?iV(o&8YAhLJ&(aRrI4fym_t-jiCMn!J2B6*U+wmQzhYTzi@&QJ8x zTP;@}KuiJeu+cA$+_f3DZ}oQ?r=+SxY+wh4rf$~@Ubp2a_|jo+aSqo;uD-A4zk^L$ z!ppB?`KEh6%}o}lB;>aldG~PH(RFPSoXESkzJfA$7)__=gMX>V*w-*y?bs8yf9~vn zbtB9PN=<4Bs{FV40{lpRX#y6T2i7;fZpM$_!+P&zC7i2h@5`3?@(z9*L^{~B#_`PU zh04Wo-)a$~ajq$~?yh#n%P>2MR-6FLUfWuT6@Vq0HNn^`|5*%}IC_HizK{x^zUy>r2|#I63$3GlAknBccBCjZP7DsVksc;W5-fn;&Bx^8pV zl~4DP<0OcrivaBSPncqw4q6DN@Ba9^%@ybjNGsaurBp4iG5KaK81(6bB9M^UQ;R+! zH8qOcwqGZ>v29N$0ji;<*{uBFWoYZ%sP}X-1lgz)eRq1;3#a|UWjs=zz4#0ImV!?C zH4H`ZVJG;va=*S-slIt+#`XJz0BVdm7u(8)W+765MDP{l8_>=umsv-n9n)FYTWuU3 zdJNeq`~vtv#nC0aqytMvo1{bMlj>2$#KHX48oRcEMdj|XTA%HSk>Vr`*=G}*^=%a= zH9uRXC%KVTIfyuQ3479R6Un@c9dBa?4GKI5o)3V>3>69o9YT3Cmf){5UE2r6Ezx-( zbhPUlT*?P84qlnL0MUCGz;x4fdv*fdqQ&0c-agsAP&l^sxws|q?P7h*f`lAXfNt&J zNa9^(A~`?v{IcsJt5u^^w;yrJ>a25bZ@`NU`?vM;s{OBGzZeh1dJ=ge zbggbYTq1KHu+9_Y-0$z)8Q)4>rbEON`4Mv(4sUr=Jt8Bf@T+-@NElyYski zV&J6p0{*a`k>k>(_Gg#;yG_PQ{?l^!2???d zn=376-O>=F{^-um-NzxYmHzpZa+y7V8MXWDxhEzj@D*W6F_2yn81nwM@X=v{9;G6F z2?vq&pE5kie?VJ)=uW{m8rQH823i_g*?oDu2oR1-8qSCatE<`0mQQ47%Y2jxSZ!qP z9b>rXp5UaBAo^p;U9kGi+CZLX%^O3jYoTcO2jrWwyEPS|pv=am9IJf}zpG?K`bYn@ z6ku_$uL-gUP%Hsd4najX(4)Uj17xy^2ZmN{d<#|DAg=BTBIgmdjr~YZ<)DOx#C`l06n? zZ@xWwdV5+l$@*cV$BFt)ss@Q&G5O(0$ep*$w^zURlZC8v`Q!c zP2)>lx+D4Q;E-$Yql8cWuEgBU)Xl^$zw0F>)>VoQ!W2N3Z=5}PnlL`_?w3UG(Ts7V zrp4iyYs6Uo0f8q*t)lr)mn}W|vQ3gq^5<|!GHdlyurK%A~uqQy~I~OI_|e_ur_%ER9Ww~V-09c-B-)YZV@7K z9?+0z08E$n+r_8s4@LQJH1HkjAFb_?x9h;a0?U=wrVfr19+N7jfiR0mSd0%o^( zGBZ@oL7UnxB+xJoCPYKBh3azd02G**O0DfxIDIDhV=feeV$cXqjEKvhmB;Ia+KGa5;`=?ZkI9>;MSko&5WTB%g5!oRN% zI^i0MiUTPH8qs?oz1rq$;&`g8C$s@v=t)kI*K>l;UmpV^AX5M&SRlPY>dW4wT!U*| z2~gt?c#nU9$CaO5IE_G>pr6d;Dv0F{)kc!jd+>8WcHlQjH2?STdZ-7o6nN%p_y;TD{%pOaPt%8IarC3q&6`1;#FO*&kU@g>!_U}1AlT3n5 z6Wav_%BeS|*5j zOeU|p-y^RqRcd{t*;JIORVcG7oMLbfL8ZOoY2K|pQ*QGe5dOb04+3n|foRF~VG6ta zrt8DT;lknY**#}JV;d=J1z{hZE9&A!hZf}(?-zR%v@DbNtuF8|rQSB2)T$RcGkD1)lty7@H_9fAGIRcb>>+PB(lzS zoJ4ficfO_{iraUf0y%-LCPeF*H=xq@-+I5`6gN3&6F za|&jS+ARjjr}T{{iArm>U%>&0g`A)V_30-4^e4JN1H%QBEj99Y)1|8R>+6dau4Ftg zUrRDERmjCs%|*h8Gzp^bP}150YZYO5+y7|+1i!1W3L7Z)30tJwYJ-}h?6x!RqFvH1 zo3$MpB<2+18qh`lvot6y@)}N;0ct#%^5~VVzL_O|(p#=6As#W5-dHlq>LL(kB<5(y zo09G%1eutAYV0S@gX?vrvu689|L@ZD}F zr!;9_t&s#23uk!|y^}`ClL4onClIgw@5*!NV*gfbCD6HxW9T3CwYMX9I|{1Tf34H@ zF;~u2y$U&+>&SILm-zoUQQ^1oLha-a&&jfPwV|Qe3*Y_CYbw~E@?bP9ZaiG9+S|16 zm(e|Vy~tX`c-LKRS)DIzjp=q0%KqfC&2m%nuv|thf3$SJrJ5~xD~+(?P@UVufg3v< z2iIEuEa#F#m7Q;1))VkAJ{hw0K3EVllYqsdm zFIa?3$_x(v`W~)stdq4;@FlKkpB<*T6PW?(N z&bV*swI#rMlwfxEz|pt^3;~F}EP!GNfVNN|FUsteoDzN-(17QfQW#)jk+9RA%q_9a zo9!lp_dTlHYFkf*y7}(sZeExlMCM1K_l*np*3}l*8K~#3jlgGt0E-XZLo-PPta@I! zyFRFtg9$NN+>d*1Iz|HgkYg~dL&PC`*j2wh;_d>W`qQ&qxZ4bt;vVVUOu`n+<_KJN&jVRL=979HIJy9zT; zUI;HRcw++WQ>RaOJ`z3)EN2=dVxS67%7%LsHG>MSA#dfKEYauwg%!36n>?$nO<8nN zZ(oJJef+1NSoev`u4+!un4d~F+LdB6z$MIr_s;RQV&AF|M1jWW^PkE0J_Evu^0OZk zmAtHmR6o>5b4}S6BoA!Hgy+OSKk{FX>#N5R%dkJAPD-_e9`6MhFmj?5d;Ky}Ar$E5 zj*%&qCg3h6yIp3kdrf~`S63q_r-roN9TabWi7EMtvVUvSM8TjHev`l+M%Fh6H#JKA z%Tm}~Un!N_AjjnQ2Xz$Y5TDCT8&2%%Z}Lt3LRM_{&vqmX_jPvHvyxpTgZ|*D z!xkrUDZ-uQyj6fP!$HKpPsu~U0rxLI>V+`M=aTP5p0^&45c~^e#B6=QuTmU;>_sUQrT}9s!6Tnp>ycfY zz0I;c%^IkQVbAg-huAB{tqxTXB1~Nu_&AStKFry=Nc+#6_yg<0cJfmW51>Is5jN`? z6VGPCfdGdQT1#Og%$GK0L?7v8v7SF>B-H1W<0O1**AoQWb~2kY)QN$JTBbD~O5)i4D`f8=;CB)>P$99)c*-X2lE5e(nsdRQv~nflJ^G zf5*?!29&%&)Bjmyk827Q=8UT_$NELC#lA^^Mr|#1*2HUHM#TvY=D4echrWfSh=y|` zEf|pA*sFn8^PGViR36w9hzx3zMC)kCIS|tHdL^eqKNwVnAWY+;5%Q+{;MKSa{vyaTM+G zJT!Fc)|-c0_SB7Ub<7H*JU$v9AOQ(}7XLGzemP|4!6wK=N5t6yOzMe&SFV2TA3lGA z*6rvzr82e@Et+tLFw#>BM4V@g_0y=8ID8o={xCiGx%shi(7-LR^?@Quqz}DpgVHru zz5}FAIiSnqSl!Q%p&ThOPEPtH6=qP{6<(*6JxLrnpJIf9yEUKq2X}m2JU|T=Fr%~F zUD&s(1W_PfFzWdePP@1}Ft6pleLYKK$i$Y!B1FPXvz_i8y(8j5T#x1JG^ykgqG~jV zY7zzv)=SDaWSlea#6G_WE?3n%mjwA}K=$!kk|s6l`GiAJX*Ymq5bB~sh>sH$F-SKe zb7xhb5T4up!hHqF2o8QI@WT%4wnEVm9iZEKYcK=C6KslG2(@Kd7mr>B;)i0)(s@FI zNt}Ov>D4y=SAtCg!l(`P&eP1A$++hk>ERzc|W_o6}_dap# z{aA!2AR}Pqv$M*TyLa|q(*AKzc>4NJwuz?oA9ajkhz9+I(fEL0lB(b@N@361289NG zZF+wxhcs7c?6U?T$;%IeWPgIURS$ofKE)<2yMNzcduJEJqIkoz1gcl$E4PWFug&5J zySpGceyRl!5t_@wN#gunb(@oa7}P&6@EqO0t?YJ^AgGJolDUgKG&-1qRjsbBwvU`j z>i+`InGu-+b3gu}a17vW0TV%aWdhWUKMyUy$@Rd!`PSsfk9O1P1&Z`5=C{JMtDXhP zEc*!up_dh{#Q!R2Pc?HpZq;~Wf_>Z>*U9QV*>$Q>lQH2muL%cB^R?&?^;5DD=7s4I z0Rr-#qf{C(D1s<>(HUq&G@sOxm5-(Ph$pnh`us+ElH_>5`zfpUqKc6B_W1d`_<&9@ zcb@GrVNg*NRgE$_N2 zWb(R}n(<#!#(FW2v)A5&5`Tn^j+gp-nOIgyvg1`^KhN+l8*|pwx-L$uTk=186|23M zx~@o)laHVr!iyKkTmCi&ZpDmBQ7C#Vq>_9}P5h18l%}c+kotFimzP{%qvkty_hiR&U2aY z$n$!RfFG<^=aVrp7GCcU9%sE!a&e30-TdijJw0?W7!C7alGppdTWC@;E47bGXH zWgiXZwx^?^ucD#nG_syp0e1KC(!gxn4O8;YkGHR)xOr=n<@nPC9a+8zJDH^m9$W1j z_-tMAnr#dKKR{ngO4k@VbujWMq{v_YYb)+SW6;GnCbhPUP7B?xthfJu!|&koyeG$m=r-0`k<>j%&ths4(hQnLIuAl* zIywd(bfo^a+z4Cx;>nR%Y9IYR=I21_!qMOgb2B=h6Ssk5t!;E}ths4nS$ewcmY2sr z2aUU|JkZlLq(2W@I%4uUPvIirP{U3x96va{8LH0uTSwqc@JBwX>lw8Z&l|sjt|2j? z7|gvNXlT!HVN^Q{!7f}80Kokk)6s^sU6*j6;cb|m}f%8|-RG-pLbpfyJD~Su7GEW7y ziBIfnwkfJK0DuUr+pfL2a0>KjT?87z4!a9SI5jOmP686q7u zQgNY(p$rwrhZ%j;ne>3)$s7svxV)JxN2$*4IMoZwf1U+cyr-fz!gl)?vv6Q>41~5r zgF*C&!t(^fXMF+)y}2&=JC3Lu<2*5ST~Rs>))lvvEZSabhz|B zVNE6+!QJG>oeo?i9gZaqn#d~55Q(!$1tVPr_3sJlGYV?Qb@ywHHa5Owzd4|81VI%r zsHL7FX%M*GWS;yJ%qk3el(e?b;lK>dzJ)*899&vx!k)AKS#%E?EcLZ)mA}8c9tOhT zJlDBx7@n%q)-anZKkVORnr-Odqh~;_O=MSDEY$yowdjlc;)v)LzJjGsDxlL3Ipm z-&am0b<mI%Wh__gQ;mx>L*Ai%(Z2j`9JF+24 z8ex%)Yt<1*Z;9RzrE1mwpV?~3f??}l-$8UZRiPFFG-q)ivXfv_OW7X`6kZ}s-+iBT zi|PC;n@9UfIpzGte#_DaxH(&^b}qY0C>vFXLAndbmmaiY8M6CCJQ*;ci)x(B{blZw zn7kh;Ql8&q_4L%02p{nxH=F6;cJ}T`^U*YswitINo3{Y6m zImn8*ZuZ2reQV~C4x>H|=uE9}Tjjlsd@ZGjWb+M|1!XnMQk!e>5FQ{vqytE&{Im`Y zLlWGi#|vld$z%8C-S*S3=Ed~ZbJe`3g__=VO}zP_r~UexAQkRfJ=_$GgT4V!2&F*? zSW$BSXAMr1PIEOiLSo&`k?Yr9B4%HF0%$&8YU+iib0n-vfsX2~(F7NGGb#rqr`1X& z0@N`5!9WJ+MYEBk#(-sMe+O01z_=Cvin)BDd8A0d2}hxlE=rR???lyeIGq$5jdmX& z_}@R`7p1^t-muV%9bU;oW;eqt=s&W7B7CKmwOyH-D4S!xL35#=W%-}s!>k2_6r4(! zNJGaB6&(9pGzw_@1KV3m&--9>cdx72~bDBIqL{iACp!@OZ@$m4cFbs?+1IYHk0{# z&@*C>xw;|k;7kky6N2cD**G>1j-hqV<-CDT-iow-hR*T#Ymu8DN-@pFviPQL8_VAN z+v(P|w$KbYT57{@o3>?Nrv^uq1}OnjgYVPoIljK;^N)Tl0e7-yODebo zx<}3zq^bqw4}a*yC?7r3*!BrXUzqW+`un_i=7&*GO2g;lY_g}eHXbBi+!Ug7y1AOt z^2}i(od@=wI28}j9tFTXIg4g_NPQOfFiv4mc+hcs`Uw$t;wNE(k+lyj`uA< ztj+)6-04h}tS6jc3n{D&Xn@gF17dAj&^B%KMw$dnxati;zAE@)$Ax4&60VWd19-^i zPrz{mI19XwoT>qw&Ptr-_1CRL)u}#V_sS41ySmS^Ej&J1tT8~y2ShGP;AU^U-Uncw z(g&My6PSV+FoksKTn#i(xRzTOox}I={ChryZ&uG-4SU-J=yIxbXCsiZQMz70`bF0l zHM8eGWb-`T-rj!g;g+#--r>rQTU_XbH@zd?yHDw!9}~h zmh1Y+(2bSfgSSJRFk;0k9w9AH7dXAr_F_Brzn4nS&mJlLDKtKU2tJG0q>`wOB(;S} z#&Tr0Z`FAh78lm?GfVZCY-r?THkh;$G-6ZI>bpWvrC*1*X6wq$oQ>5o){$VV_cZS#f?++>Egu3WltPk@f;dz998qU_&0X~<_=%F1qwlKROtzd7eu z9|%B0XY9z6*nsV+_W#4yTL4Abw(a99pnxJsNQdNtAV^75f%H7b2HEy`ZXX~Wti!f!yoFa}bV~rtwZ}C6w zn8mXCu#Jl=9pq0eGCDnW9~yG=1tIHIzhlHA3t02eknTJCGlU`wsK$ptkIWsYngc!& zKsmw=n91Uoi(4h=vTi81`V*E}e)`N7??s%kX8})@_ogNe!=&d9^#)%jZ%>F6(4?#4 zfacu-9VUH%>nVG0{2-f`pO2laGirjs+qL zNW_=_+Qb`R6RtotNQBWrZ9MX_$N0_sR9Bm>p0`o@5UDfIZk0v1(v2enR?4s8O(+(D z9K2Tr1V@4-n7*IiK?gOR7NC<{Q-q0pbWI+iM=u{02YMh7-ZTvpt22g~-*tdsTRn{u=1%$N(Yo8*}lQq#{JROE3Xz z2}Vs@N{CtW5gt_lxB#dZK%@DZ;{V3hmWn+8M1aoj0A=qE|MxjSav&YX2e^khHU49l zvXW1jH7p$}PluKpUi!J)WPE7YF-@Uf-d;EkDq_8|w^)+BdXLhgcEua6(9)Z=|7n7~ z>5Imp?e~MMSiPRO`}H#b1Ze8m0YUIfj;${IRLa?q&0(u5vevwI+O-9B9tyB80P z`;yi2$(Zo+6Tttdt+c%fm|Uu>_5gHqr8pjW)n7JQ_i%*z_Z^A`-hzf(h&sIV_l!NS zpbNlPh!~fbT&U_Q;dn2O-g$2_~ zXK#Rb;F)!(1L2s5k}?d@jce86?^fLCUThUuvqu$sx>q|6Lp*&}j#1 zT4l`r?Lz&+zLk#oTMCE`ehn!mBiUK~ke=sz=|4W4+UM&7U4t*tbQ~d`0vk>QWKveJ zk1kHp7?wc7q<{fP>Ug0ARQU&RikTW(t~8K~s-dMoS`0o`O9ZwK}UVxX83WX^ldkCo%>~Ig={Wht)%pV{TC-3NNoY>0KyH_Z(m=82-iv)C1N3 z39EV@EnzzsB@J)MBV^OckPZa?rY#^Sp{)ohI}{+Gv?v43Bo_d}zX-1y;c;XOXrmoDgZh z9Yh0Ucpl>VL28l1LnCpnK0};NqQXa%qR2=_!v}lNAe$9w%-plXADYv2rD;N!BWgl) z(`Ol5g^(!)d42QFPrs~;E9S5ZaB(FjH;mn^iqMGKVwsYP z{4*l8TSzb%s#T$3=EX##5eb*4Oo4wED!PLJ*v0c@dV`*mOI`IfZ_q-1@Li~l_TFln?}EJpFsKH9CJDC(gX== zwxW~%G-+)c#u+4$K%M!jH2|Zo-67B_A#~GPF_8pueOR7X5{bDgz+1tH_!NzKKC#Rx zkZ4}fJI)K?)0T=FzXZMtAh$yB^Ix0W&64e_-iw{9Cnh%9M-c*{ZJ6l0 zWjX|pI&Wgu6&iNhy}A_NJTjSwR2Ds5-DO#J`IV{^MV%Y| zmm5%1N7r|bSx!1WSh0SY=;`P(9SP}kOw)6Inn3|SdNv1Fvp?hAkV^;4+ev5k%QIc! z&M>hML6z2^Hr{s~T_RKra&WLQi-B6PV%F$3GA^UU_zF|rntdEk?eu6c$d&9=`n2eL z7LZ{rZVj%sKH6j7ehUux7>DbwgQd5~xX_OO0c5mM<{g>1_JstWvidU99|_Pxy^~Ih zX$cz0i~m?3lD8j(GD6Ipor^6s-STiw@~I18o;e8IKGxNVfm5>FyWX(rNc;V3#UjuF z*C5-oknNur31|F;+8yPN4v3c0IWbL}0`1=?(i<5++R)%L2e2HMe?qpfsrO;wjH))- zeTQB%omer|!A1V`Jao|N(Mauq*%2ZnHpkCFO1-*$D=zQe2`b+_2S|GtMlb^JavhECKUs(er2rB@65x%2 zBX3{FK>c8#PI9|JrTC%bLaf*i4{Wl*8I01IF|&HK|KQDy$(v%Ck)mfg2xJx4Q@;@4 zWslVUW6oC%!0>^41PEJe223UxVz&N!vN2zK5Wk*Bm@*N>){bDvl#LYwBLiHme`3O# zVT9_4bRz?C_8RP8%D{=Pf^ipm2tI74eQa;l>u#Lt{m=S4m#;_r$hhvVoq%0aLq>XQ zdpfo@bNzF?Kj=c#IR5UH9$9Q)iIejHgVL`_1eutA1i&&Jxi-VX}Wvn*#ndJ zl1Q$9-}Gu&5^dBM7Z*oK)b9NF(Ep%pff7El*#wI5eQ(|;_8dqowRO0+?_-{?HoDI~ zv$2G&|J#35>E3$!=F3j$u@%GCX~Y~gKKFQ|NQ9^D>#s0{bbLr(gYEa5ubUPJUJ0!F zo`^(OP%qQmubdc)!DN)vnPt$8>at3IaN2_Fo82-ZI zn_@t#1@b8$Tv1=*(l!o90LGts8XQu4b-hNhPt3^i$q%V6f zYzG`F2dCP$&t?ItlUnn!4ilgrSzVRiW_ysh#G>d6>;aeW+lA>mZ*_)ey|W}rg&6NSfc=|paH1`T;M6^+^%LH9%`ZUD?7KynXOpx9 za8

    VDl*pupxFaYXR^5&!B}@_`uD_M`rUevb{dYrv1IRuzk|wtkJz_3qs`%q~-)u z^^-SIN6l)bTmWTOR6p2f9z9}+71KOkm=>{c^=T%;TokhgI_IlEfr_&`^IZ(^UBHrI z1h6I8OB41ufuF&&hyCv6H|bJhLMIhyaL6Z67a;(j73>$TMMfCQ#MY<)pSufmp@(f~ zu+zU9jRMl6rvGi$hazqq25udn<>W__zFJtI?p}`kG5aPf+qK|Ue454acOd@pZayc% zdItG(L_N|RycKPAasXfLz7W?d;B=dC`H8nW}NZy`uL#-%^S?%819X{NiG2Pvju z(Ge6g*$tsz6%O+HG}D%P8caB|w?L7<^xUGVNuB}=V8dm|GoBui>_aJwe!VNy^L5a@ zhI50F&HEK;^ zq4=kl%Z*m|XKNeP_0cHS!314b6 z1J@9RH4lGa!ef#JhCGGdEFd{z#X>|89~lK*7hI&?Gm2X$7!$I;`G3u`*8tdvH?R>( zFgMDg&Zgg*Up!xLhe@2b#6Sl$xo_vlf_j6QK`vbS9kA=F!2j4tX6Cz4AlP+P}PiS5{AU&%L0c4_w3a# zf>1o&Th9FHv3rRhh_eUlUwohu#9^+|fZeq6S$VUM73#8i|Uo`o}zFABicrOC%RNK5H@_Z2uec zzapz#bGV!~0^#;ey6F~DsJ%4@u2v~s51Dq#W6XcZS2+!Z5xx2I4+dW4a?p%4s;M24 z-d#324O=|5x#0Ht;M`#9f^7$&lB{~{+K-7e>u$5%r1-h!Ur`bmpmTaCGRGF!HnV!H z(Db9EzEL{c*k_v&FL8{S_yTSHai1k{lcigBuZ{TDib;IFENapDjbXVB_o+Sdn1WHZ z#K#=5Ems;f*-o2%dTsO8fApX525%2WSq>#+J1ik7E;Gkv6g7HY3y2CBhsiwVT&?)xQygNyC; z#f$vB3kIMwbn>iK8BA0X0xUPwm^BC)nQJFAQX&BERx=MVo|PYa)-YOwMuC5 zzgXsh^pl@GOV1X8FN-|)tuURAx-eZ$;l+90+xNXd3r*oKYBlKR>)?RB_g7Hs@0Gh* zpYvn~^S8LLS@VhGkFB=iUtZY6Uj~nvoW{T_a@uIiMN03`DrZ?Ua`UED+0WOc&qj|$ z4t)X&^(jB2fiBSU(}7K^-03Z=M;+G)rI;7|{zgU#cT7c(v-{#mKeyFe$lSTTE({ihTDa4oXwjgwZh=&=$Vij5aBPJEEDyOnzgV30Y;!a0=Mt{408!{okK_CjG&$vS`k2H!PQ(fqqLYw;YLnd` zOb#FpF6QZ9{4z@+I>;}8sIjV&9kxA+?af0IH^U$=nErWHfc64-H&+2~_i|}*!oIv% zW`O6D$*(6I0KIKZR3GFI-vOI0Q2H`wUfNnfCT~p9+K%B?sx@n7`N~+BA=kt~1$_;! zk*;Av1uDUB9N}Q5)pjvxYtEG0bjN90<})E5sPpeTDZNoBlFxbHHnXYHhv@2N)~Yh> z8BLP7#I9aozUe-{on%QhB|$2Cdx;LNZQ&u6*zoILJBa>c8#k zbZ9|Y-+%m}NG;*hL`ld?%912H+gyQ>p|J%vi(CM3YQC|9 z#cxEYf>0!M85@!Sb*x*&x~DhQAGG+ulZ3?Jd~$qyU_{SSB*s^si57HtUjDm9s@Q&` z_^HR4F?sy4~1dZJC{IuI~y{6Bn2TBYA|Lb_bk4z33NKk6ur zpz0Ywy7agUNyq+!459~ispnCp5D+9Hp!&pM^r;%Cw-2x~T}nwph=)h<@4;nKH0%oW zcJ$MQwD}}q>DBYko3CWc$}BZL8y8(6fE@IKCU?jnte_OU2*^}`j|7GW_JX{Zx)3Ko zTC(wG$V+B&GywG18Z?+d3#b%~R5OVdcwDjm!-0m4!!VIGAS^oYfCw^Ou!AbSbvE{n zhcLS`&Y`-#6}2s%+5G9C(hz!>qi^^Q(8QL6Gu7Vy1cnL9yU@HOw7|JWNk9|;SwV-8 z$AE!T0s}WC7PtNhu6bIGU!O5brx3Cg2IL3bP1e@)tzc-{PUn5^0o-Hv{OKK5$O~QK zO{97x6ahX*4MEY|2mCl)qbZ&01=DTeRW$&`fjJvJ4@*>0K|s;(jL>lvyA3voV6fD1 zB{}3yK`W|sFLF9aJ{AN=K*xG<`8+IzFV<?9f^sN?BMfC8WtY`J#n(g>bwq?YVNXHxJfP2=d=(0~H}_7DKdTor8? zt|*JF3=I>`bPG)!Hv>1FMdH$>ADG+uBoNyOXdbA5!1Vzd@*?4X<7Tfqra2cy@%fbw zgHFD?m6e*OPez#kCmr6p%w4k5Lsk4wGIWnsn%)PQa%sGb)-mU6n7>c$ayml}RP8rl zA{%2F8%(|`z_`CB)gxp)0Sj4So322==`er!;>vpY%Rtw)_l|}kk^CN>%MZjozehV7 zP81Qim*2mL{7#kVy+j@t({S4Nxa0j&;8C99JuG#T8O9#I)u@JiHRz-^oj0=A_(4eF z0^8p7dbiE;aojHGUW7j3<8q@k)jD$Z&?)x$hS*vZtcAe@;YWLyV!y~JDkh=g3B!MG zC-sxk&w5dwu!FD}3H4bFv*`YC>#3#XZ7|f9j!6=Xy^(6Ui$fm(UT!o9@Wqezp$?*} z*dCzt=X>QPIP8iU;dAmR+>NH<_Xq<}L#yvjJ0QH_cR_>jPOlMEeBdnIIs7s**>`lNZBWzxn*VjExMCM5EQdvv@)SQ6jJjL!t~4gDoN#F_ArRv z!eH~!d$hOfc(}e=8{cdH!couXhO;`YJ?2}#TZAa$J$e2U{A-p~H>|7-$nlaJxDYU- ze;bSpG%GwK@q#b&(1Ktg3^3mB*I+dX0JKxXh-JP!@mrz|z!f>Z>!u{~DDk)c9~*7H8y_f~OmPp|ME!m`XJP-{#Y8|szX#Fq^^VOl=*G&!PX^f< zQmCH&GFm+apTcaGXZn4I@6XK^AnOtXKb^b?!zc%aPwv!#M;=<~$o*aS<sR!{VnV`i<=yHA_fiQ8w>5IsR z^ua_q_6?*eST!Ed3eHKesZ-k0{BYnSeJmjP5j(r-+|zLrYZreSB2Jo=6}eByymOjmLlB8#g#ltj{UlL7LCSf9eSnLz8GVT zZClFXX~y?5gKt17WnRo$@UBX=I^y%8IM9V=jt{H~w(V{Yun2bx*|tJoFXU0uina5Z zRJu8JIpnRpOx*{0J9guQAr@}kNGSR*ZoFnW*^c|t-W2I6F-k00TPT#&BuXA7HXu5U zv!4R*)@GOijOj=oom$b^*pTb*sW+&Q>{Le%Xt?4J_rHsqhHu2<2-(zZXtt7P=ITP- zZi&F4G!>aP`by-y5eGnE75{!ET^an0F1+X=&Fw&bE=OVmxeoe_Kw?NRZ6Gf(2e=*p zy;}sa8r9yG$0-Mh7oi)~cF(&?){m>NzKgRz7^vomkd|z}cpq925DobZ=*M+@Lx2SI zDzpm?@b=~akU)`Fe_##>vt&63nP*bw5Ne^lTl^Yg)~ul&K!&sa^-qHaP{NodQpE4B za03tH2e%OiA^|*W;FtU`$+Xt=TY!d38DD?WI3wAK!}NeM4OabuIr9heCjn4ESQv+v zrVZfES@QY{00)cN^qoCRKrEEtNQLRn;jCu!$%W!F-Q5g8Y9j{>26ZX@kC+ z9(((oY?xxil9S?(eZ{>I+*SAINV|>DIWY0 zdMyu$phT6v-k%|Kq7e?alio%^Ma2LsoGiBVb@d?sp*3u=NduOz&%P`viU8wdOR$!j z9xasCv!ML8XB8|M&?0}Rf|^)q=yaCmC9KFfup-P4!HQf5tq{==`N00F7M4_}8s1q3 z4$1K-@fQbf1I9Z^B1>YU7PP|w0e@uo2S+{5*=N-QUiMJ`XLy zKM<3iIS+7)`$I}}&N=Vp?)rZp-RZeBDSriZml)(|No=ICTg5N@>(mU>Y^?sw9BAJr4KJfZ;{9Q)|WVE9XhaQE?#-WmtBb{ev+{f@g!_&M~q+qN!n zZf}J#HktHYk2y!hn8GQtiaK6WGB8sHT7?kpWkgJ zs3Bc3T%|h~T^A0k3m>a<{)_2+9)QgXcvn8LVdYU&3lyefCOH10z%o z0Bp{HoxK!YBlSVY4)j*j!1H%@ICbUe0zia`w1h@E6Nn{%&;S!DUD%4E0i)`u!9ZYX zSQkbZ%m!+2fhi!8Q&GzmcUQa5dpzg}{Jf<|RnZ=CPiRuAuXYb4jzZ<|v`@1*C(PACmBz_wq~# z&^+qpgmW>2i-+o%)M*Ux6aR<}4rp`klk}mq`W5sSj9wHNNI1|lPdrlij6Mg-;R3-p zTETNw081zQ9ETPi;DcL&jpkdx#0h$-gjj$-IQlA_{XHK%NxmhoBur{v`%@mNc~z72 zcH)q))6HYrZI6OZ3;q&ELs#}ym3fMn0dMa{g0Nc+p11etGUIJBYH?@PhCz~Fp> zPVjt$fcE2`7@uP`8Oe6DLV+3$0o}v{y~jX5YEAXke*uZN)bWMC0 zN6HVwu{KVI}de*xW?-Qlp4DA@>2c$i|y_Y?f@<~a|y?770it2GH?~Q!? zXmBX+_*b(#wsL&vrFUvLK45tOG?OdBzSXSVZ5U(xJ`Lv2VpNq5o?d7oWBxBY2TQ$y zv@k@8Jar<@4SnoWehB7>sy4L$noLLo^qduto(9C=PUm^ATY(%XGo9@D zds}9D#*L))s9p67_P=>>fshAl!ZzZ`SGOM~Z#rX(JRdE~vbQh>*SFqX&GhgPk#Y0T z+ZoXMwdSb-0o~V+ybbd6%;4jjKJx`lAYYXH#&tBnabn^3AR z3iw;I+4V7ti=+cw2$%+9JQ@HJBcsRCxOWP9J@0g6j?+a*%>;VC@ z=!@WQh7~YT>ZDW*&>CV|UMq6rXp~iebO|Ry(7rLD9Y7(@4IdT{4@X zgw|IJ1FE6gz6CLxc7H->fEBmGsOSI5P&V?AxDa`hkAM4ta|c#|dX9V=2d2*j+UL1v zKNp!m8Tjri=D6S|0bKc5)ZCQ`IPrBJalkd zT{+pdT3uPqz86?NhV?l0jw+yXSgv@be@%lNL$`=-6rMm^rwu;675tF+CdPTT(^~Y| z?Cx%9q^YVokA{7yY1@tLl}XdV`htfnL-{U--Qdt zFk8PZP%F77%Js3m=n(_!NE2_V^Stug7Kg0m<0JLwWCrAyZYxOaG0=$IU4I|ovqCpi ze5n=soXI)Rcr{`5dOO{*^CyuEJ`E2$7uM#fYQI78)GZ@zr1ndp z&u#@incLIYzh)%0FL%v{R=`^d=iq7KWqmwen@oCqw3mivvCx-S_jV|6;7u2Lco<(v z{U_9hn;M_W6AXW$8>L0(*yDG)QS8mm_3X2}C)-QMU%RFUr!o>=2V4EKB#p)s=ndvQ zq@tqMMU$YLTG5^xgGFA-6?g&m!@s$o_mOlB2EqfRo?>4m*KnUOz0i_3G#I~Fsu!Fr z4;&DD!}z-0nY51m9;iW^$B++eWw^mf51Yd9Zo2u;O?;CGCc`JurqIuRXpxnujxH2D)?&w=t7v zE@Il}GTs~#znRO(Y!o^N*(XjG3JUS;Rh~eTxBZ5y1p2{E0YNY2-pyHFn13tj6P)-j$5NTKyD`T&D=}&`0_AIia>;mDJaN2oX)j}cB7*fwfVytSFqs3R3(m%sudXrc??dA^&L2#$^^zk-cuL-xswf_9xLE5*uL?#FE5dQ&O)jvlQ%4(t5I zl5jCuCRYigZx@|&D(c+)=a7@O=ZIg@Oi;rgsqwKwx@FgJL;{P3ustME@3z+6mlNnL zKL{^B=POBRH~tTZ>+z(aOWNS&jfXL2W}3#bz_N8xq674ZVm{eakLhaZr%^lWG>?_bh{D(^ zp4m=^sR4JN&D@4PhL5INVZo)j`$sFwoL?fec=23QiI26yrkDDf|HB0!{I`F@Zqdyu zp6uv39+;CQ;e8c+oPHZ2REAws5;h7;=OOi__k*`POrTp1GHjm7e0*I?H-ol|emydW z_9NzBe-Edj_AI@2C56Nf$%Bbe+U8+-TzUu7jJu;_;Lx30Tb*3tSl}TtF?U|u`J6si z>Q+d?=)9S;rbXgC_sDkV`wh=4v_lvCHFpC}RM7itcf5a|*u~YQ>~5}GVyG_bweY9^ zy6NLr^Cci4r-#-1VQTayyG#Nwm=!y-f33T92U z(AIA4iv=!-$&0hkZw1Z?F3L_n;PiAX^I6U4w5QV^2vh5kE@*?5_g&|s9*^ViWjeu- zFl0yu?tFZLX5AB^`tDAtowVw4d5)336f}?aqJD`-jub=lRa_C!TioLA9@>xSS|`gfD3R|J=e>3JI_6-(&L@ zjiK$ZLh%|l_;*;3(jCl#vC6EN`Xx@3n3eg0QrJ-VMp#mV-FhJPys1zP8Jn@!v@aJ^ zlDNt(JEF0eXAy5yp|@}vw@cE|W)F4ih3;z5pJb0DhNm$QL5ivNkbWQxwSq9D?2=59 zqCSC+^=HFei*Q2Lu_5vCYL_^<5MuaF9;o$cN`1FG*QOYrvb}D1lvi;`Ct_W%I9zNo zWOtf^ht~;DWWkV{;CA-{`3zL4o)@>MD>=1{PkYX@mFkfQuP@zsvjJEA6rjg76&m99 z*3LSd)A2r~82-QSMID4yIsUQi=?QentGge8I~Tv9Q6x{6U|vcgiB|rL#qELC#lZsG z35?Zj6W^ZBxLX;w8|G2y_WY1PdP1TVDUDiv+oJ_Zqh1`ST1}LmV%s%e_1RBdHD3(@ zkIIR1TuQ+(IWl}aU}t5;2$FqeNK|WOVOk~WJ5Xt5AvhSpyh@FeDN-BRFqE+e$o*G$ zYe=4FHdBIFvWRZBAompG`lUkt`Q2{6I_c&n{%Lb>om8&D`2K48Q7gmdh^CC|!X!_d zhvrv>*O8_ndf+oHkYNx?B7{79krUv4~}#b1jEfjRw^zoG54#Xhd_-Sa-&NBeO3!;4;n=q3ocAk$PS=njrAVLa1bcTN>IyZRZ0W~vxYPY1L;bhB z$!U4^`gD(5geh_*_ik7`I8JU+cr;xU-0a`mwYduM@2=-WD5Od?8v)>k|SJkBWpl$ zzK&B>WZlWpamk=Ry9s)J4foLzEDMPozlwV7J_ODkUMMLWI$DyZhFY~Y2L}z?<7-dQ zpKSk{Gl--NUwja(jyEf(ZBNdtsieogRgO}Fo&%qx870^cy`r7i8m`&JqV$z>>H$KaYFD3)Wm&Xaapc>K#0e!c$CCOhZfhHwy%<>`UWYDs4SB zCrRqZ$oo|wFkmh(?{srpVMwz9AE@_D06Y^Tk!Pv$m2{pxq(r}_M-%kiO=1%MbJt3{ z1#Gtm_H%=8$z{sBzC>EEi?%NUzw)<~`OZI+8>~rLh?_Lw)D&iZ$C4Prn7*}=_!a@4 z_$CP@Hmv(;-hLX(Ry&<(=rO!=SX7i6+@>p0r+RUg}Ja^wFX~{hE^E zBP)y=CLVEJbfK*!-teSAN;o%E-+R~ZG%=Lbb4HQyfcI#D=QKi>&;RpU6v>rKt|^lT zeJ#=IOW244Q;E26;u^TLM^{7inTbGIRV8P}tLI|yAZatZBUgk9tR1cq+DD{lCjyqP z5j?!NYaq+zr zmUfk5DBUU8PLa_%I^U~kBpO(knOobawDFs={%_b-S4AyF?fW`hg=E;7U+l?huY}p| z7O9D9^_|W%L$S#X0S}nyj@;eX?6}r;b_OIptWYRuvKG ze3;Oy+XDM#FjLF?=WwX|sCv>P)hlT7ki{p8zoFZ8e4UKIzm(~GY|EUxNxzqI$y4kpZ|fnl&7eZ$yK%Dl$pF)&s3JS+=*Fg(*fjk>JRdtn za)`&JuTU#E5wPc1cl{@s%<2t%^uvDECC^4^4#g&^o=jY?|BJ5Gv2eZ;b2yT~;gvR! z;dcDJ-V4J?Ejk;%QWZujA)dLo!1ffm_YSrtJ){9;l9$y|QzPUgQZdTJyT*KAsho(D zpR(;`VDAk=5$6=ieL2BWUrbrnPnvv>s0@=2S|2#qH^i#;N)+}??Pmm|^?cXk5SqlT z=gCK%ojz36Gu*nSPxw}y`$eH;E<<(K`bfDol{WtU!}o?n5an1uxXn4w-iOy`&?XR& z5{(J={5TyEH$GJ-p*LTCaYL;1OObkk=bFh6OAO|{AuNme!c`Ue9^94x_Y9M08RBG; zYaHMV>X!A0n&qDlCNR~UiBYD5?Ny@f30>QUvb@nbx1o!385Z-hR}mQXYyThoGoA;SNA zW4mmvG~5LCw1M!}=O!&DIm?k+Jx}*q9i}9g-%LwNp7K1^##Xz3?;1 zb))OwoL#wp%e>LlTbXuP`9!C?&zDtvZ=dps$hFUsdspHIu`_e*!jaEAC>zw}W15xR zypn4J_*5hQNdGA#-Ay(W8c@12Q~lZD*Lj2ml~NbW1sQ9($?Ezds?$l~^$_yHqv>OW zMabcb!4WoSt;13z0$UT`Ac}TzEESP8@p;ghYfkRdNB2c1go16n?F7liD{S##jpr-( zB+=NeQPgyGkQC21o|hsKR6$#GV|OreTkt^TA5mqiGut;huf-~Qxi2^qJrY{eLS6DK zMJmS5B}#pRI$HeZ%UbJk_DX4(Swe3R$vl&Y@6EpqDj=O@VX8G;04QE=22_53RUBC| zLb1qE9=bR+r;s%pA!oQDnanz;U}p=8wFUFmO}u9E9WdqiR2r|?E?3mCZSMG?utk1V z;pp4K9|oFAncZRJ4o`?)mhNss=u_leb5<(t6Hbtic>i&u5&Z+?T%=zrf`o*gQs!B-7;$j?f$>Bx2;rtbaPMm$V`E~b%)f=dgsC%ZU=|+3vCX9X>`k_;R zUJZX2l8~5`_k9U2TuO3HXIK^(Tq)!n>=FNqcA>esJne$F2-#mW>Gv$}g@{?Y^m^rS z_`HzVlq8QhxB&6J4oUt=w8sOX1V{Cr2S*7TN`sWRzP+7wXfmHDR$}-Y9Lk5KqAG|z zkl!O)&99zWqz7-H#@2DJ9^)|c)o4W!DGG8lKnh~1*R)1@o~KdBd}FBsk8_6_JWkK2 zRl-{oqMyg~-(EQU%3(sAp715YAyY~tmuHci;YJX6j6@n!5Y?>DPJy#G=-{qv@&ik8 zvBIXzWQ*B1H9^izIM{Ahe)qwxUe==Z;JErorSbBhW7NoV;W)__9?z6kjpiE_8XIPM zV;%4Ey&M#tm@49`813GAX{lvA_*|u-cb3UabR=dx_>=S4A{o}s4M=*fdkQT1TY1o3 z7)GUcNp6pi<4Ctpn$+nE-lfqxc+AE2Ayg+h2Iji9b*tctwRI%S)KgkzjHO;?QScd61~X#1;4 z9UAG|B{6Yx)lO0T4i5YN{OqX@>UM4fY+*kA2xzRQ-EGFI|Ja)ELnPBeto-1uHRlzX zq%Bk7??=;oW}Vk@BaW|=jfd$}?Wa< zx;VoN#T7n)Do`G^`XlBtf0(7Gm|ejx+;SzoZY2##WuI8s;>j_ycIo_9`cnZ}y9;B^ zw@M@b^^BQwXR8S@pFl&(iHI<6v&fLe~1OmxK+i!yc&2!1DRUO#E>{Db% z=N}9(Xub(F6L5sa^Pq;Y1kNz{C>;@2xTubov&HDe>IibT@{e8m%#>cYT^XEiZsYAD zMm8&>h+@rN7mJ-5rF7;0#Q?0=T+UY0oZ>9(}cWIDjTyo8xwD z&uq8TI^r`pmS4n6w3zYO*uD4G0@IqT?U4YRU8i{G@E)GFXAoMImAdb&6&1~o*BC>m z)v=zKAG1;8%l90uj^uW*<-*?-)<6AEg7SyE`@*j?WEq=bIHEp!Z7iN{DJnMc_PmX{%3`=?xY&fV^*0f^I{s`=8%DNNoD$!lM)&b2>-b?oRBZv z6xPgLhu-HQ_yGahqyW{2vMlegH{DdPUuUMdpmTse{^f&0Q5f%o;L5VdD!sse63bYO zKwM%I*!MKPI?F3Uv;~JeFTiP1NWdnGhOhmFe27;EQMQD+AOTh=eHYQ8r=>O!sxQ2f z{JEJkO&XktC;hPWvVkDMnIFlW-Ok5ALrzethk@RqQh=jTCI5e7SWgU7juI3K$7=>floc@?FlqOgx!e2IwG zP(4M1*f}JbbObd7k`Fe7ENfcYfs1GYGJIDBT*|tMD0|evHd{FAvYvp0bK6G0lqE(O zY|ZrTXEusD10T$B1@EV%4QvA7!ly`9K41el*FLlM{nQ<&fmC2j)?(liGG+klE2tKl4#i%Ia#5 zf;rb1vg$UXOK`Cub~ZU+ETTHJrrCD(?q&ZNc%AEF9ipr);TO zLr1?$Z_V6Ok>A)e9?FtjO& zMoa(KjW~~OGY*+VD6bfQjq&PT_?=*#c56297i!fnxphPnHCxd#PCtV1diPQgjKHazQVa?FB3_R20T#sV5^X&A7NTHtr=i zFoPjEi**I6DP7G#m@ewli9=QsFUjS611XVQP? zkFH|tXsSMLtu*fAl4YXKM9@$o!983$yNBKvTn9Xy8nJ}OrG614Mb^B7U~rg>D>189 zt5m4_;ikQkEqopNSmBNEaQ>AJOZbDW9v%bU8e83}^gHNpbI}~xX$ZH3=!Pw+* zhF6|vdvt$9ozEtsgBqW4vLl&0GsmO%fbL5`Cm6S3ML(d)dJ*pF=$>h5R0zv@tS|XqKzVA&2pL` z4JIks;l4g}$L;HY)yKkDI?7IYV&}{m z3=p3P$Ui4~AEHmwj_rdelEcUeEeWRR>7NQ){491svJ56K`;b?qCh29kpfBB~!pG`@ zj`c^l<`Ch|;c&yb1W0u9Kf zI8e_%e7j~VI@EvTei%=VeW2l9dM?S!dik0U+Q`{Z;-$CI>bXB0H@3Kg#w9&+;@t^Ny zcpOM{Su}gnD6R0Rrde6~>*wfz_YV#3&AD_X=>%pQT+FyJ68IpM=FfmYq!RH0ru7%2CH*{rju-w=nWO8$4y-V5?2*-<4F_+ zeBth(Ghj)|o5S@ieDx8x)t3U++K&8Nv*N3>z;8c?^}_@cdc$tbeiOiL^t;uFwnyj&54Z5YNkgk>Z>%I@ z^Z;~eOOZeWQW_{{0o)mNF8L?N9#1hSXjLB9p^j^$iY$z_uJ?cXi&-{Xz=!>%q?fZE z^N%L|^UQYTW~r1`h{4E?XfSAmy7V5JfB3L_5__EcTi_*~6|+khe!{c(B_X1{g(Qbi zdiJuKZfT92#RwYX%b-$VG>?{O7U(GI;5^L@rZkkE$*-4HaxM9-2LPdT)`Z08Asfl3 z`W%ToUEh!{y^rzVyuBB=62$KR8}a~f50bBH&g&2w#aPKTtw-D-e-k~T*&mD?eoBwM@Q8o5Gx3Mz?{LahzO){ZeA_AUfVRk z!a0&pmgw0R?M9ZVbq8*Es+~k{jAvGPZbPFS9A_ZUIB);nnXG+rkos^0Bg%9q?zz?+3F>)*+6=}6&-s_&|g;p%tqLyoR}Jzhv} z^f?VVXz*0@?r82w8?QQXv{Z*SY#$fTW$eySC}jtP!iIR(gEfv`1g(Znu10=Ra|^aN z9S>M=%=6|2(8=Y&6LZ{n-MNO~4`Gg&H?%dm#>V}2sv_N3V(OK<`8+G%?rdZ4+|(k% zt&f+khR>hc_Wn;Qm2HH20o-;IS4@h#)aqs7j+jt62OEN_8h$&5J-p@%;%x=!@-~5n zFYrtL_d6WVY`C)vYqKMwZ~kVVYIyVgBVn(%59wkLFRbA97%hn^I?Cu!=oDd4=oHY4 z-}FmPOkHxo_J!(+)fE2qu^@ZaiOBTmY+aFI8J+-sqYAy7N(_O3{(&!?`F60P2@$9p z0R~s;3p&9R($<3Ij zpk^S~k=-~zf<4J!h$qb_DqxRyCNKq$N)YWQD!1f78}Y&uYm7%(us*2$yf;ZfdrlaZ z?V?E2Mb6l+ahu?BzVJ#Sf>p2MoB%FyZja|C6AAyb$)&cF12(tOb(0vmm8x__r=6!g zi}vK;_8J93Z_8S%i3REZrB8H;(3^*3>j0H03&vKAzLXK-o7o861Q3tF8g2u)A>n-V ztWj3vwwepaW>gJqYuVy|i_FI4b`=Da#QQ*RKQ1&5(-!Pg)!}owL0#`#GA1WiMzv?^ z=+A>cU#7eJ6GGeGt91Sexo}I;wkx_tdgV`up@d{IZhxvV77tSi$)Pd- ztiLJu8livCU%xa$5w-7vwr~;Fch@*&I5l6-zPQs#vZgf#@f6$nMy6=T^h?F=Joom@ z*IQa@jvV-!Iz>z8zat*gX-)AK=4Nd$#(Hjsztq!BmwR=~5AcXL`rb zY=KNK3@#0w3xcl?2mz?I$;dbJr-m0o-V}`*ZGq4Q+8aU?XTh&*%F5y{s|A`E^lkj$ z{zNLiy`G&b4OagjRc{^Fbo;*lqev?PqJV&e;5I2iq?yuebO_Rlga}AV4^%+9wjq+E z5fu?6q%nw*5`uJhjPCee^SlAAMA)Q*y5b^$SVzf_l&D zTRr498QjR=pKDI}B}vXg%E(xqr%1o-WBh7}PhslK8t=|wdtZ*h8Y|A9@SOixfNt2> zsC|X*cbLg{*pKy%10U(Oj~_J?`M24{mGPlWseX$>2OmuCEnt7OxW5Dvb0#nst$6?W zMy=F-A{678db(eM-Oj|XvLB?~VX^yVw4x01&ZwYVk z-p`qy46QcT*CiuVv=&&pDscIA@1qlXzvo(wb967s9G6wD&8Q3*JYt_$xsUuoP`L#ZO1 zs|jS%k%aYLarz6Xe|Uy)q$Kaj{LrBQe|e#mqzp!AUs}Waz0i7P2`M|JNn15`8o!9ST>XhP=AWL5FwwGj?E$z zy=hZKRK~F+`YeBKA|Rh`hD~C0C?&rSLB}z{U^O%fWN^ZS>BmgPD&5!A;gwYEb?8-% zpFgP|SJcap2ULrRRc6)7kTj`NhN+sXsg)xwy;*T0Yw~P` zSQ@WATN8JnnY!9425ohtJnlI2j{E*D(RBao?$$q94%bP#lIuQ{=qndle2+RzM^g!c zlT3AZ?H&hOukSjMM#OTjuWOi07_8>RpBFmmKZhP#>QDdtgipL}8@;pN6vGiy(((3a zB*uH?k#<;l#K&#_Q@x=*0V1vgO-}0E>l1|QD~6SODh}LMHClC)58FMb!F|7zv%GJp zlEI0|x?p#h)vrixA8S=QDkEj|Ge1J{{p3<^rR^`!i3Hw|3-jD!a1ukP{@_$<5Jy%Y zvoVic+r2{4miYu{T61-1`pm7XSTE9t*P-j=>CDscmh#$?GH}IC!;#!Rhf91L76^$e zPC1MP5DWJCQWT%{T=$vsZ7}==-VSd$(6S_Ci8>N^9*=%M2_wf|i)J$o9Kq)I$g-Lc z4QJwyav%xsXVP6SHYPnw?AYjnELYPR;TA@4h;FJ>cs2?ne}J72xY+OZI>;gFuyXZG zK2Xw;Xj_xx{0H};K3pU(-h;PjPCj*>kU0G6Y#fL(b(X^fnEr7HFer*~9SpuOH}#4p z`RFnDo8BW19{AIqq~)yq!*rTt_eWn=ir5_-i5lhR_t~FKWYeclHezTRnnX8HYb>fo z%p*LYa#|Vk`b^l~u4%ujf!f1$f7L$i!gBPub4*@oC`nto`xQx_b<`7BGbxLhQV_R& zY#fCW-4A)zfsbiTfLUTOp6hn0wkrqwEDXX(m74>hhx_dPX46K9sDQORy2D?i-6;k% zJ}>n+nELiY=5{`P@N90xh6EHT@6!fVZ}PwyBX&g+n#r$<7zS5LM5zPJ~PcT3j? z+!P$=7-RzSF^N8@xNeviFG)IaX@6L}%)%H9IMSS35#ud)k7!s~oYwB`?@4gjse52p zYhLeW@nj};I@pDpSScX-28;9O$?_Lo!-Up6T3D;BFCX@lsdzA~`^ODl@mJLE8O>Zd zVwSAgEvy)|q~mwx=3 zyEc^d6j7nbme<3>ZM>eCPx>I$A3ORWo6W_0ZJQy$9}`R*3aE_Mf_xKRJjDetWVIzKKWp|=KBCA1wZv|S^_8*cCJ zX&2zYEo1PzS$DI;zHaK!KjCD-wg)`t5~WFU7B&c>prFuuOGdmjul)*Scrh7w2o0O> zeQv|HBCw+qJz~>WF-q&oF*7ggp|9TBQ=_K6B(ST)(A8|N)Z5LPn*AaQBS$vwY3`;& zW8X$q5u@uJORE}@{8d{lJHb-Y4~_}1VjR*F*lYMZa%)8r%f<*k7=`%dD@T(XiW z+C6e3D^jO+U+K27F1K=`uyvGl3W{HhiyY1HaOnkMCO+K<)Mk-ZU=5cpEWM)~cFWo$C}mwkF;s`h z5`iDr@$Z>TB=TMarQ4ySH^6PZ#gh41aVN3INy|@cD$|{trEv;)*-?ZQdT0*wdRufibKYrn7h&R) z^aT+O|CUUqu_eAcmMQQn|8&|N&5A@uRYwU{Yl{p4}|Ai9Z*JJWE< zFtr#8}3n*YaxSdL}mmIAe0@J9-gSn@T5 z>>3`RVM(uxJ!6X-yej}obk>i7hx`mOD{S!2lNQK_Kf;un1KiHY9_Lh%DvVY^s18F( zvBclbvtD-`qXTMxO22MVt4MUH^3HuhWyBhO6729_dy{l_`d)o!&JXZd3gZ8#R7;Am z;U75uRcgmF1KbMTB)rP5u;7_FC4{B|b~^IV{*l$?&ZYh}>Yo?SyLMUiw4m95s?c*+ zM9^u%^Rvl`U(d~*ImfDsCw)Il91_01zop1X5w)qNIC1ZRY*&8O*YHxO53Q2CgOxGv z$j7fBk`;PfaqOsV=b?0VUjiN7R6a8m&>p`lf|Wgg0(6b-*9=(Kon%NSaeW((BosPox`=^y3zF3B6q2B`xD*mN{-xHN5lGnl{Iv!l z5r|)fYn(E>=kbv`*3xZ{hXM$2Tcm$$w5uJ%X}r(wcl1f`@D-2R?v4rPr^J6~TJNsK zajYCGUvz@#QxXoNCHj3U!q}lUaL$f4BYTydua9#wx2F-UG3{aOseY^H>A@PG_`q}9 ze>56}RqTDfP0O~HdKdVFH=9B<9jF%t&yn0>*t60f#|Qv|G`0iOb*+2PkOSGpfTyMb zj#OqKDC(={27iCjt*!CgXWu@){^@=i`+xz@ z=30GSK`6N5`jT)EI>i}jgeK(&DkG3S4H_X3A-Yb-gGuzD#~d%;`VFFD3NRf^JuQ;e ztF!dtin(}z@){ZFI)_q=H3lQhyq!q(##V+L+I=tSggCf8yFXeLUxTS#UtGyjT$Bb) z(-2XSO25nQw`nKL_HD1Mlv&{~2)U)Ub%8Z)s^A=pQ<#|1NcI{sWmQd_bBbLP zc6+p*dmNJ{Gyz1$`Z?o8%n8j;w`9e%$<>>Lba$eLF@XWS9WUk2rx`r)dbOwdj-Z+5 z#4>ilBCa6Am$Bs3ykwHrh5qYGR5OcOkTA{4HZzfQpNq*TTtxYujc>Mcv zw3xYR39Cevvl)}l-?%QBb4DJ~mC~)Ak^Mx|E>ydWIo18GFDU`F+N>7=%Cq2ZE>!?9 zCsOAq=obWO16@=bIB|YxN^qKcWrAHVYBO|oK@RBBx8Rg;7Euy#?q|t;v|ou#mEHFA zUQ)BCF$(*+@?>>mr{9pV7)>WQV447XW@1bU4ss`2AZW2s0RGI~b&kdsY-SI5=%beP zP6t`{U}KCd9jX0;y)oU7GV?2N!2F%ALsNIl`jRd^S)C!OYZX9UYd-tWWv{q^xlax^ z;#@3B(59q zl-P4wFu*p3Tp8Xx-N`Lzd}iM8$#HrjCJ}Z5 zJFwpi7339E85Yu7osRJI#kE@9z=_F|OMDYpZLL^(?{%ThgDpksIJYl5%hyZ0c(d^g zflQF^Q#2EK!RcN}iq+W_n%nDEl`Av*eO_Imn-m=SPv@R{G`;w6mZSuXiF(}At|l@rI?7<7kzrr z->b|{4~bI@6MuJZrSsXFKqvD$!P9uv!E0mRlpCMvxyuTrB<}J>o3feNssyVwAsZ&+ zHG*BU0EMSECt{xFwuOh!1x68kG-Va&YH;O+eaWGfSJpS!tW~&T*}+2VVNsR=4B3sC z*MDoR2QgegUS;`*7L`A+QUXFctzU5xQJa=O{F0oCWE0Ajn7Qu9RR5>{qYDyTbFkEn z->*_cp1BtXK>5pnn?-xww?dEh=wqcY@`?3H&=X!Csxu_~WN;!mR22(1q6f+?3GO2! z(0-o^Zzc+;1FN^l*@Voys1c?V<972qj8G}k4jg9>VE|jf5RvHE1Hn+v0-1l69U!`a z<;jjIRLAFU6;R9#J{?Jl$h8%dC0#xNS7d&?x0Ll2P`q`pQlwlI1NjmrwuUEH!JB zjDz6cE8VD^6ZrGV^z}x?lc(3p^D7RL$mw;weh_^y@zKCvy=)|`FSLlxr`-ydq^zv0 zL(u;8G_u7*HQEp8Nqsy(AF&bvJ||-%2mJWnOD&bt^u8i-f`$@y&Z^u~mwQ(St%@?V z;@~aPV+y16CQQ!Px(E8MWu6;wBDn`dSL8Tm|Ai}Ikpw47v1b+bjTT9#s?0(VI$Aix zeYN(fd~zji0d^leTJV|_$8JnDpI~golSEZpjA(KxQ96A+i0$=dAd;9k4?Ijp4&H@P2b~L8NG-qG<UKH<2s&~hjGyQl^b_y zIJ1(^3b;t?b$Z#Z8cMT9yQFQGzB9h{y_m$c;r86lZT|{lZ*u1HB-Id+SCv!siBLGp zLU-ULU}I%Pu94JW`q zjTUilUXgdn!dyH;Dnc%GRXE(cmiFU)ou@356NmNKoWqF9!1Ft&(n?R<%%O7a9U$9B zBm^HdNCWbG4NnO~WG)Vnbb`W-*g;C_433`#+#8eoBY9;^d+rj}OAl56;hnGd=~z*? z3z5+K7z^%X31ygcDu?9ftHws0kBs*>a@VdYkdTa%!SjJ2&B`0Cqk9hb5m0xeprRwk zdIjFwfZ<*C|3v7S$++_2UG83d-wu1v(B^u2xqg3r9$8&8_CD*(jO1!^+2o>E>F72G&f{)*CXekaJmR$lU1~?_ z1{-#I`aU|#^nrF}6(EVA_%p=f`yAN8%4RVy%cpfG*;^rjI1@Ajfr@AwQhxEO1A!u9 zv_ROMeG+dnT@&A2EuNTk@CFD;H@5{gM|+JItJZ2T<{&(CluuY(&T_xEIHV5vz_(AB zr)}qFH0C{NNn-0E*U#eGqIyx?&=R=OopFrKSzHMd(G-KG7T+rjBJ;KY<@Jr3m)1%Y!&&gND3XMPm@Zkv55IdDSzN5*d&#f+;W$R@6@wF< zYA&y&U`y_-Tga--b)$r73DHJ-U2dV12{8hhUja+PwE8Xc>-T|DH(>_8s5yEnRq;lp z(7>|Go$H{c!>ES2+q-3Ar+-Fijt1;G45Qh?jV5K~0)f((R%KP6noampWMAXR4@yO) z#QC)HhrYj%+UP7^7esWzTJ0l}LG9TOy zJ^?q9`{!WOfP=m6x7=`tXgWG0d7WE^RcEnF@Mk{m-EvaA-YssEjZnhTt8HPVYjTpW zgsby~l455-)V&C;hh&k0llQ&>nm;%*dJZRgc`sWa{U_@=v<{-Joc^4stAF0kTLxyGWh%5g%RCx{)9|6*Z7mv0|HefCEj*nEc6Mihc z?S404Cl-RcC=uJ`rqL{d?VRDgsRMWgUcbS;`!d;k_6&z8gUj5?UUQ|-)fsdeZg1&6 zjO$R0;aZU{M1_wZhOGW-qr?4Ys~^MsbWwmfLX>l~hZ^XtR_acDIsQCz)JoR!p()Fb4uej=C0p|oD99De*Q%!;Uy~|= zRX5R*qyt0o?_D+zx4RBbywNx@=Ozj~w3kMzAV&qzMRPE`l31RAUMq8^f~z@;*}ByY z6E=wzQ-+w)WntX~Rt=w81Ck>0R)HU}=K#AhFr99KI}Yj@iIztd7uOTxJ9amKdirwO z0zLKpsoN)slAEXK6soJ?in|S3S~Wp`MR9D{v+}}NDzIuLv?!Jj88-hxv+cHGsu-6% zTijOnovY`k`^M57Yj{*#)Q%XOHhNKPmuDn39W@IOplC#WD&GNvN2k5&EN3Jyl}bYK zU9!AcXttRYxv*z>J#!0Ci%ovZ7D!@5)C{8>@4U*Ko89G zN=x}`&LCX!L!o&z32*R$)gBKotv0c805K_YWcAC8uPbfrCu<87;l@<-r3Ay?S!Ug| z>i}=--C#3Ho_eSj9R0B!aV1ssiczuxMn!nlN6@^$lQ5^IyQCoz)x|(uSLf|lDVjvi z5;ME>;68u7g}7;0;TfuB04$8lpz)>vt2JkXO*P_o*KoVM{vGqPXkG2PvWsG_DvhRTj& z5wdNJF=w%~$bv}LH_t7xAeBmyW6(hu?Fiw-27|85%X1UR2}k$CXc&>Y zm#5Sva~{bfGBoXqiEW_1mc984ba#Z#8)Ybawt;J2koHwhEUgdd0{{1)y`RI-woI-X z)ogd41J?}X?vb?)m3bmb4ym8+A>*Ev1X$p~TFc2oHB%fg)~wtio?8^>d1T9fEvfK{ z^~Soz!HI@#lL$kX_d@X>l-lCD&mIW2}rT$RFTlSj==}Ue(zGuAs zwIWA~|3#GaHE#?Xw&nL3%(#)N$VYAVj+nL%miNW?JjJOQGpQ>;38|OBsyGv4dx_FI z+vLw3`elm`rY(7Fs8{yZ%gi%cdljPysc-fcn%GmT?utT1SZZ;PB>i)NMMEL=Pm1;_ z@9hE6J}Low<*r<$yZ<=L_md^V4(ZizWO~lp+)u?q%&FawNisO$&;ZmrZo4xI0Sjh$ z!TC=K@mkZ>)po6G)FmyGxogCAS0<_t?mX|{0bgKSV|O>a*%|z|WAgahm$PN?WNt>$ zye^y^sjAUT{GzS5Eufa$dkR`-x8QE^-3WP1 z_1L;b!6A{qr)!k98xsF}>^>kPKqglmWVHSS?E|{W$vna7=70HGn#fHU;)2L>n8%@{xbPCk?7CyBFuZ) zATFp!Aq%e2-0kxl{;)#|l-K;~n#r_kglr(&@H2QZ^V}rIv*c=Jlv*?K&#L>IEmO*z zw5okyZ=K(WhDNvyXEFbP;NRJ5FZn`jw>P#;`UAVwq>iC#UAI-?o_l0UOc~xZWm&ed zRI-8cY1|jO9l3(ixL{O=@fDz0W_Q-kdzYWWAS{r0j;LDLF?t`GT~Tjo{s zcmiA9+FV*Le8DJ!FGmcDDi-$nw&ul;3O#Ou-nA%To|)j1$RWE0Kv8`VvvwcHc)1@`b9|5j=pj4OcA<{U?9DPq*tl z=cJ0LT>GEV8G2S{ ze}H4nxu;;^f^kRddAgC>kBRU;eg8D#m-Ww&g#&vTUS0UZXk5G-K%y*OVHgq`7!kKj~mqwWQd0N^ z_kPub_4aOq1jToSUGdYZinm`vwYn}pf?fMyVjpynuUe{kbVcKGXB}+@7{35GA_l+W z?{JnN544}3>ⓈBQ>X?nLnlNaqh82YAYB2*$GS7LHp)$`_z!{Pjg}6WZs2Y^+SJv zx3kJtr)qPR$d)O%FiyED5DVl@|1|MyHITe)mr1~;KjsafYRQ$~aosO|v!k;E=*oP- zCjQDRo4w`5SpY+N@g3x#!98;K{w9KgEqMyizVXD6g{*VSgL+tL_GN%BJutG33Tm0d zj`lFqXKiJ=BZ&!IW-zPZ${Ic;KS@i9Q+WZr?)Mo$36ld#*bVwp&n7P(^pDA!K}wK7 zuToQR4~OcIgIHr|G}{Z1zk1;U_8QO^rnnwv1IQS(b=vfRJmmf6czJr`P|J~c<+j1b z<|`SN!WX|!Yt40aJwi#70^N0N-Vu|iK2tsW zHD5*{mBaKKae3Elot?GS>6HNu^;@f}KylrtK}h1HJv<;nvGkU3;e)5znZ75l@TVjO zeqWBhC>m8yUTqg(fQKD%g?(l?7FXN$IqJOdz+#^5NJDR!J7Ez#$ulD$dTre6f0<*j zD}9*2oWzI5y~RvVVeAWkNvs{KbX=Xpn9q*hqFb*3N(PT#w;+*@r%T+;&1`jp-})LH z#hkV)CbQkHY>fAv`{JqFio3>te>6E%%86|rENWo<#Ep=PpX7E}Nl4VeNsb6V%;v)W zfz(7UFa3Dd;ta?pUGR>eF>97)ZVHf$ zx7M|)R+3MaRn490XdSL<3-3{s^4z+bwu0MlyTbjnIkNmNsz5c2&viVBK9OPfMrz|T zg9l&T+mpBpJ17+W)nz<6uJ6?}ZGoA!xwzV{J3aW$v&s1m-e& zOe-ILsczcOUs{!Xo=Wf7F?7waSD0mF){nK*w^cXQ85mJ|ImERGLgAzJ=0h+Yy;-e8 zIv6Z9jKZRDC@1A5;c#&0nnnCRg=P#${+&A@B6WES|2-e8RVZf7b_r1K$y*bVTD%5^9D(q_O`IMBy(N|l6aY<$KJ zbXo2I!eb!9nRjy~XWDGbB;qB^&%1!vz0`YJ+8qntq#LH@!I%XWA>&saRzbvk^#oX( zbjWa`;mCa+R>=b^j_+6?5Y(H41uDK?G><3V;OZ*2@oA1bl3D}B3RcK>SUqlKmgsI6 z)n(x9KLmK_1MCpwLbfg(MgdmLv$%6_UXk#=qwa>Cf<6WS{**VQd0A2p45V_v^X^DN z=8YZoygaKy%_x;YxW)NwDnp(y_#9ot&tZTQeS_T3X8YMSO8gMY;6q&g4!A{y2~9gg z08Z5$Z(rUo(P%5tv~gC-#TD<(=)GBJX`U0PB*Hx(*>}T)mH$etqqe09$MA{nUXyr;@=rv|K?sk-onDRwEM{-lUw6rI@y_V_@RzO&($g{}e zT@JyPC%iXELD-K3=x~jh>To-n-|GkfOM~-Orv3j<#Etyl3Dbob`OawHV@~&Iu-^lE-t~=h`&zJ)5mlYqC^s(q)MmX2 z+9&3Xe;>SFro4Kvum1p3lVYq;Ewi!|&(!Sn#!vF7qR1((^S;3Ir%(30m40w8Bpu9! zQ{bK6SUR4F8?0ZapU{Z-d}|~|gVC%jK;e4z_Q^{QncX|bZjVL&H>C{Ra1mMzI){Cg zle@L|2!=L$)3O|W(}ePqlaH6--VQO`(18l~dxfuvx@}NA*vv?YQlf;|!ZDB5Cz-Z@ zkP8+$(7Sld|A%dc+W9*C&C~rlks}rW7Mw!f?!^*P2EEb-`rO+!Q}?P-SU$L3fiW@W zz1YLNX#s*;%m5HPgHxxU#n5IgIfxW3?oH3M>Nm~GyezcvVsy+h9duiPf1m9u`XeN3*3Oc?ZJkylZ$yokr*i-|nZ^TJIlYB?gBs z`Y|xm67wX9Z>F0ScZ(lexZLfmb~(cF`irzbePHfQ#$$^{Bi&J zIy&u)Ks1nSNgiG!#&3*QG1-F>-uPLGC{Oimgd_LZ8wMxBcPuMp#325@;JQtJJp^3G zS17>v3d^tCdkkW_s-r`8m%)5T+~7%-mSblCsGtcNpaF4lJmJ$3`F*qb$De+6brd92 z)20O7x9~v6mL9(`Q{!3t0)^Fy%Xe}u9wW-P@0i!{pvhb4uKj)R*iCf?lauWRE7Mgz z3v6g&wvZW_*Ji;7VoUTXBIo#0T$dVV!ZgWWGFy+?^08;>i{60%g5(0IOtfL+7&*Ya zE3ssi2&)^By|Tno>WP5UBMMHB5-2vpRZ*Vo#`)@~x$5&m#9)Bz^R92uJgl)@wBDOL zQZUSDsE&c8GRs+T^Z(zQHA3;<3$XY9C?d`P4)N+h2(vX{5;y~X5qCnnPEMhgK&Cnw z*Dt%Rkv`-_G@v0Dj!E(THRmk3b>0#KJxsDV`r)XwecqC(xpvlZY}Cl1GyO^y#%AaI zh9-9)I{L}rDClm6{jsEXr4{ZkvizJqzhDoqGdT(o_93?;$aQj(=#mk=3mTNj6LM;a z=H$}sk_L#{K%lO9`mluL?rZ!f?EMuv{45AaeIyzHU_Mf~?LbkXmvoY}U%={AF#l`e z;uoHmI$08TZ~V|5bIATv?KwPerKP1swJ};qyY(Q;J&xi>96`!)GRRuXNH zC*uO0+%%|wyyZ2iKoS^)k;kv0r$mYiFIK^7>LD+wzz_vWo~+2-H@7WpuLn4q&ifVn z?(7b5jQII2Oy8;9D!rME%3!8Xv^_N=G$R`G=)34a@qIbuM)XyykXz_xn@e3@dXamE z+_zVzEE(RA1{^2(BGy26Vh_3#{)~cVrwDavH5;*}?egBM;aSW>9=@XriAir*zimSRKJy>cde)A^!ccow9^r7t|;*VC^{k&ErTs57Rf@QP{}xoi|X) zfMY%GYRI4o_eVw3dWt`80c)E>?n|K>|2oBB*L*!}8Lbtb8u_wQ_PKb1@RHxgXzQK) zV}Sq}`zkFT$uh|D3&MC_v)u${85Cx45}Z0Y(KtQ|M!!lG(aOkvn8%NVvNN&Oc*s_@ zEn&&1d3E0D&2keBV=x=3&ygN!3+$L*w{ni<2P`9tljIlZvg7HHE@wDi0Od$<4FM+e zq??>yM}%KW=eZw={W?Ot&Gs{B7Ged2YK%?6y9>3vCw5oyXjo@Sy>>{1U? zh}E>C?S_RxDe~0mQr+P?QaR5Bf?jDup}9ECUjoZX5&C zy^7NZzpT!su3rFlXeS0fwC={9iZK7}gPNwR#p$C)YPqW* zH$cDfwcu6tpLr}h-(vU=x5b?rI^Iy7TpHpX4$SDkpHvi{pDhZNlt8yv!^M9TZ|NO!!Wlu$Hqejwq!=mwi$mO~cpi?#|@5)2BL_-c$TxxE@ph zh6B0*Xe@D8j0=o41Rm8Bx7BuEl~%8E=G4e|vAfU9rM4Ya8>J5fAf925-KxEv>~D|a zcXYU?R?P5gn@>?G<-eR#n!WP=TZXZGpf*{;OzR-xTVu~ubT z$``eDy-~UqUNemdaiFONX*Je>i7Q}kjT|T7(umMdt*f6=hdcrdmd%Vgb$zZQKfqRq zw`40Miq!xdaxKxd4H-Huf7^w>ZEFl9>Q-oKhk^~~P53?HYgG6Im|E`BOf^6~k4?+- z%h2+O2~DaD^<-UYUJ_6U%>eR43540tAVvN_9+N@ytKs>6NNpES5Fn-mchM9W%^6AQ zqkXpZ>q-vm^g}Lzph{ZU@Vh@(ld$6{8FMM(Uu1bEA}@;18CC{scM%6U}3!~{-hLp zJWq&2dr;6+*Rf&3bR9#E-bvBn$&ukC5X!PjbXTzDg_M=GYx7ozeNxh1abVuq^Fwn= zQsI^oZ7E)QcFC`^&EM`w3XzkL6qCbQ)7gk z0;Sg%Elre>Daf7Zz*)+F`dXql4y>B>rW^4U;_7AD|1e#!m+aVj%j!HqDMs|}4Pury zccvz6z97If`4lO?mRhN*$W1WY8$~EfZjAoaG~*$X(=}yzwP5P5*{s0woUIV|_5~6s z2p)2_Oc0Tg5=M_$u;T%d#(*f&a0-H5;Vd3Hbvz$n)}nkexOWi@>903x9CG{i<4awq zVC~Fal;T$Z4K4o7$lb5%VVkkXRT^W>RT;2#qIMi`5T@`!HM`LIblXK~b;MIm&#Jm} z2|W#>Nqx$7^)Z%Pl{O0Mt=;|M*stmq5e=KG3nCwu_YG~AXYVg-4P6^RC?20Kjjd4x z7thwE%_j17{WQZ>^3)o8w*vmztJGdMGn;OyK>b{lcqPMo9U z3w!&q54?MG6wjPbgyeST@7%(yWgoh7Ma1Y+A=SqWMd*pS{eW9;{p#0I1zPCVa_IMx z$ya|68yxUfPrFhgH2M$0XXOG%3>Qwj?cdAsbDbKq_t1VOl`$x1b5D(e z!C7!uF5ZaJ05*;^^yT)j|75GfbdjXim0~pT)TzL`&H#@MXJ`Y${vPg)M0i9u|H8DMQq%bg>f=cv8bex;Iqrwe9fLT5CRCMI0`=N%1 zZz=_NM@JEws|=1EBZF+xYOa%gKD%365;MRgkBb)?HF<5J&6?dqkZ~CNW&PJE7b0#+ zv#S{M!CKkh+1)7&P6~d-+n{$Wnc2kGBa##qRdAI2AcaqKZ1G@k&^Au1KJrx(dh}`x z_4JScFEtA=djq&1`kH;Ez`>Mq+2Wp~e~_PL4OD_4f!&j1W_*0S3vw8H+}B;I+O?eW zi@-*r4KyC}j{tlT*}2mSxCOs%24czznB;&Be?>gD)Oo2DYA?Z%!P~pKU-fRrSc*2m zG*+cqg1TV>vf(-lSOa_FQV#B%V7(g@VDurB0vzS@y9nw~og}v0Ag#d&kfd6}_q_n_ zHxZ+9;KygYh@RE-)=cA-qyGJ1Y<&6U%#tPB}T9LHR+kcTW2kKsPQ^ z4rLfgaM;;PT<0AXEEWq1wb?$1i7$E2WBdC%=*2rAZVBhlX_<_m*$4t$03!5UIyqzk zq>ny1u?lkIU-!6sUo1UkUBF-7rvW80!r+tu1gWn|E-ziDc>HvU+nMmcmhc;3ZAx38 z$S>5F6mN2BiOlh18JB?(ZjGMjN#w<5-)u~DMf#q_cCcoGq@b}~s`ia&ki-E#JYCD0 z$*U6GDJ&iE^GJ!+rxGxqL8~zcPtY;0h#eq05(%)Xpsd zS1Sg@5pqO;VUvmY2S>pokKECbmypy?z-aT?%I9a0A)EyzI#81^9sj-7OfL%ge4kIn z*C5)&LC*htQ5tG(2KqaUph6aId3tD-3tl3!Z#5oxWO4H`mWb^=>;CgEaRH`lAD$3| zisI_TD*hlEtjPDHzs|5{_<;6vui5(W&$vcY!s}sf)VkTJ+gN;KJ~KTgQcK$PGU2sb za9;i|??*Xv$K){H=Q6LfqYoi=l$*Yw=^SXLAP0p0Re7uX@-Xs0$e)F}o@n+{H`dcH z+CDx$xd+sUnplGt!PtoY@YD{80r0>8U5|R-CQh56BN3*wEF$S{5?>Ld0!IP5g5lq0KupH27Dwf{gbeYaDqeZs+(2+9>Yh zbyY^1K@kE=H*R9HforE_F^9b)ddu@!IjJ3o0ddo9Y!oSt%wUXL_-&RDiwEr84?zwN z!~$3}i{LE5Wleik=WuNpaFX0XllRx0=A!}9&^=`Ax(7VY+ljk!VXs>TbOjKiC}hZH zd|$tD2rm-@0uxbH-h^e5Q4kXcYexH+`X!Ok)r2g2piGo4r@QCL!g#t9cFQ1BBQ0ibBr^WRoTJ4bq%XOGY?Kk!pi!^*|oO#~51|01 z1h?(KqYdtY4?vbvYdxBLUKPc+IhvSTJEaUUJPinV6Ih%Tt5f2nmscy$?w@djP&4&# z1BIn+_Amb)N2-bN5exG2nY37^2zN4UAu)U#;Px^^gyM?UCaI)Zy02NW^x)A)_@wqg-nx zfuWVacKrU(yAP~JQ~H2EJiK1_)&6Pzf6-vjn-0l8;|e!KWB8>IqW3AU`;u3bN-D=s ze}w`nNHVG`V&H$vl6k~sUdazvN{p9eJ@NN`x#^&P+|YS5C(&l|S#}cOh@`}k2UPIH zGA(k=OpNHBRS|e?&N}|9Rvar>+POdl{u=P=!~s3$YXWvN59_>%0$WCGwfMf4nfom+ zLOZBtGC?9%tY9Cb0+DU*E#LPhfFv9!#+H@}+Ag;eHv!{vLg_;e>$Gz@wPBQCe9t|; zdI;YkmS;q`+F|A%QPw!+@p>z6WS{r!pgTz7qjAepzA( zX{C?eTs{p$8jAhL0=TscBpfAO@ZTIO1W-eS`vXLWMRK)`%9Zizq3Il9LZp`2X8XWt z%gI*Xl-ekL`R9Wq&lx?&`!boTO%~ceZo1R9&(-As)Y|HfMEGMC>od`o*|`<>*xvtn zJ6r_!xggY;_}3TG(X*A%2=MEZ)AeJ2sEO-82-=f^fj*ZN@JQ=shBu?aua z#4PWY_c@gLe-fwakJOfBJZzIgKG4ec)eb`JJ-z-Q@ckP{qGJC%SToi|6E5DB+}A5$ zzMFf2HuFCNzFUD0jyR$g=6?TW0>gHyCw5wp`_uP_z3l`>$4_Kc4-7+5uc^4VWn^Ff6=&0lruZ06PDpW7Ei^L>4S><(u+*w zQ@d3&vPtqvgzq8FXu>upUej0)GtYF8+D5;A${QqN3LQaUYl6;#+z!=?RN|$%07=xc zVNCz{RV#@uJ-c|%>SG?AP85jI07fMR#5KTeBrLOY0Qu8=_jDyArQdmJo!7ytbH>-z zJWwG)B7D6ZcfS2-8iXCd8mZUc01pv1au)$3i`E<09=8g-YftpPyIaupysYnw`$zp! zy5bdRk5r-k2zTZDOa*K%ua{arup;81nqp^A zvQy2Qih&gbB+L>)nZo$G8|K!Bl(3f2WQis=T};P2>cHnh=80PHrHZf#z1g|Qof#ef zd|=@SjJc~S0qzny)IiWrC`IHlR-hA1(<4H(HQ->ok-&{4X267gpue4g8_{Y{UO0;{ z;b~Ipo2BdO2v`E>GIqN9wvoo>d`itSvRn*;L$j6F+U(sN{gfOEKWY6PjGg{v* zg<9`1fqbG8#D`r@x9Y+}0sc&^UIwp?UUpTZlf+Jcy$=2n-bU%H_u1=e)iph7=WjI| zp`L>Wae#{PQWrQ&?=se!E7XoYg`wF-cuI4Px$|zi6IYSHr)nTcOVckA0F`QFsP0%| zwFsJLs1_IZ$%WTi)Z>^5@O8k0XBZ=i@vxRU))u!5H|A>aFNi?SrLN@uLYhwha)#8% z2;y)5tne8p-lk~5?%v=|-1Ybj-A;Aj$Z=((5XmLG=}tld@}E91jMgj|B6kk-#4zxD z2Jj3PfxqfCE>c`0x6oQR8b}g$e zS={$PH)llTN!{o`uxKVh<=IAiVg$&Ed2OBrh@+G>mpno-ipV!4>cMZVkTNFzK0S8K z>KQYnXCubYL=N(*AU5nVmN7lv&1voa{5@!vjNu2MCljYifofL~ zZuIa4`sNg-ksO-O2+vOpLao$+Xn{F6dJ3Sn;2o{!tlcLV7R9C5yA2!2369|oQ)QUO zXQt|=Pu~(7dU=EI&Q)X;)j)^@kJkdjV7kka2~3|e#Z+>?T3C$PKM(HUA6Te<*4{ec za?8J9cQWj)4UiZbiuD% z{a*~hcmA{{De9I?L&T+hg3sG_Rg2A7>HSuzdUnj=m!BdC!NWM*?p!_V zb#z0U;P)DitaI1^^<;16XC4!D(Cf_S-+p|mx6o6Q}rxK ze$Q2Qox_$*rMQyf%*~G4+%i2mJyvBA=4R^LIyDgDgkbo`N5Ax2H|P1f1R{Cy6u8PT zi!PCzHZM{TA?zlDOWt8v#9Zp%gG~5x#m_AQQ~Y3hR!#K18=)>WSgULvgVCZ__*Up? z83e|iWMEXsF=b#F1Z6gqsDHutoNycdiTMC?goVw|PN{)%p7?|o)Us0A8n^%v5}*xB zH?^f3ozHgV6(E9?yut;dT2L_LlF^?t%ax_e09{IaHDdP1g)1#zAGNSkbbK8%1Cy?M zE8I!sVN?vrkaxyZ8RzO{#xdvjc!CdjG#a5Al-jxjsO~o;yaNPG7%BD~?tGde2yn0y zg)%bg8H?o8NBg`X1L*)qx0n?SMha?<*H>tNQ($6_R61@Du;8)36 zDxs_vd&x4ynU`^&hw6i26&hb{9=TV%SFFm==PaF9#J-;)S7sEUdfF2@ek+-ij`P!s zaqj(i(LU`6c`^M6)5lb*hZH3j!XG#dalDq6b|a+rrzW~}v~6ew@B7m>*l*!Wp!vVvKCIQG6_VYOrkUy(m0$IszB)|GDCURdR|a3`i6FG z-S)0L<>~e}Tk4QIHZ9PXB08S@f3zd+U)H;sz6??7L3^}{<}2CiO1$`x6CV0`$i$H+572i zfieTLdMh;8|5w{{hBdi#8BqkJ$i;$4Rl$IW6qPRZDuR#zQ4m2;x*(t+B~-Z}Tm=M4 z=n$HKsPrbCOAl4LwB$+&orF*Vfxr&&`*!zv_SZgp_g9{inK}K;IrF~r&ZuL)D*h)o z0-~Brx(bPEJXP)JOg8k*HxEsE(M1fi2qK=}do6}CtR*Pw*ilrxuhyD^`gmH@@kCMa zg9sTKgN@z=BU}$!;aJDdVNu48{G&E{aYcq{!Sgd%A-Kl}XoboTxAjz21Fw>zI|&+r z#kR?0>-UTuiN5RBU*PUn^^YTqUq#CxWjrxcdi|IHw{lWXZscB^fq4V5X6vq>)_RqT zz+Q=gxu(yE|H^`6{no3w>5$CG#hIx5kE#o*QAJmmw4`He_a~;7vS40`J$?lhT0W{C z);VcN(uX;R17msHmFOJlt%bnMxpzv5a-@fM(mp7U8cZmgAOe(Olf41r>2ux{7vOi| z3@{VyNY}q-u!G-%qGJu`y++WxxH+7>;a>X-MI6z&ejQ5j%On|>)lue^aOn_oU*-6>(D5Wa}tsb#+kjR)(*j4fD??{Qe_F zPyP1@%WN^j2r+$Bb zlp=0qzZc3%L?;aeR6KZYRA1uW<|61-Mk0&^Y`twg`YuPJ7BL@ad;_br*>FHIHW%e1 z72H!_PjPLl-YF%<02QOpcfPU0N$~4CzC9rQWhq-#f5EYCWI|T*Rf%Tq2LTPQ`pQ$L zt6n28vJcT;cw@@5DWX-?Ifi#3Ys)>I{XriW@rSIWXAEx-a>?^ux-b5XohI{78X@w2 z=~S4@tL0LPn~T+uw)6h3CC-5@@r-KL$LW~+H(Yk@Gq(Dl75EBG*G66|b2-lq>t8uC zY38sqXOuG2nYvtPhxqII7d@NqF?jC8-A@8?N?Uu?i^`OJi?rtyJ+i*T2nCS-+*Dt7 zM#F11>)r9~qguUXJ9m=?_GeSM1o%@)h|A9MXVTN zCj2nVUQDwn7w1?!8p;#{O$yKnHNDztd=Z%UsH)wo)ihz=0PpGjMkNbsmSFhy`MPbq zs)g5Fug*R9I}6j2+{SS=kIEj|6?*5vdb+#wdLMipe(Q)&J$<10KqWz1Y@i;zNQsME zw4TGYT}j-DarB5LZ&1X^-n@}%3iAZD(ujSX;4^ag4 z+ICY;s+`u?o(`bqH9n2-BN}+rI6m5}4eeX=ClmJ#=36Ev%xLbl#1xIT>g)_6O-t`U z8np-_j(Et9d^LK3AH5lg*0g>(3iAfxMa;aqhwd1r^c>|`dR3!zFfnBsGfB+eRQh+g z_|yl<1Q(W-LFu#R)f!2-EZ@L^wgb}j`D)tN0O2;}N*aP%6I2YteBHY{=hlG|d&wk{ zkh|;?`EB#@DCPYRs(=aJ2c!eeM(V_=+_E|s$);y7mhjf2l)9I;(o2uUG?^)}p1nMr^$-Nx_fXa7u2)aBhN&&qcWeqm6OP-6rS5UBDhEE zxJGe1SVAb}@Q+0&SCPk(IUDCj{HsYlg>f^3HG*4c&6&13N=%B|s--qea0p9XqW1}{ zpWFyzM(>3-?D6a)B4^{Ig%gh)!aN!=;_3tgPe)+^pKV5q`b)aO z-QMX7Q{oluim&z*?zvWNSMtYdJ#gmTSnE}uB$UR^G+e`?)WKFJE}|mR^&FDC9IEu( z2sOz?tm0d@Ui(uZ&Wl^+BHRcC9mrM#Cw((@jD@*={c6_%5;SLHwW;70xhmEKSL;BT z`!}nW5{ijxl}U@%KRCi>?|52ehl7+ArmL{Ic`&%&cm<~PnZbsZ(xEkbKUS=S8J*se zO{lMVxEB$90$rVFAe&mEi14q=6}hI*aYcW4&?<|bB99|oIT>}3hJmhJWNWx_{~FIM z*_sh4;}q+Ksu+7uh`3WD3%xWXD?pAazAzM6a;B{PYn)Hq2qBo$+(L&cr%0*o*ZbgfYuG!_ z6J(D|y)kk(Ep}sP6{?3yQ;;Qs{&Ss~HC#esWN;SZ`b=6o>e6MntsaJt3+d`Lp{{+; z)MMlGoed3(V+Oq#@?L@LT>Z7aQxI?i%i;I4ndQHIw5lE(*klh}i7RVPa|wAy$* zv@vX_QlU&ai40p(-hdwST052 zMV&9adNTV(5bfr$uH6w>e9`i3hSRg`<;yX{m;W|}zLVov-ko0Y_qv^4xFbBN>yrg} z%*OZF8s8!R02g1pw%_qiZFE05olIHTfXN*&D$?pA=Jv29Ef$}Lxg==^zvr-u^AFg) zcJ^s77FdqjWbN^ztaPNB2F$e`RA%(~kv>eF)fj^2ZcBc5D_ok}T{)-dqpGdSQ+iQN zjU>^Xh;;azP#WIgH054 zT;Mvm#}^rG`CCbns3@5FO^TY6q+kB*W;#LK8@KRAHjj|94%Q@DiDuu3{eKpuum1I= zMSH&9uXwh0-p0=us-#F7Y0;9#$r}|dABF#o6p?6n9!gjjmSR;yM8O>=`nIQdiqi3)#t)!*KA+v z?xkDjDbP^h&eEXZBhM6KQPsv~(Gd5hD!Xl$P}ku^Ru>hi z0E)Qg-jT=g0V`h3oQI?$YspVq%qN}LsufM#fVo*@t5~-l`(}esV;!ikzi+y`{C4lTn)1`vAe>IPP&m6+;DWZ%xN{4J6;M$AIya3mL&tQLx zf_gUbqr;P0>pYR;X?>rZ&fNFszioxDu5r>=FBrm>9FU+iGX!&bC9(EEvS-T=lRh?j z<lUQp>$wi2daEiI$*h;8hL_*6{v#=on*$iO&2W6MX3Fr(Rt88=FWF>oO8U+~dnIg3 zbCGb0K?vs}#h`q&X}1mUHJD9^fr>fS=OW7pn$I0Ls)gYpES;#Q!Y8pT>KMKjP1l}1 zUj#6fcIbuf0kC%#eP6Jdbq?6jx&KBPIa1#UUEj%(2YwOpJ?U^ z`*&2g|2pZdxPK~jyE!V~`UaVneT7HA^4v(EtSx@f{`lZSkDBx|$YQ9~R-^+-FDuVV z9xD=2DkETlxODUiE7=-9q0Vy3$t>)0RAOaiCFVWR{W&-rZsuMf*X6iH;qd75;G-Wk z5k{SO{m&>VZwE9uG|uJ(TI%h6=!LU4b-T9S3c_UAvOr3&bffks3@63;7OyHeq%f$ zC3qwE@Vq*dZXj1{!lLkuMg-W;9{&(oQ$Psr=KT7mR_* zp3!L*eNa<5L3hVw7vrAN8!}dP(2wmo60Ko1;1JBc;=Kzug z(4Aid0XNE@U<@{N=p2C90F?LXP&<`?nZaBb!wOwjCII>fph-GwWRTYv3{#F(>E`T3s$9&n>P_vp`!|m~mU-m%GpXZ`0x|Bo z+^gG(R1d9X*4Nr{2@fDon)eXk8!O>XE^s9Rc&l-q@z8hv@4tz+OifLT3h3vP#_O-9 z0at=RG7SFV-^xo{j8cEeju>65CoSehL_|ffj@uu*NZQdm%w(HALPv1?F{BJU1RmX`Rb6i9=qSE* zQwk|N65EqfTh&K>ojW?6!yU=fqCJK=+5P8Qsh~Qd#11Bzcx(WCao^^9Y)8i5%~m5E zj_Ha8uRzxOUO$}bZg+T+%euAj1Gn8BLys9>c9+24!c!XFN(egc9;h%?K|jrhOXd2_FV ziPAb$!s>ae{%dd4dw>yTSI}Dbj-{fqxNx0cw_D)A%&(<^FxJsSs`TDU?n9kzg5LUt zUHaeH7XbEXB~hN-?ig+lLgRF=q@<+ms!OpaG2JSxvsW;6%-?Fd-{x`1@6Yq|uEuj@ zj+-eMr$TbxtJc^2C`{FUy8YZtu_9wBg}DiO`xkDBQ z3TV^lb#TR!PozX@!sLF_5O>$xHK%+DiDYF*F?HV*E&XZIsMn^}9k?&JKdDPAN^)8b ze!2O6JBmlfm&-=wycDC(olh_KdP>K;Dc>hx}>f-;-R~i?nq~!aJ zOS;r%wQzP4Ix4ei{yFbck^acl{6CFvjLPDx%4o$aZ1!N+1xY)J?kBdb!SQF2GU6fd zu`aD3!Ucu!@98bv7G}$f?I8(n_{Sa}^cn`269&RUw?a7ge9qq+;jemOZz~JV0oHJO z&?C(&-DV4RKGQi{xB0if2(9;}iRnjwOff%Jbo17a$Um!y-`^+^6Hh$76g=+8?2GI> zr()GWA2je(L-&nx!i6R~w)n`ZOf~Iy!}%krZ-&y#+N4%!KNh&%@1;wI^u|jGs@H|% zZ^Uz^yU-zbtN{9>o!czqv>dySUg*NS&Ewa4FvBO?;YZhho9W!v3t^GIK(=;fOMUr7 zWigRKB-g|gT*O#BF}S8M&HY-GZWr#?r{g2N)6}#LWsT4F3|F%v+Thjc{IAdbw^qQC zqAYI`YltM|Lwux=MXMx4OiFOGOVjmkGoeFcVBXJvl*IUCrG0hi&BtSHl)(St1%_ z*MDmkh7&X}T?xu8O|~jyU>3C;Gc#56+**V=KHchCXenP8hOh1V{1bE);*bAK&ecOO3`X1`+$v%cfd9eM#@k*z-{tbLxu%?O;0oQfueqnkgq zibh@>eG}77{w+zI)h@3s(D|1&HsF}xzd-1t55u#Ptl^i}u$(Y^ds2QLi?hmE`rta< zkA0IBQ|A47!pzjf;W?gPH4n)okw7=)@;hagqn02fee`8C9OHN~4(^-F1r|J%q0GMrSNaiW!8U8oPn{qj1+15#hui1>js zp?Sx}{NWGPDRBmf5R@z&#qO!kAZ+iqLwY5l*OM$CFiSA%?oKj>bpfy449m$r*;{a@ z?k)rpEdpmy01vO!T#e=^e6{B^n6J;dn2XDnj~LJ8I0l&R0KE#q8IT~G-|eK5e=Ze^`&AFyWr**-mI=TMNJ>g_cu zFb9DQVo_=#z${$F)UFkI9$SKd!z310PilTUE?JQ3-HKC(Kqf8&b_@ZnRw^06U11Th zp*9{PtEEz%BHGlFbEEbMgjpS^090mC?>6JES>XNsrb_aLrzd3ndb_qdm*Om=3Cw&}0Fc78WdT z!vbUFAP^<+kN9C{`w8h!N)buNk3ggr{?$ut-VgM;3BKPwrH45tb6A%_(q^c+3%7DC zEkMmQ8VwEn`Yi}l%n-<*cLKSDZb9>(yL+tf>CRn0^How1S7O(TY3dv%f>QW8Q29Fs z5jF3S(j(ugVOa_kO$By)?$7*%Dzjf@z12*e7GId)h$M}=fR4yt;H8Ys2Vf6(OP z?%%u7hZukAO4y45UbsxXas+ZWMw!JLteAv;(^46aq9~TvBpJ;lZ!dq44ed$(=IXXI z*7$*=8gmp9B?tJ90eoLMf668&mO{N3x5Q3NSdXk|M_n(wid2t128llg>?;QBYt4t; z^Yz20g$0z1t$q(-RJiVT@&Tdc5_fq%HX1C4eh2)4Wku9`8Y_G-3Ae&E3p{NcZjh{S z(9M|e8{{>3J;8EV>wPEB&w_h%dFjt)%wIx##9Cdd;8U<;2!Te!_McCXY1T@y%AQLeA5OSu9<>m(fi z9(5RL11rZNX}Z82G67E*8tX`Tx#sLWl&eJ*6UU(aEtpW50Inq!jWDwK5r_b^~QUeD$_2;|XN{Xu)iKE?izX%Nu)|Cq}E89Mu_ta)#E%|2kCAL>K< MHthF&jVFKn2QkFzBme*a literal 80970 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 E<7(|wJ0cPY;}jT2<$6b? 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ℑ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 E2b_j5N&o-= diff --git a/slides/regularization/figure/l2_reg_hess_03_plot.png b/slides/regularization/figure/l2_reg_hess_03_plot.png old mode 100644 new mode 100755 index 714fadada0788f04f32ff7160cc348a230c05122..4bee13328695e12385e59e53593fa09e980029c9 GIT binary patch literal 86367 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

    %5~f!x;0wX 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ଯLpK8J4!*Boqn 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 literal 84942 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ð>T4J(~nMME&5EXUXf6e!iyND65fXyfqihr3;y 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 Wdb03Rz3)6%7bX`h&lem175-lY+Qabx diff --git a/slides/regularization/figure/l2_reg_hess_04_plot.png b/slides/regularization/figure/l2_reg_hess_04_plot.png old mode 100644 new mode 100755 index 9b081efc426f2bf8aeb9af25676e1973d6cbb8d7..2db6292528d02ae708c3ac3f84bcde2c1452d1f4 GIT binary patch literal 49818 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�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 YG#;F(RXINixZsV!)78&qol`;+08@O#PXGV_ diff --git a/slides/regularization/figure/lasso_contours.png b/slides/regularization/figure/lasso_contours.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure/lasso_contours_cases.png b/slides/regularization/figure/lasso_contours_cases.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure/lasso_outside.png b/slides/regularization/figure/lasso_outside.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure/lasso_ridge_enet_2d.png b/slides/regularization/figure/lasso_ridge_enet_2d.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure/lin_reg_l1.png b/slides/regularization/figure/lin_reg_l1.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure/lin_reg_l2.png b/slides/regularization/figure/lin_reg_l2.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure/nn_size_1.png b/slides/regularization/figure/nn_size_1.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure/nn_size_10.png b/slides/regularization/figure/nn_size_10.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure/nn_size_100.png b/slides/regularization/figure/nn_size_100.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure/nn_size_2.png b/slides/regularization/figure/nn_size_2.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure/nn_size_3.png b/slides/regularization/figure/nn_size_3.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure/nn_size_5.png b/slides/regularization/figure/nn_size_5.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure/other-pen-MCP.png b/slides/regularization/figure/other-pen-MCP.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure/other-pen-SCAD.png b/slides/regularization/figure/other-pen-SCAD.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure/other-pen-lasso.png b/slides/regularization/figure/other-pen-lasso.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure/ozone_mse_boxplot.png b/slides/regularization/figure/ozone_mse_boxplot.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure/poly_ridge_1.png b/slides/regularization/figure/poly_ridge_1.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure/poly_ridge_2.png b/slides/regularization/figure/poly_ridge_2.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure/reg_logreg.png b/slides/regularization/figure/reg_logreg.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure/reg_surfaces.png b/slides/regularization/figure/reg_surfaces.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure/reg_surfaces_l1_l2.png b/slides/regularization/figure/reg_surfaces_l1_l2.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure/regu_example_multicollinearity.png b/slides/regularization/figure/regu_example_multicollinearity.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure/ridge_constraints.png b/slides/regularization/figure/ridge_constraints.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure/ridge_contours.png b/slides/regularization/figure/ridge_contours.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure/ridge_inside.png b/slides/regularization/figure/ridge_inside.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure/ridge_outside.png b/slides/regularization/figure/ridge_outside.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure/shrinkage_1.png b/slides/regularization/figure/shrinkage_1.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure/shrinkage_2.png b/slides/regularization/figure/shrinkage_2.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure/th_l1_neg.pdf b/slides/regularization/figure/th_l1_neg.pdf old mode 100644 new mode 100755 diff --git a/slides/regularization/figure/th_l1_pos.pdf b/slides/regularization/figure/th_l1_pos.pdf old mode 100644 new mode 100755 diff --git a/slides/regularization/figure/th_l1_zero.pdf b/slides/regularization/figure/th_l1_zero.pdf old mode 100644 new mode 100755 diff --git a/slides/regularization/figure/underconstrained_problem.png b/slides/regularization/figure/underconstrained_problem.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure/underdetermined_problem_01.png b/slides/regularization/figure/underdetermined_problem_01.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure/underdetermined_problem_02.png b/slides/regularization/figure/underdetermined_problem_02.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure/weightdecay_lambda_plot.png b/slides/regularization/figure/weightdecay_lambda_plot.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure_man/bagging.pdf b/slides/regularization/figure_man/bagging.pdf old mode 100644 new mode 100755 diff --git a/slides/regularization/figure_man/bayes-plot-posterior.png b/slides/regularization/figure_man/bayes-plot-posterior.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure_man/bayes_reg.png b/slides/regularization/figure_man/bayes_reg.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure_man/bias-variance-ridge.png b/slides/regularization/figure_man/bias-variance-ridge.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure_man/biasvariance_scheme.png b/slides/regularization/figure_man/biasvariance_scheme.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure_man/complexity-vs-fit-continuous.png b/slides/regularization/figure_man/complexity-vs-fit-continuous.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure_man/complexity-vs-fit.png b/slides/regularization/figure_man/complexity-vs-fit.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure_man/complexity-vs-fit2.png b/slides/regularization/figure_man/complexity-vs-fit2.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure_man/cv-error-lambda-path.png b/slides/regularization/figure_man/cv-error-lambda-path.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure_man/data-augmentation-cat.png b/slides/regularization/figure_man/data-augmentation-cat.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure_man/earlystop.png b/slides/regularization/figure_man/earlystop.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure_man/earlystop_int_hat.png b/slides/regularization/figure_man/earlystop_int_hat.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure_man/fig-regu-srm-1.pdf b/slides/regularization/figure_man/fig-regu-srm-1.pdf old mode 100644 new mode 100755 diff --git a/slides/regularization/figure_man/fig-regu-srm-2.pdf b/slides/regularization/figure_man/fig-regu-srm-2.pdf old mode 100644 new mode 100755 diff --git a/slides/regularization/figure_man/l0_norm.png b/slides/regularization/figure_man/l0_norm.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure_man/l1_l2_hat.png b/slides/regularization/figure_man/l1_l2_hat.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure_man/l1_l2_regupaths_mse.pdf b/slides/regularization/figure_man/l1_l2_regupaths_mse.pdf old mode 100644 new mode 100755 diff --git a/slides/regularization/figure_man/lasso_contours_cases.png b/slides/regularization/figure_man/lasso_contours_cases.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure_man/lasso_hat.png b/slides/regularization/figure_man/lasso_hat.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure_man/lasso_ridge_hat.png b/slides/regularization/figure_man/lasso_ridge_hat.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure_man/lq-penalty-plots.png b/slides/regularization/figure_man/lq-penalty-plots.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure_man/other-pen-MCP.png b/slides/regularization/figure_man/other-pen-MCP.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure_man/other-pen-SCAD.png b/slides/regularization/figure_man/other-pen-SCAD.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure_man/other-pen-lasso.png b/slides/regularization/figure_man/other-pen-lasso.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure_man/path-ridge-vs-sgd-ali2020.png b/slides/regularization/figure_man/path-ridge-vs-sgd-ali2020.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure_man/penalties-comparison.pdf b/slides/regularization/figure_man/penalties-comparison.pdf old mode 100644 new mode 100755 diff --git a/slides/regularization/figure_man/rf_majvot_averaging.png b/slides/regularization/figure_man/rf_majvot_averaging.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure_man/ridge-vs-sgd-path.png b/slides/regularization/figure_man/ridge-vs-sgd-path.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure_man/ridge_hat.png b/slides/regularization/figure_man/ridge_hat.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure_man/soft-threshold-ridge-ols.pdf b/slides/regularization/figure_man/soft-threshold-ridge-ols.pdf old mode 100644 new mode 100755 diff --git a/slides/regularization/figure_man/soft-thresholding.pdf b/slides/regularization/figure_man/soft-thresholding.pdf old mode 100644 new mode 100755 diff --git a/slides/regularization/figure_man/solution-path-ridge-lasso.png b/slides/regularization/figure_man/solution-path-ridge-lasso.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure_man/solution-path-ridge-only.png b/slides/regularization/figure_man/solution-path-ridge-only.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure_man/solution_path.png b/slides/regularization/figure_man/solution_path.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure_man/solution_path_l2.png b/slides/regularization/figure_man/solution_path_l2.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure_man/solution_paths_l1_l2.png b/slides/regularization/figure_man/solution_paths_l1_l2.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure_man/to_replace_estimation_bias.png b/slides/regularization/figure_man/to_replace_estimation_bias.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure_man/to_replace_estimation_variance.png b/slides/regularization/figure_man/to_replace_estimation_variance.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure_man/to_replace_estimation_variance_res.png b/slides/regularization/figure_man/to_replace_estimation_variance_res.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure_man/to_replace_model_bias.png b/slides/regularization/figure_man/to_replace_model_bias.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure_man/to_replace_sampling.png b/slides/regularization/figure_man/to_replace_sampling.png old mode 100644 new mode 100755 diff --git a/slides/regularization/figure_man/wt_decay_hat.png b/slides/regularization/figure_man/wt_decay_hat.png old mode 100644 new mode 100755 diff --git a/slides/regularization/references.bib b/slides/regularization/references.bib old mode 100644 new mode 100755 diff --git a/slides/regularization/rsrc/bayes-plot.R b/slides/regularization/rsrc/bayes-plot.R old mode 100644 new mode 100755 diff --git a/slides/regularization/rsrc/bayes_prior.R b/slides/regularization/rsrc/bayes_prior.R old mode 100644 new mode 100755 diff --git a/slides/regularization/rsrc/beta_lasso_better.Rda b/slides/regularization/rsrc/beta_lasso_better.Rda old mode 100644 new mode 100755 diff --git a/slides/regularization/rsrc/beta_ridge_better.Rda b/slides/regularization/rsrc/beta_ridge_better.Rda old mode 100644 new mode 100755 diff --git a/slides/regularization/rsrc/bias-var-decomp-ridge.py b/slides/regularization/rsrc/bias-var-decomp-ridge.py old mode 100644 new mode 100755 diff --git a/slides/regularization/rsrc/curseofdim.R b/slides/regularization/rsrc/curseofdim.R old mode 100644 new mode 100755 diff --git a/slides/regularization/rsrc/data-augmentation-images-cat.py b/slides/regularization/rsrc/data-augmentation-images-cat.py old mode 100644 new mode 100755 diff --git a/slides/regularization/rsrc/distances.rds b/slides/regularization/rsrc/distances.rds old mode 100644 new mode 100755 diff --git a/slides/regularization/rsrc/early_stopping1.RData b/slides/regularization/rsrc/early_stopping1.RData old mode 100644 new mode 100755 diff --git a/slides/regularization/rsrc/earlystopping.R b/slides/regularization/rsrc/earlystopping.R old mode 100644 new mode 100755 diff --git a/slides/regularization/rsrc/elasticnet_comparision_ridge_lasso.R b/slides/regularization/rsrc/elasticnet_comparision_ridge_lasso.R old mode 100644 new mode 100755 diff --git a/slides/regularization/rsrc/equivariance-ols-ridge.R b/slides/regularization/rsrc/equivariance-ols-ridge.R old mode 100644 new mode 100755 diff --git a/slides/regularization/rsrc/error_lasso_better.Rda b/slides/regularization/rsrc/error_lasso_better.Rda old mode 100644 new mode 100755 diff --git a/slides/regularization/rsrc/error_ridge_better.Rda b/slides/regularization/rsrc/error_ridge_better.Rda old mode 100644 new mode 100755 diff --git a/slides/regularization/rsrc/fig-eval_ofit_1.R b/slides/regularization/rsrc/fig-eval_ofit_1.R old mode 100644 new mode 100755 diff --git a/slides/regularization/rsrc/ggsave-10.R b/slides/regularization/rsrc/ggsave-10.R old mode 100644 new mode 100755 diff --git a/slides/regularization/rsrc/lasso-scad-mcp.R b/slides/regularization/rsrc/lasso-scad-mcp.R old mode 100644 new mode 100755 diff --git a/slides/regularization/rsrc/lq-penalty-plot.py b/slides/regularization/rsrc/lq-penalty-plot.py old mode 100644 new mode 100755 diff --git a/slides/regularization/rsrc/make-solution-path-ridge-lasso.py b/slides/regularization/rsrc/make-solution-path-ridge-lasso.py old mode 100644 new mode 100755 diff --git a/slides/regularization/rsrc/make_avoid_overfitting_01_plot.R b/slides/regularization/rsrc/make_avoid_overfitting_01_plot.R old mode 100644 new mode 100755 diff --git a/slides/regularization/rsrc/make_avoid_overfitting_02_plot.R b/slides/regularization/rsrc/make_avoid_overfitting_02_plot.R old mode 100644 new mode 100755 diff --git a/slides/regularization/rsrc/make_early_stopping_plot.R b/slides/regularization/rsrc/make_early_stopping_plot.R old mode 100644 new mode 100755 diff --git a/slides/regularization/rsrc/make_enet_lasso_ridge_mse_plot.R b/slides/regularization/rsrc/make_enet_lasso_ridge_mse_plot.R old mode 100644 new mode 100755 diff --git a/slides/regularization/rsrc/make_enet_tradeoff_plot.R b/slides/regularization/rsrc/make_enet_tradeoff_plot.R old mode 100644 new mode 100755 diff --git a/slides/regularization/rsrc/make_fig_regu_nonlin_plots.R b/slides/regularization/rsrc/make_fig_regu_nonlin_plots.R old mode 100644 new mode 100755 diff --git a/slides/regularization/rsrc/make_graddes_vs_weightdecay_plot.R b/slides/regularization/rsrc/make_graddes_vs_weightdecay_plot.R old mode 100644 new mode 100755 diff --git a/slides/regularization/rsrc/make_l1_l2_regupaths_mse.R b/slides/regularization/rsrc/make_l1_l2_regupaths_mse.R old mode 100644 new mode 100755 diff --git a/slides/regularization/rsrc/make_l1_reg_hess_plots.R b/slides/regularization/rsrc/make_l1_reg_hess_plots.R old mode 100644 new mode 100755 diff --git a/slides/regularization/rsrc/make_l2_reg_hess_plots.R b/slides/regularization/rsrc/make_l2_reg_hess_plots.R old mode 100644 new mode 100755 index 004b2753..e98f52ef --- a/slides/regularization/rsrc/make_l2_reg_hess_plots.R +++ b/slides/regularization/rsrc/make_l2_reg_hess_plots.R @@ -5,7 +5,7 @@ source("utils.R") library(gridExtra) -lambda <- 50 +lambda <- 90 beta_start <- c(0, 0) step_size <- 0.005 grad <- R_emp_grad @@ -35,39 +35,45 @@ theta_min_skew_data <- as.data.frame(t(theta_min_skew)) theta_min_ridge_data <- as.data.frame(t(Q %*% theta_min_skew)) -x1 <- seq(-1.5,2,length.out = 100) -x2 <- seq(-1,3.5,length.out = 100) +x1 <- seq(-2,2,length.out = 100) +x2 <- seq(-1,5,length.out = 100) +#record contour level +p_con <- plot_r_emp(R_emp, x1, x2, bins=25) +ct_data <- ggplot_build(p_con)$data[[2]] +ct_levels <- unique(ct_data$level) +#preserve half to make plots look better +ct_levels <- ct_levels[-seq(3, length(ct_levels), by = 2)] # R_emp -init_cond_plot <- plot_r_emp(R_emp, x1, x2) + +init_cond_plot <- plot_r_emp(R_emp, x1, x2, breaks=ct_levels) + annotate("label", x = 0.75, y = 3, label = "hat(theta)", parse = TRUE, color = 'black', size = 3, fill = "red") + theme(legend.position="none") + coord_fixed() + geom_hline(yintercept = 0, colour="darkgrey", size=1.2) + geom_vline(xintercept = 0, colour="darkgrey", size=1.2) + geom_line(data=rbind(rep(0, num_features), theta_min), - aes(x=V1, y=V2), colour="red", size=1, arrow = arrow(length = unit(0.09, "npc"))) + aes(x=V1, y=V2), colour="red", size=1, arrow = arrow(length = unit(0.06, "npc"))) -rot_plot <- plot_r_emp(R_emp, x1, x2) + +rot_plot <- plot_r_emp(R_emp, x1, x2, breaks=ct_levels) + theme(legend.position="none") + coord_fixed() + geom_abline(slope = Q[2,1]/Q[1,1], colour="darkgrey", size=1.2) + geom_abline(slope = Q[2,2]/Q[1,2], colour="darkgrey", size=1.2) + geom_line(data=rbind(rep(0, num_features), theta_min), - aes(x=V1, y=V2), colour="red", size=1, arrow = arrow(length = unit(0.09, "npc"))) + + aes(x=V1, y=V2), colour="red", size=1, arrow = arrow(length = unit(0.06, "npc"))) + geom_segment(data=cbind(start=as.data.frame(t(c(0,0))), end=theta_proj1_data ), size=0.9, - arrow=arrow(type="closed", length = unit(0.09, "npc")), + arrow=arrow(type="closed", length = unit(0.06, "npc")), linetype="dashed", aes(x=start.V1, y=start.V2, xend = end.V1, yend = end.V2), colour = "green", arrow.fill = "green") + geom_segment(data=cbind(start=as.data.frame(t(c(0,0))), end=theta_proj2_data ), size=0.9, - arrow=arrow(type="closed", length = unit(0.09, "npc")), + arrow=arrow(type="closed", length = unit(0.06, "npc")), linetype="dashed", aes(x=start.V1, y=start.V2, xend = end.V1, yend = end.V2), colour = "green", arrow.fill = "green") rs <- sapply(1:2, function(i) S[i,i] / (S[i,i] + lambda)) theta_hat <- theta_proj1_data*rs[1] + theta_proj2_data*rs[2] -geom_l2_plot <- plot_r_emp(R_emp, x1, x2) + +geom_l2_plot <- plot_r_emp(R_emp, x1, x2, breaks=ct_levels) + theme(legend.position="none") + coord_fixed() + geom_hline(yintercept = 0, colour="darkgrey", size=1.2) + geom_vline(xintercept = 0, colour="darkgrey", size=1.2) + @@ -85,20 +91,20 @@ geom_l2_plot <- geom_l2_plot + scale_rot_plot <- rot_plot + geom_segment(data=cbind(start=as.data.frame(t(c(0,0))), end= theta_proj1_data*rs[1] ), size=0.9, - arrow=arrow(type="closed", length = unit(0.09, "npc")), + arrow=arrow(type="closed", length = unit(0.06, "npc")), linetype="dashed", aes(x=start.V1, y=start.V2, xend = end.V1, yend = end.V2), colour = "orange", arrow.fill = "orange") + geom_segment(data=cbind(start=as.data.frame(t(c(0,0))), end= theta_proj2_data*rs[2] ), size=0.9, - arrow=arrow(type="closed", length = unit(0.09, "npc")), + arrow=arrow(type="closed", length = unit(0.06, "npc")), linetype="dashed", aes(x=start.V1, y=start.V2, xend = end.V1, yend = end.V2), colour = "orange", arrow.fill = "orange") + geom_segment(data=cbind(start=as.data.frame(t(c(0,0))), end= theta_proj1_data*rs[1] + theta_proj2_data*rs[2] ), size=0.9, - arrow=arrow(length = unit(0.09, "npc")), + arrow=arrow(length = unit(0.06, "npc")), linetype="solid", aes(x=start.V1, y=start.V2, xend = end.V1, yend = end.V2), colour = "yellow") @@ -109,7 +115,7 @@ scale_plot <- init_cond_plot + geom_segment(data=cbind(start=as.data.frame(t(c(0,0))), end= theta_proj1_data*rs[1] + theta_proj2_data*rs[2] ), size=0.9, - arrow=arrow(length = unit(0.09, "npc")), + arrow=arrow(length = unit(0.06, "npc")), linetype="solid", aes(x=start.V1, y=start.V2, xend = end.V1, yend = end.V2), colour = "yellow") @@ -121,26 +127,13 @@ p2 <- grid.arrange(rot_plot, init_cond_plot, ncol=2) p3 <- grid.arrange(scale_rot_plot, scale_plot, ncol=2) ### contour plot for l2 -#set a wider range -x1 <- seq(-2,2,length.out = 100) -x2 <- seq(-1,5,length.out = 100) - -#calculate ellipse distance -dis_elli <- function(x, y, theta){ - dr1 <- x - beta_true[1] - dr2 <- y - beta_true[2] - data <- cbind(dr1, dr2) - mat <- matrix(c(cos(theta), sin(theta), -sin(theta), cos(theta)), nrow=2) - dr <- data %*% mat - dr[,1] <- dr[,1]/3 #axis ~= 3:1 - apply(dr, 1, dist) -} # Generate data points for plotting circles(ridge) +radius <- sqrt(theta_hat[1]^2 + theta_hat[2]^2)[[1]] #radius for interception point cir_list <- list() seq_data <- seq(0, 2*pi, length.out=100) #points for one circle i <- 1 -for(mul in c(0.15, 0.6, 0.9, 1.26)){ #adjust radius +for(mul in c(radius/8, radius/3, radius/1.5, radius)){ #adjust radius cir_list[[i]] <- data.frame(x=cos(seq_data)*mul, y=sin(seq_data)*mul) i <- i + 1 } @@ -148,40 +141,35 @@ for(mul in c(0.15, 0.6, 0.9, 1.26)){ #adjust radius eval_grid <- expand.grid(x1,x2) eval_grid$r_emp <- apply(eval_grid, 1, R_emp) -#preserve only center part of contour lines -#chose the parameter manually acoording to the plots -distance <- dis_elli(eval_grid[,1], eval_grid[,2], theta=-pi/3-0.014) -eval_grid$dist <- distance -eval_grid_sub <- subset(eval_grid, dist < 1.5) - p_elli <- ggplot() + geom_raster(data=eval_grid, aes(x=Var1, y=Var2, fill=r_emp)) + - geom_contour(data=eval_grid_sub, aes(x=Var1, y=Var2, z=r_emp), - colour="white", bins=7) + + geom_contour(data=eval_grid, aes(x=Var1, y=Var2, z=r_emp), + colour="white", breaks = ct_levels[1:2]) + #use only two contour lines theme(legend.position="none") + coord_fixed() + xlab(expression(theta[1])) + ylab(expression(theta[2])) + - #geom_point(aes(x=theta_hat[1], y=theta_hat[2], color="yellow", size=3)) + scale_fill_viridis(end = 0.9) p_ridge <- p_elli + geom_path(data=cir_list[[1]], aes(x, y), color="white", linetype="dashed") + geom_path(data=cir_list[[2]], aes(x, y), color="white", linetype="dashed") + geom_path(data=cir_list[[3]], aes(x, y), color="white", linetype="dashed") + - geom_path(data=cir_list[[4]], aes(x, y), color="white", linetype="dashed") + geom_path(data=cir_list[[4]], aes(x, y), color="white", linetype="dashed") + + ylim(-1, 5) +beta_true <- data.frame(x=beta_true[1], y=beta_true[2]) +theta_hat <- data.frame(x=theta_hat[1][[1]], y=theta_hat[2][[1]]) p4 <- p_ridge + - geom_point(aes(x=beta_true[1], y=beta_true[2]), color="red", size=3) + - geom_point(aes(x=0.73, y=1.03), color="yellow", size=3) +#intersection point - annotate("label", x = 1.1, y = 0.9, label = "hat(theta)[Ridge]", - parse = TRUE, color = 'black', size = 3, fill = "yellow") + - annotate("label", x = 0.75, y = 3, label = "hat(theta)", - parse = TRUE, color = 'black', size = 3, fill = "red") + - geom_hline(yintercept = 0, colour="darkgrey", size=1.2) + - geom_vline(xintercept = 0, colour="darkgrey", size=1.2) + - xlim(-1.4, 1.6) + - ylim(-1, 4.5) + geom_point(data=beta_true, aes(x=x, y=y), color="red", size=3) + + geom_point(data=theta_hat, aes(x=x, y=y), color="yellow", size=3) + + annotate("label", x=1.2, y=0.8, label="hat(theta)[Ridge]", + parse=TRUE, color='black', size=3, fill="yellow") + + annotate("label", x = 0.75, y=3, label="hat(theta)", + parse=TRUE, color='black', size=3, fill="red") + + geom_hline(yintercept=0, colour="darkgrey", size=1.2) + + geom_vline(xintercept=0, colour="darkgrey", size=1.2) + ggsave("../figure/l2_reg_hess_01_plot.png", plot = p1, width = 5.5, height = 3.5, dpi="retina") ggsave("../figure/l2_reg_hess_02_plot.png", plot = p2, width = 5.5, height = 3.5, dpi="retina") diff --git a/slides/regularization/rsrc/make_lasso-contours-sparsity.py b/slides/regularization/rsrc/make_lasso-contours-sparsity.py old mode 100644 new mode 100755 diff --git a/slides/regularization/rsrc/make_lasso_ridge_enet_2d_plot.R b/slides/regularization/rsrc/make_lasso_ridge_enet_2d_plot.R old mode 100644 new mode 100755 diff --git a/slides/regularization/rsrc/make_linear_model_reg.R b/slides/regularization/rsrc/make_linear_model_reg.R old mode 100644 new mode 100755 diff --git a/slides/regularization/rsrc/make_nn_plots.R b/slides/regularization/rsrc/make_nn_plots.R old mode 100644 new mode 100755 diff --git a/slides/regularization/rsrc/make_overfitting_table.R b/slides/regularization/rsrc/make_overfitting_table.R old mode 100644 new mode 100755 diff --git a/slides/regularization/rsrc/make_ozone_mse_boxplot.R b/slides/regularization/rsrc/make_ozone_mse_boxplot.R old mode 100644 new mode 100755 diff --git a/slides/regularization/rsrc/make_poly_ridge_1_plot.R b/slides/regularization/rsrc/make_poly_ridge_1_plot.R old mode 100644 new mode 100755 diff --git a/slides/regularization/rsrc/make_poly_ridge_2_plot.R b/slides/regularization/rsrc/make_poly_ridge_2_plot.R old mode 100644 new mode 100755 diff --git a/slides/regularization/rsrc/make_poly_ridge_table_latex.R b/slides/regularization/rsrc/make_poly_ridge_table_latex.R old mode 100644 new mode 100755 diff --git a/slides/regularization/rsrc/make_reg_contours.R b/slides/regularization/rsrc/make_reg_contours.R old mode 100644 new mode 100755 diff --git a/slides/regularization/rsrc/make_reg_feat_scaling_data.R b/slides/regularization/rsrc/make_reg_feat_scaling_data.R old mode 100644 new mode 100755 diff --git a/slides/regularization/rsrc/make_reg_multicollinearity_plot.R b/slides/regularization/rsrc/make_reg_multicollinearity_plot.R old mode 100644 new mode 100755 diff --git a/slides/regularization/rsrc/make_reg_surfaces.py b/slides/regularization/rsrc/make_reg_surfaces.py old mode 100644 new mode 100755 diff --git a/slides/regularization/rsrc/make_regu_example_multicollinearity_plot.R b/slides/regularization/rsrc/make_regu_example_multicollinearity_plot.R old mode 100644 new mode 100755 diff --git a/slides/regularization/rsrc/make_regu_other_penalty_plots.R b/slides/regularization/rsrc/make_regu_other_penalty_plots.R old mode 100644 new mode 100755 diff --git a/slides/regularization/rsrc/make_regularized_log_reg_plot.R b/slides/regularization/rsrc/make_regularized_log_reg_plot.R old mode 100644 new mode 100755 diff --git a/slides/regularization/rsrc/make_ridge_vs_sgd_path.py b/slides/regularization/rsrc/make_ridge_vs_sgd_path.py old mode 100644 new mode 100755 diff --git a/slides/regularization/rsrc/make_shrinkage_1_plot.R b/slides/regularization/rsrc/make_shrinkage_1_plot.R old mode 100644 new mode 100755 diff --git a/slides/regularization/rsrc/make_shrinkage_2_plot.R b/slides/regularization/rsrc/make_shrinkage_2_plot.R old mode 100644 new mode 100755 diff --git a/slides/regularization/rsrc/make_underconstrained_problem_plot.R b/slides/regularization/rsrc/make_underconstrained_problem_plot.R old mode 100644 new mode 100755 diff --git a/slides/regularization/rsrc/make_underdetermined_problem_01_plot.R b/slides/regularization/rsrc/make_underdetermined_problem_01_plot.R old mode 100644 new mode 100755 diff --git a/slides/regularization/rsrc/make_underdetermined_problem_02_plot.R b/slides/regularization/rsrc/make_underdetermined_problem_02_plot.R old mode 100644 new mode 100755 diff --git a/slides/regularization/rsrc/make_wd_l2_geom_plot.R b/slides/regularization/rsrc/make_wd_l2_geom_plot.R old mode 100644 new mode 100755 diff --git a/slides/regularization/rsrc/make_weightdecay_lambda_plot.R b/slides/regularization/rsrc/make_weightdecay_lambda_plot.R old mode 100644 new mode 100755 diff --git a/slides/regularization/rsrc/other-pen-regularizers.R b/slides/regularization/rsrc/other-pen-regularizers.R old mode 100644 new mode 100755 diff --git a/slides/regularization/rsrc/ozone_example.RData b/slides/regularization/rsrc/ozone_example.RData old mode 100644 new mode 100755 diff --git a/slides/regularization/rsrc/reg_l12.R b/slides/regularization/rsrc/reg_l12.R old mode 100644 new mode 100755 diff --git a/slides/regularization/rsrc/reg_perspectives.py b/slides/regularization/rsrc/reg_perspectives.py old mode 100644 new mode 100755 diff --git a/slides/regularization/rsrc/regu_example_1.R b/slides/regularization/rsrc/regu_example_1.R old mode 100644 new mode 100755 diff --git a/slides/regularization/rsrc/regu_example_1.RData b/slides/regularization/rsrc/regu_example_1.RData old mode 100644 new mode 100755 diff --git a/slides/regularization/rsrc/regu_example_2.R b/slides/regularization/rsrc/regu_example_2.R old mode 100644 new mode 100755 diff --git a/slides/regularization/rsrc/regu_example_2.RData b/slides/regularization/rsrc/regu_example_2.RData old mode 100644 new mode 100755 diff --git a/slides/regularization/rsrc/ridge_polynomial_reg.R b/slides/regularization/rsrc/ridge_polynomial_reg.R old mode 100644 new mode 100755 diff --git a/slides/regularization/rsrc/soft-thresholding.R b/slides/regularization/rsrc/soft-thresholding.R old mode 100644 new mode 100755 diff --git a/slides/regularization/rsrc/softthresholding_l1.R b/slides/regularization/rsrc/softthresholding_l1.R old mode 100644 new mode 100755 diff --git a/slides/regularization/rsrc/utils.R b/slides/regularization/rsrc/utils.R old mode 100644 new mode 100755 index 0a4de01c..601554b6 --- a/slides/regularization/rsrc/utils.R +++ b/slides/regularization/rsrc/utils.R @@ -28,13 +28,13 @@ R_reg_l2 <- function(beta, lambda = 0.1, features = X, target = y){ return(R_emp(beta, features, target) + (0.5*lambda * sum(beta^2))) } -plot_r_emp <- function(r_emp, x1, x2){ +plot_r_emp <- function(r_emp, x1, x2, bins=NULL, breaks=NULL){ eval_grid <- expand.grid(x1,x2) eval_grid$r_emp <- apply(eval_grid, 1, r_emp) ggplot(eval_grid) + geom_raster(aes(x=Var1, y=Var2, fill=r_emp)) + - geom_contour(aes(x=Var1, y=Var2, z=r_emp), colour="white") + + geom_contour(aes(x=Var1, y=Var2, z=r_emp), colour="white", bins=bins, breaks=breaks) + xlab(expression(theta[1])) + ylab(expression(theta[2])) + scale_fill_viridis(end = 0.9) diff --git a/slides/regularization/slides-regu-bagging-deepdive.tex b/slides/regularization/slides-regu-bagging-deepdive.tex old mode 100644 new mode 100755 diff --git a/slides/regularization/slides-regu-bayes.tex b/slides/regularization/slides-regu-bayes.tex old mode 100644 new mode 100755 diff --git a/slides/regularization/slides-regu-bias-variance.tex b/slides/regularization/slides-regu-bias-variance.tex old mode 100644 new mode 100755 diff --git a/slides/regularization/slides-regu-early-stopping.tex b/slides/regularization/slides-regu-early-stopping.tex old mode 100644 new mode 100755 diff --git a/slides/regularization/slides-regu-enetlogreg.tex b/slides/regularization/slides-regu-enetlogreg.tex old mode 100644 new mode 100755 diff --git a/slides/regularization/slides-regu-geom-l1.tex b/slides/regularization/slides-regu-geom-l1.tex old mode 100644 new mode 100755 diff --git a/slides/regularization/slides-regu-geom-l2.tex b/slides/regularization/slides-regu-geom-l2.tex old mode 100644 new mode 100755 diff --git a/slides/regularization/slides-regu-intro.tex b/slides/regularization/slides-regu-intro.tex old mode 100644 new mode 100755 diff --git a/slides/regularization/slides-regu-l1.tex b/slides/regularization/slides-regu-l1.tex old mode 100644 new mode 100755 diff --git a/slides/regularization/slides-regu-l1vsl2.tex b/slides/regularization/slides-regu-l1vsl2.tex old mode 100644 new mode 100755 diff --git a/slides/regularization/slides-regu-l2-nonlin.tex b/slides/regularization/slides-regu-l2-nonlin.tex old mode 100644 new mode 100755 diff --git a/slides/regularization/slides-regu-l2.tex b/slides/regularization/slides-regu-l2.tex old mode 100644 new mode 100755 diff --git a/slides/regularization/slides-regu-lasso-deepdive.tex b/slides/regularization/slides-regu-lasso-deepdive.tex old mode 100644 new mode 100755 diff --git a/slides/regularization/slides-regu-nonlin.tex b/slides/regularization/slides-regu-nonlin.tex old mode 100644 new mode 100755 diff --git a/slides/regularization/slides-regu-others.tex b/slides/regularization/slides-regu-others.tex old mode 100644 new mode 100755 diff --git a/slides/regularization/slides-regu-ridge-deepdive.tex b/slides/regularization/slides-regu-ridge-deepdive.tex old mode 100644 new mode 100755 diff --git a/slides/regularization/slides-regu-wd-vs-l2.tex b/slides/regularization/slides-regu-wd-vs-l2.tex old mode 100644 new mode 100755 diff --git a/slides/slide-dependencies.pdf b/slides/slide-dependencies.pdf old mode 100644 new mode 100755 diff --git a/slides/tex.mk b/slides/tex.mk old mode 100644 new mode 100755