From 7854de16ed9926864e2d01d9b4ad547cf4516981 Mon Sep 17 00:00:00 2001 From: xyhdsg10022 Date: Tue, 30 Mar 2021 17:04:38 +0800 Subject: [PATCH 01/13] wancheng --- assignment-1/submission/17307100038/README.md | 366 ++++++++++++++++++ assignment-1/submission/17307100038/source.py | 227 +++++++++++ 2 files changed, 593 insertions(+) create mode 100644 assignment-1/submission/17307100038/README.md create mode 100644 assignment-1/submission/17307100038/source.py diff --git a/assignment-1/submission/17307100038/README.md b/assignment-1/submission/17307100038/README.md new file mode 100644 index 0000000..753f66c --- /dev/null +++ b/assignment-1/submission/17307100038/README.md @@ -0,0 +1,366 @@ +# 课程报告 + +## KNN类实现 + +### fit()函数 + +fit(X, y,cate = 'euclidean',metric='accuracy',preprocess =None) + +X: 训练集 + +y:训练集标签 + +cate:距离计算方式,如euclidean、manhattan距离 + +metric:模型评估方式,如accuracy + +preprocess:预处理方式,包含min_max归一化、z_score标准化、不处理 + + + +fit函数包含以下功能: + +​ 1、预处理; + +​ 2、随机打乱数据集顺序 + +​ 3、以8:2的比例划分train_data,dev_data,训练选出评估结果最优的k值 + +### predict()函数 + +predict用于预测测试集样本 + +### 辅助函数 + +distance( d1, d2,cate ='eulidean') + +d1,d2表示计算距离的点,cate默认为euclidean距离,可以选择manhattan距离 + + + +## 实验1 + +### Group1:各个类别相差较大,成较为明显的线性位置 + +$$ +\Sigma = + \left[ + \begin{matrix} + 52 & 0 \\ + 0 & 22 + \end{matrix} + \right] + \Sigma = + \left[ + \begin{matrix} + 21.1 & 0 \\ + 0 & 32.1 + \end{matrix} + \right] + \Sigma = + \left[ + \begin{matrix} + 10 & 0 \\ + 0 & 10 + \end{matrix} + \right] +$$ + +$$ +\mu = + \left[ + \begin{matrix} + 2 &5 + \end{matrix} + \right] + \mu = + \left[ + \begin{matrix} + 20 & -5 + \end{matrix} + \right] + \mu = + \left[ + \begin{matrix} + -5 & 22 + \end{matrix} + \right] +$$ + +train_data + + + + + +测试集 + + + + + +测试在两种距离下的准确率如下: + +| k | distance | acc | +| ---- | --------- | ------- | +| 8 | euclidean | 96.250% | +| 9 | euclidean | 95.625% | +| 3 | euclidean | 95.833% | +| 13 | euclidean | 96.458% | +| 3 | manhattan | 95.417% | +| 13 | manhattan | 96.250% | +| 5 | manhattan | 95.625% | +| 5 | manhattan | 95.625% | + +### Group2:各个类别之间相差较大,成较为明显的分散位置 + +$$ +\Sigma = + \left[ + \begin{matrix} + 52 & 0 \\ + 0 & 22 + \end{matrix} + \right] + \Sigma = + \left[ + \begin{matrix} + 21.1 & 0 \\ + 0 & 32.1 + \end{matrix} + \right] + \Sigma = + \left[ + \begin{matrix} + 10 & 0 \\ + 0 & 10 + \end{matrix} + \right] +$$ + +$$ +\mu = + \left[ + \begin{matrix} + 2 &5 + \end{matrix} + \right] + \mu = + \left[ + \begin{matrix} + 20 & 16 + \end{matrix} + \right] + \mu = + \left[ + \begin{matrix} + -5 & 22 + \end{matrix} + \right] +$$ + +train_data: + + + +test_data: + + + +测试在两种距离下的准确率如下: + +| k | distance | acc | +| ---- | --------- | ------- | +| 7 | euclidean | 96.875% | +| 7 | euclidean | 96.875% | +| 9 | euclidean | 97.083% | +| 8 | euclidean | 97.083% | +| 12 | manhattan | 97.708% | +| 14 | manhattan | 97.500% | +| 5 | manhattan | 97.083% | +| 12 | manhattan | 97.708% | + +*可见不同群之间的几何分布类型对knn的效果影响不明显* + +## 实验2 + +控制均值不变,倍数扩大协方差的各个数值至2倍 +$$ +\Sigma = + \left[ + \begin{matrix} + 52 & 0 \\ + 0 & 22 + \end{matrix} + \right] + \Sigma = + \left[ + \begin{matrix} + 21.1 & 0 \\ + 0 & 32.1 + \end{matrix} + \right] + \Sigma = + \left[ + \begin{matrix} + 10 & 0 \\ + 0 & 10 + \end{matrix} + \right] +$$ + +$$ +\left[ + \begin{matrix} + 2 &5 + \end{matrix} + \right] + \mu = + \left[ + \begin{matrix} + 20 & 16 + \end{matrix} + \right] + \mu = + \left[ + \begin{matrix} + -5 & 22 + \end{matrix} + \right] +$$ + +得到准确率改变如下图: + + + +*方差对于KNN的准确率影响显著,随着方差增大,模型准确率下降* + +## 实验3 + +对比采用归一化、标准化前后 +$$ +\Sigma = + \left[ + \begin{matrix} + 20 & 0 \\ + 0 & 1250 + \end{matrix} + \right] + \Sigma = + \left[ + \begin{matrix} + 25 & 0 \\ + 0 & 2500 + \end{matrix} + \right] + \Sigma = + \left[ + \begin{matrix} + 10 & 0 \\ + 0 & 950 + \end{matrix} + \right] +$$ + +$$ +\mu= +\left[ + \begin{matrix} + 2 &5 + \end{matrix} + \right] + \mu = + \left[ + \begin{matrix} + 10 & -60 + \end{matrix} + \right] + \mu = + \left[ + \begin{matrix} + -5 & 72 + \end{matrix} + \right] +$$ + +无预处理: + +data_original + +min_max 归一化: + +data_minmax + +Z_score标准化: + +data_zscore + +得到对应的准确率如下: + +| preprocessing | accuracy | +| ------------- | -------- | +| None | 82.917% | +| min_max | 83.542% | +| z_score | 84.17% | + +通过变小均值和方差的差距,重新实验得到如下结果: +$$ +\Sigma = + \left[ + \begin{matrix} + 20 & 0 \\ + 0 & 750 + \end{matrix} + \right] + \Sigma = + \left[ + \begin{matrix} + 25 & 0 \\ + 0 & 1200 + \end{matrix} + \right] + \Sigma = + \left[ + \begin{matrix} + 10 & 0 \\ + 0 & 650 + \end{matrix} + \right] +$$ + +$$ +\mu= +\left[ + \begin{matrix} + 2 &5 + \end{matrix} + \right] + \mu = + \left[ + \begin{matrix} + 10 & -50 + \end{matrix} + \right] + \mu = + \left[ + \begin{matrix} + -5 & 55 + \end{matrix} + \right] +$$ + +| preprocessing | accuracy | +| ------------- | -------- | +| None | 90.417% | +| min_max | 90.625# | +| z_score | 90.833% | + +*标准化、归一化对于KNN模型的准确率有一定提升,数据集各个feature的数量级差别越大,效果越明显* + +## 总结 + +1、KNN模型中不同类别点的几何分布类型对模型预测准确率影响不明显 + +2、方差对于KNN的准确率影响显著,随着方差增大,模型准确率下降 + +3、标准化、归一化对于KNN模型的准确率有一定提升,数据集各个feature的数量级差别越大,效果越明显;在数量级相差不大的情况下,性能提升不明显 \ No newline at end of file diff --git a/assignment-1/submission/17307100038/source.py b/assignment-1/submission/17307100038/source.py new file mode 100644 index 0000000..45452dc --- /dev/null +++ b/assignment-1/submission/17307100038/source.py @@ -0,0 +1,227 @@ +import sys +import numpy as np +import matplotlib.pyplot as plt + +class KNN: + def __init__(self): + self.X = None + self.y = None + self.k = None + self.cate = None # 距离计算公式 + self.metric = None # 评分方式,如accuracy + self.preprocess = None + self.min = None + self.max =None + self.mean = None + self.std = None + + def distance(self, d1, d2): + '''计算距离,如欧式距离、曼哈顿距离等''' + if self.cate == 'euclidean': + dist = np.sum(np.square(d1 - d2)) + elif self.cate == 'manhattan': + dist = np.sum(np.abs(d1-d2)) + return dist + + def score(self, y_pred, test_label): + '''分数评估如accuracy、macro_f1、micro_f1等''' + if self.metric == 'accuracy': + cnt = 0 + for i in range(len(y_pred)): + if y_pred[i] == test_label[i]: + cnt += 1 + score = cnt / len(y_pred) + return score + + def fit(self, X, y,cate = 'euclidean',metric='accuracy',preprocess =None): + '''包含K值的选择、建立模型''' + self.cate = cate + self.metric = metric + self.preprocess = preprocess + + # 1、preprocessing + if preprocess == 'Min_Max': #标准化 + self.min = X.min(axis = 0) + self.max = X.max(axis = 0) + X = (X -self.min)/(self.max - self.min) + elif preprocess == 'Z_score': # 归一化 + self.mean = X.mean(axis=0) + self.std = X.std(axis=0) + X = (X - self.mean) / self.std + else: + X = X + + # 2、打乱顺序 + random_index = np.random.permutation(len(X)) + X = X[random_index] + y= y[random_index] + + # 3、分为train_data,dev_data + N = X.shape[0] + cut = int(N * 0.8) # 防止非整数情况 + train_data, dev_data = X[:cut, ], X[cut:, ] + train_label, dev_label = y[:cut, ], y[cut:, ] + + # 4、训练K值 + max_score = 0 + max_score_K = 0 + for k in range(2, 15): + '''计算每个k下的accuracy: + 1、对每个dev_data,计算其与train_data的距离 + 2、排序得到距离最近的k个index + 3、获取该dev_data的y_pred + 4、计算accuracy + ''' + y_pred = [] + for i in range(len(dev_data)): + dist_arr = [self.distance(dev_data[i], train_data[j]) for j in range(len(train_data))] # 每个测试点距离训练集各个点的距离列表 + sorted_index = np.argsort(dist_arr) # arg 排序各个距离的大小,得到index + first_k_index = sorted_index[:k] # 最小的k个index + first_k_label = train_label[first_k_index] + y_pred.append(np.argmax(np.bincount(first_k_label))) # 取众数为预测值 + y_pred = np.array(y_pred) + score = self.score(y_pred, dev_label) + + if score > max_score: + max_score, max_score_K = score, k + + # 5、确立参数 + self.X = X + self.y = y + self.k = max_score_K + # print('k:%d' % self.k) + + def predict(self, test_data): + # preprocessing + if self.preprocess == 'Min_Max': #标准化 + test_data = (test_data -self.min)/(self.max - self.min) + elif self.preprocess == 'Z_score': # 归一化 + test_data = (test_data - self.mean) / self.std + else: + test_data = test_data + + y_pred = [] + for i in range(len(test_data)): + dist_arr = [self.distance(test_data[i], self.X[j]) for j in range(len(self.X))] + first_k_index = np.argsort(dist_arr)[:self.k] + first_k_label = self.y[first_k_index] + y_pred.append(np.argmax(np.bincount(first_k_label))) + return np.array(y_pred) + + +def generate(): + mean = (2, 5) + cov = np.array([[20, 0], [0, 750]]) + x = np.random.multivariate_normal(mean, cov, (800,)) + + mean = (10, -60) + cov = np.array([[25, 0], [0, 2500]]) + y = np.random.multivariate_normal(mean, cov, (600,)) + + mean = (-5, 72) + cov = np.array([[10, 0], [0, 650]]) + z = np.random.multivariate_normal(mean, cov, (1000,)) + + idx = np.arange(2400) + np.random.shuffle(idx) + data = np.concatenate([x, y, z]) + label = np.concatenate([ + np.zeros((800,), dtype=int), + np.ones((600,), dtype=int), + np.ones((1000,), dtype=int) * 2 + ]) + data = data[idx] + label = label[idx] + + train_data, test_data = data[:1920, ], data[1920:, ] + train_label, test_label = label[:1920, ], label[1920:, ] + np.save("data.npy", ( + (train_data, train_label), (test_data, test_label) + )) + + +def read(): + (train_data, train_label), (test_data, test_label) = np.load("data.npy", allow_pickle=True) + return (train_data, train_label), (test_data, test_label) + + +def display(data, label, name): + datas = [[], [], []] + for i in range(len(data)): + datas[label[i]].append(data[i]) + + for each in datas: + each = np.array(each) + plt.scatter(each[:, 0], each[:, 1]) + plt.savefig(f'img/{name}') + plt.show() + + +'''测试改变方差对结果的影响''' +def generate_ball(r=1): + mean = (2, 5) + cov = np.array([[40, 0], [0, 30]]) + x = np.random.multivariate_normal(mean, cov*r, (800,)) + + mean = (20, 16) + cov = np.array([[25, 0], [0, 35.1]]) + y = np.random.multivariate_normal(mean, cov*r, (600,)) + + mean = (-5, 22) + cov = np.array([[30, 0], [0, 25]]) + z = np.random.multivariate_normal(mean, cov*r, (1000,)) + + idx = np.arange(2400) + np.random.shuffle(idx) + data = np.concatenate([x, y, z]) + label = np.concatenate([ + np.zeros((800,), dtype=int), + np.ones((600,), dtype=int), + np.ones((1000,), dtype=int) * 2 + ]) + data = data[idx] + label = label[idx] + + train_data, test_data = data[:1920, ], data[1920:, ] + train_label, test_label = label[:1920, ], label[1920:, ] + return train_data, train_label, test_data, test_label + +def change_cov(): + acc_1 = [] + acc_2 = [] + for each in np.arange(1, 2.1, 0.1): + train_data, train_label, test_data, test_label = generate_ball(r=each) + # euclidean + model = KNN() + model.fit(train_data, train_label, cate='euclidean', metric='accuracy') + res = model.predict(test_data) + acc1 = np.mean(np.equal(res, test_label)) + acc_1.append(acc1) + # manhattan + model = KNN() + model.fit(train_data, train_label, cate='manhattan', metric='accuracy') + res = model.predict(test_data) + acc2 = np.mean(np.equal(res, test_label)) + acc_2.append(acc2) + plt.plot(np.arange(1,2.1,0.1), acc_1,color = 'r') + plt.plot(np.arange(1,2.1,0.1), acc_2,color = 'b') + plt.title('accuracy at different cov') + plt.legend(['euclidean','manhattan']) + plt.savefig('change_cov.png') + + +if __name__ == "__main__": + if len(sys.argv) > 1 and sys.argv[1] == "g": + generate() + if len(sys.argv) > 1 and sys.argv[1] == "d": + (train_data, train_label), (test_data, test_label) = read() + display(train_data, train_label, 'train') + display(test_data, test_label, 'test') + else: + (train_data, train_label), (test_data, test_label) = read() + + model = KNN() + # 选择距离计算公式、评估公式 + model.fit(train_data, train_label, cate='manhattan',metric='accuracy') + res = model.predict(test_data) + print("acc =", np.mean(np.equal(res, test_label))) \ No newline at end of file -- Gitee From 6b786df0827886702cfe740e4119b511901ecc32 Mon Sep 17 00:00:00 2001 From: XYH Date: Tue, 30 Mar 2021 17:05:30 +0800 Subject: [PATCH 02/13] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=96=87=E4=BB=B6=20as?= =?UTF-8?q?signment-1/submission/17307100038?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assignment-1/submission/17307100038/README.md | 366 ------------------ assignment-1/submission/17307100038/source.py | 227 ----------- 2 files changed, 593 deletions(-) delete mode 100644 assignment-1/submission/17307100038/README.md delete mode 100644 assignment-1/submission/17307100038/source.py diff --git a/assignment-1/submission/17307100038/README.md b/assignment-1/submission/17307100038/README.md deleted file mode 100644 index 753f66c..0000000 --- a/assignment-1/submission/17307100038/README.md +++ /dev/null @@ -1,366 +0,0 @@ -# 课程报告 - -## KNN类实现 - -### fit()函数 - -fit(X, y,cate = 'euclidean',metric='accuracy',preprocess =None) - -X: 训练集 - -y:训练集标签 - -cate:距离计算方式,如euclidean、manhattan距离 - -metric:模型评估方式,如accuracy - -preprocess:预处理方式,包含min_max归一化、z_score标准化、不处理 - - - -fit函数包含以下功能: - -​ 1、预处理; - -​ 2、随机打乱数据集顺序 - -​ 3、以8:2的比例划分train_data,dev_data,训练选出评估结果最优的k值 - -### predict()函数 - -predict用于预测测试集样本 - -### 辅助函数 - -distance( d1, d2,cate ='eulidean') - -d1,d2表示计算距离的点,cate默认为euclidean距离,可以选择manhattan距离 - - - -## 实验1 - -### Group1:各个类别相差较大,成较为明显的线性位置 - -$$ -\Sigma = - \left[ - \begin{matrix} - 52 & 0 \\ - 0 & 22 - \end{matrix} - \right] - \Sigma = - \left[ - \begin{matrix} - 21.1 & 0 \\ - 0 & 32.1 - \end{matrix} - \right] - \Sigma = - \left[ - \begin{matrix} - 10 & 0 \\ - 0 & 10 - \end{matrix} - \right] -$$ - -$$ -\mu = - \left[ - \begin{matrix} - 2 &5 - \end{matrix} - \right] - \mu = - \left[ - \begin{matrix} - 20 & -5 - \end{matrix} - \right] - \mu = - \left[ - \begin{matrix} - -5 & 22 - \end{matrix} - \right] -$$ - -train_data - - - - - -测试集 - - - - - -测试在两种距离下的准确率如下: - -| k | distance | acc | -| ---- | --------- | ------- | -| 8 | euclidean | 96.250% | -| 9 | euclidean | 95.625% | -| 3 | euclidean | 95.833% | -| 13 | euclidean | 96.458% | -| 3 | manhattan | 95.417% | -| 13 | manhattan | 96.250% | -| 5 | manhattan | 95.625% | -| 5 | manhattan | 95.625% | - -### Group2:各个类别之间相差较大,成较为明显的分散位置 - -$$ -\Sigma = - \left[ - \begin{matrix} - 52 & 0 \\ - 0 & 22 - \end{matrix} - \right] - \Sigma = - \left[ - \begin{matrix} - 21.1 & 0 \\ - 0 & 32.1 - \end{matrix} - \right] - \Sigma = - \left[ - \begin{matrix} - 10 & 0 \\ - 0 & 10 - \end{matrix} - \right] -$$ - -$$ -\mu = - \left[ - \begin{matrix} - 2 &5 - \end{matrix} - \right] - \mu = - \left[ - \begin{matrix} - 20 & 16 - \end{matrix} - \right] - \mu = - \left[ - \begin{matrix} - -5 & 22 - \end{matrix} - \right] -$$ - -train_data: - - - -test_data: - - - -测试在两种距离下的准确率如下: - -| k | distance | acc | -| ---- | --------- | ------- | -| 7 | euclidean | 96.875% | -| 7 | euclidean | 96.875% | -| 9 | euclidean | 97.083% | -| 8 | euclidean | 97.083% | -| 12 | manhattan | 97.708% | -| 14 | manhattan | 97.500% | -| 5 | manhattan | 97.083% | -| 12 | manhattan | 97.708% | - -*可见不同群之间的几何分布类型对knn的效果影响不明显* - -## 实验2 - -控制均值不变,倍数扩大协方差的各个数值至2倍 -$$ -\Sigma = - \left[ - \begin{matrix} - 52 & 0 \\ - 0 & 22 - \end{matrix} - \right] - \Sigma = - \left[ - \begin{matrix} - 21.1 & 0 \\ - 0 & 32.1 - \end{matrix} - \right] - \Sigma = - \left[ - \begin{matrix} - 10 & 0 \\ - 0 & 10 - \end{matrix} - \right] -$$ - -$$ -\left[ - \begin{matrix} - 2 &5 - \end{matrix} - \right] - \mu = - \left[ - \begin{matrix} - 20 & 16 - \end{matrix} - \right] - \mu = - \left[ - \begin{matrix} - -5 & 22 - \end{matrix} - \right] -$$ - -得到准确率改变如下图: - - - -*方差对于KNN的准确率影响显著,随着方差增大,模型准确率下降* - -## 实验3 - -对比采用归一化、标准化前后 -$$ -\Sigma = - \left[ - \begin{matrix} - 20 & 0 \\ - 0 & 1250 - \end{matrix} - \right] - \Sigma = - \left[ - \begin{matrix} - 25 & 0 \\ - 0 & 2500 - \end{matrix} - \right] - \Sigma = - \left[ - \begin{matrix} - 10 & 0 \\ - 0 & 950 - \end{matrix} - \right] -$$ - -$$ -\mu= -\left[ - \begin{matrix} - 2 &5 - \end{matrix} - \right] - \mu = - \left[ - \begin{matrix} - 10 & -60 - \end{matrix} - \right] - \mu = - \left[ - \begin{matrix} - -5 & 72 - \end{matrix} - \right] -$$ - -无预处理: - -data_original - -min_max 归一化: - -data_minmax - -Z_score标准化: - -data_zscore - -得到对应的准确率如下: - -| preprocessing | accuracy | -| ------------- | -------- | -| None | 82.917% | -| min_max | 83.542% | -| z_score | 84.17% | - -通过变小均值和方差的差距,重新实验得到如下结果: -$$ -\Sigma = - \left[ - \begin{matrix} - 20 & 0 \\ - 0 & 750 - \end{matrix} - \right] - \Sigma = - \left[ - \begin{matrix} - 25 & 0 \\ - 0 & 1200 - \end{matrix} - \right] - \Sigma = - \left[ - \begin{matrix} - 10 & 0 \\ - 0 & 650 - \end{matrix} - \right] -$$ - -$$ -\mu= -\left[ - \begin{matrix} - 2 &5 - \end{matrix} - \right] - \mu = - \left[ - \begin{matrix} - 10 & -50 - \end{matrix} - \right] - \mu = - \left[ - \begin{matrix} - -5 & 55 - \end{matrix} - \right] -$$ - -| preprocessing | accuracy | -| ------------- | -------- | -| None | 90.417% | -| min_max | 90.625# | -| z_score | 90.833% | - -*标准化、归一化对于KNN模型的准确率有一定提升,数据集各个feature的数量级差别越大,效果越明显* - -## 总结 - -1、KNN模型中不同类别点的几何分布类型对模型预测准确率影响不明显 - -2、方差对于KNN的准确率影响显著,随着方差增大,模型准确率下降 - -3、标准化、归一化对于KNN模型的准确率有一定提升,数据集各个feature的数量级差别越大,效果越明显;在数量级相差不大的情况下,性能提升不明显 \ No newline at end of file diff --git a/assignment-1/submission/17307100038/source.py b/assignment-1/submission/17307100038/source.py deleted file mode 100644 index 45452dc..0000000 --- a/assignment-1/submission/17307100038/source.py +++ /dev/null @@ -1,227 +0,0 @@ -import sys -import numpy as np -import matplotlib.pyplot as plt - -class KNN: - def __init__(self): - self.X = None - self.y = None - self.k = None - self.cate = None # 距离计算公式 - self.metric = None # 评分方式,如accuracy - self.preprocess = None - self.min = None - self.max =None - self.mean = None - self.std = None - - def distance(self, d1, d2): - '''计算距离,如欧式距离、曼哈顿距离等''' - if self.cate == 'euclidean': - dist = np.sum(np.square(d1 - d2)) - elif self.cate == 'manhattan': - dist = np.sum(np.abs(d1-d2)) - return dist - - def score(self, y_pred, test_label): - '''分数评估如accuracy、macro_f1、micro_f1等''' - if self.metric == 'accuracy': - cnt = 0 - for i in range(len(y_pred)): - if y_pred[i] == test_label[i]: - cnt += 1 - score = cnt / len(y_pred) - return score - - def fit(self, X, y,cate = 'euclidean',metric='accuracy',preprocess =None): - '''包含K值的选择、建立模型''' - self.cate = cate - self.metric = metric - self.preprocess = preprocess - - # 1、preprocessing - if preprocess == 'Min_Max': #标准化 - self.min = X.min(axis = 0) - self.max = X.max(axis = 0) - X = (X -self.min)/(self.max - self.min) - elif preprocess == 'Z_score': # 归一化 - self.mean = X.mean(axis=0) - self.std = X.std(axis=0) - X = (X - self.mean) / self.std - else: - X = X - - # 2、打乱顺序 - random_index = np.random.permutation(len(X)) - X = X[random_index] - y= y[random_index] - - # 3、分为train_data,dev_data - N = X.shape[0] - cut = int(N * 0.8) # 防止非整数情况 - train_data, dev_data = X[:cut, ], X[cut:, ] - train_label, dev_label = y[:cut, ], y[cut:, ] - - # 4、训练K值 - max_score = 0 - max_score_K = 0 - for k in range(2, 15): - '''计算每个k下的accuracy: - 1、对每个dev_data,计算其与train_data的距离 - 2、排序得到距离最近的k个index - 3、获取该dev_data的y_pred - 4、计算accuracy - ''' - y_pred = [] - for i in range(len(dev_data)): - dist_arr = [self.distance(dev_data[i], train_data[j]) for j in range(len(train_data))] # 每个测试点距离训练集各个点的距离列表 - sorted_index = np.argsort(dist_arr) # arg 排序各个距离的大小,得到index - first_k_index = sorted_index[:k] # 最小的k个index - first_k_label = train_label[first_k_index] - y_pred.append(np.argmax(np.bincount(first_k_label))) # 取众数为预测值 - y_pred = np.array(y_pred) - score = self.score(y_pred, dev_label) - - if score > max_score: - max_score, max_score_K = score, k - - # 5、确立参数 - self.X = X - self.y = y - self.k = max_score_K - # print('k:%d' % self.k) - - def predict(self, test_data): - # preprocessing - if self.preprocess == 'Min_Max': #标准化 - test_data = (test_data -self.min)/(self.max - self.min) - elif self.preprocess == 'Z_score': # 归一化 - test_data = (test_data - self.mean) / self.std - else: - test_data = test_data - - y_pred = [] - for i in range(len(test_data)): - dist_arr = [self.distance(test_data[i], self.X[j]) for j in range(len(self.X))] - first_k_index = np.argsort(dist_arr)[:self.k] - first_k_label = self.y[first_k_index] - y_pred.append(np.argmax(np.bincount(first_k_label))) - return np.array(y_pred) - - -def generate(): - mean = (2, 5) - cov = np.array([[20, 0], [0, 750]]) - x = np.random.multivariate_normal(mean, cov, (800,)) - - mean = (10, -60) - cov = np.array([[25, 0], [0, 2500]]) - y = np.random.multivariate_normal(mean, cov, (600,)) - - mean = (-5, 72) - cov = np.array([[10, 0], [0, 650]]) - z = np.random.multivariate_normal(mean, cov, (1000,)) - - idx = np.arange(2400) - np.random.shuffle(idx) - data = np.concatenate([x, y, z]) - label = np.concatenate([ - np.zeros((800,), dtype=int), - np.ones((600,), dtype=int), - np.ones((1000,), dtype=int) * 2 - ]) - data = data[idx] - label = label[idx] - - train_data, test_data = data[:1920, ], data[1920:, ] - train_label, test_label = label[:1920, ], label[1920:, ] - np.save("data.npy", ( - (train_data, train_label), (test_data, test_label) - )) - - -def read(): - (train_data, train_label), (test_data, test_label) = np.load("data.npy", allow_pickle=True) - return (train_data, train_label), (test_data, test_label) - - -def display(data, label, name): - datas = [[], [], []] - for i in range(len(data)): - datas[label[i]].append(data[i]) - - for each in datas: - each = np.array(each) - plt.scatter(each[:, 0], each[:, 1]) - plt.savefig(f'img/{name}') - plt.show() - - -'''测试改变方差对结果的影响''' -def generate_ball(r=1): - mean = (2, 5) - cov = np.array([[40, 0], [0, 30]]) - x = np.random.multivariate_normal(mean, cov*r, (800,)) - - mean = (20, 16) - cov = np.array([[25, 0], [0, 35.1]]) - y = np.random.multivariate_normal(mean, cov*r, (600,)) - - mean = (-5, 22) - cov = np.array([[30, 0], [0, 25]]) - z = np.random.multivariate_normal(mean, cov*r, (1000,)) - - idx = np.arange(2400) - np.random.shuffle(idx) - data = np.concatenate([x, y, z]) - label = np.concatenate([ - np.zeros((800,), dtype=int), - np.ones((600,), dtype=int), - np.ones((1000,), dtype=int) * 2 - ]) - data = data[idx] - label = label[idx] - - train_data, test_data = data[:1920, ], data[1920:, ] - train_label, test_label = label[:1920, ], label[1920:, ] - return train_data, train_label, test_data, test_label - -def change_cov(): - acc_1 = [] - acc_2 = [] - for each in np.arange(1, 2.1, 0.1): - train_data, train_label, test_data, test_label = generate_ball(r=each) - # euclidean - model = KNN() - model.fit(train_data, train_label, cate='euclidean', metric='accuracy') - res = model.predict(test_data) - acc1 = np.mean(np.equal(res, test_label)) - acc_1.append(acc1) - # manhattan - model = KNN() - model.fit(train_data, train_label, cate='manhattan', metric='accuracy') - res = model.predict(test_data) - acc2 = np.mean(np.equal(res, test_label)) - acc_2.append(acc2) - plt.plot(np.arange(1,2.1,0.1), acc_1,color = 'r') - plt.plot(np.arange(1,2.1,0.1), acc_2,color = 'b') - plt.title('accuracy at different cov') - plt.legend(['euclidean','manhattan']) - plt.savefig('change_cov.png') - - -if __name__ == "__main__": - if len(sys.argv) > 1 and sys.argv[1] == "g": - generate() - if len(sys.argv) > 1 and sys.argv[1] == "d": - (train_data, train_label), (test_data, test_label) = read() - display(train_data, train_label, 'train') - display(test_data, test_label, 'test') - else: - (train_data, train_label), (test_data, test_label) = read() - - model = KNN() - # 选择距离计算公式、评估公式 - model.fit(train_data, train_label, cate='manhattan',metric='accuracy') - res = model.predict(test_data) - print("acc =", np.mean(np.equal(res, test_label))) \ No newline at end of file -- Gitee From 955d710cad8b8651fd77e8abe485e432a57b9921 Mon Sep 17 00:00:00 2001 From: xyhdsg10022 Date: Tue, 30 Mar 2021 17:16:51 +0800 Subject: [PATCH 03/13] =?UTF-8?q?=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assignment-1/submission/17307100038/README.md | 364 ++++++++++++++++++ assignment-1/submission/17307100038/source.py | 227 +++++++++++ 2 files changed, 591 insertions(+) create mode 100644 assignment-1/submission/17307100038/README.md create mode 100644 assignment-1/submission/17307100038/source.py diff --git a/assignment-1/submission/17307100038/README.md b/assignment-1/submission/17307100038/README.md new file mode 100644 index 0000000..065ecf7 --- /dev/null +++ b/assignment-1/submission/17307100038/README.md @@ -0,0 +1,364 @@ +# 课程报告 + +## KNN类实现 + +### fit()函数 + +fit(X, y,cate = 'euclidean',metric='accuracy',preprocess =None) + +X: 训练集 + +y:训练集标签 + +cate:距离计算方式,如euclidean、manhattan距离 + +metric:模型评估方式,如accuracy + +preprocess:预处理方式,包含min_max归一化、z_score标准化、不处理 + + + +fit函数包含以下功能: + +​ 1、预处理; + +​ 2、随机打乱数据集顺序 + +​ 3、以8:2的比例划分train_data,dev_data,训练选出评估结果最优的k值 + +### predict()函数 + +predict用于预测测试集样本 + +### 辅助函数 + +distance( d1, d2,cate ='eulidean') + +d1,d2表示计算距离的点,cate默认为euclidean距离,可以选择manhattan距离 + + + +## 实验1 + +### Group1:各个类别相差较大,成较为明显的线性位置 + +$$ +\Sigma = + \left[ + \begin{matrix} + 52 & 0 \\ + 0 & 22 + \end{matrix} + \right] + \Sigma = + \left[ + \begin{matrix} + 21.1 & 0 \\ + 0 & 32.1 + \end{matrix} + \right] + \Sigma = + \left[ + \begin{matrix} + 10 & 0 \\ + 0 & 10 + \end{matrix} + \right] +$$ + +$$ +\mu = + \left[ + \begin{matrix} + 2 &5 + \end{matrix} + \right] + \mu = + \left[ + \begin{matrix} + 20 & -5 + \end{matrix} + \right] + \mu = + \left[ + \begin{matrix} + -5 & 22 + \end{matrix} + \right] +$$ + +train_data + + + +train_g1 + +测试集 + +test_g1 + +测试在两种距离下的准确率如下: + +| k | distance | acc | +| ---- | --------- | ------- | +| 8 | euclidean | 96.250% | +| 9 | euclidean | 95.625% | +| 3 | euclidean | 95.833% | +| 13 | euclidean | 96.458% | +| 3 | manhattan | 95.417% | +| 13 | manhattan | 96.250% | +| 5 | manhattan | 95.625% | +| 5 | manhattan | 95.625% | + +### Group2:各个类别之间相差较大,成较为明显的分散位置 + +$$ +\Sigma = + \left[ + \begin{matrix} + 52 & 0 \\ + 0 & 22 + \end{matrix} + \right] + \Sigma = + \left[ + \begin{matrix} + 21.1 & 0 \\ + 0 & 32.1 + \end{matrix} + \right] + \Sigma = + \left[ + \begin{matrix} + 10 & 0 \\ + 0 & 10 + \end{matrix} + \right] +$$ + +$$ +\mu = + \left[ + \begin{matrix} + 2 &5 + \end{matrix} + \right] + \mu = + \left[ + \begin{matrix} + 20 & 16 + \end{matrix} + \right] + \mu = + \left[ + \begin{matrix} + -5 & 22 + \end{matrix} + \right] +$$ + +train_data: + +train_g2 + +test_data: + +test_g2 + +测试在两种距离下的准确率如下: + +| k | distance | acc | +| ---- | --------- | ------- | +| 7 | euclidean | 96.875% | +| 7 | euclidean | 96.875% | +| 9 | euclidean | 97.083% | +| 8 | euclidean | 97.083% | +| 12 | manhattan | 97.708% | +| 14 | manhattan | 97.500% | +| 5 | manhattan | 97.083% | +| 12 | manhattan | 97.708% | + +*可见不同群之间的几何分布类型对knn的效果影响不明显* + +## 实验2 + +控制均值不变,倍数扩大协方差的各个数值至2倍 +$$ +\Sigma = + \left[ + \begin{matrix} + 52 & 0 \\ + 0 & 22 + \end{matrix} + \right] + \Sigma = + \left[ + \begin{matrix} + 21.1 & 0 \\ + 0 & 32.1 + \end{matrix} + \right] + \Sigma = + \left[ + \begin{matrix} + 10 & 0 \\ + 0 & 10 + \end{matrix} + \right] +$$ + +$$ +\left[ + \begin{matrix} + 2 &5 + \end{matrix} + \right] + \mu = + \left[ + \begin{matrix} + 20 & 16 + \end{matrix} + \right] + \mu = + \left[ + \begin{matrix} + -5 & 22 + \end{matrix} + \right] +$$ + +得到准确率改变如下图: + +change_cov + +*方差对于KNN的准确率影响显著,随着方差增大,模型准确率下降* + +## 实验3 + +对比采用归一化、标准化前后 +$$ +\Sigma = + \left[ + \begin{matrix} + 20 & 0 \\ + 0 & 1250 + \end{matrix} + \right] + \Sigma = + \left[ + \begin{matrix} + 25 & 0 \\ + 0 & 2500 + \end{matrix} + \right] + \Sigma = + \left[ + \begin{matrix} + 10 & 0 \\ + 0 & 950 + \end{matrix} + \right] +$$ + +$$ +\mu= +\left[ + \begin{matrix} + 2 &5 + \end{matrix} + \right] + \mu = + \left[ + \begin{matrix} + 10 & -60 + \end{matrix} + \right] + \mu = + \left[ + \begin{matrix} + -5 & 72 + \end{matrix} + \right] +$$ + +无预处理: + +data_original + +min_max 归一化: + +data_minmax + +Z_score标准化: + +data_zscore + +得到对应的准确率如下: + +| preprocessing | accuracy | +| ------------- | -------- | +| None | 82.917% | +| min_max | 83.542% | +| z_score | 84.17% | + +通过变小均值和方差的差距,重新实验得到如下结果: +$$ +\Sigma = + \left[ + \begin{matrix} + 20 & 0 \\ + 0 & 750 + \end{matrix} + \right] + \Sigma = + \left[ + \begin{matrix} + 25 & 0 \\ + 0 & 1200 + \end{matrix} + \right] + \Sigma = + \left[ + \begin{matrix} + 10 & 0 \\ + 0 & 650 + \end{matrix} + \right] +$$ + +$$ +\mu= +\left[ + \begin{matrix} + 2 &5 + \end{matrix} + \right] + \mu = + \left[ + \begin{matrix} + 10 & -50 + \end{matrix} + \right] + \mu = + \left[ + \begin{matrix} + -5 & 55 + \end{matrix} + \right] +$$ + +| preprocessing | accuracy | +| ------------- | -------- | +| None | 90.417% | +| min_max | 90.625# | +| z_score | 90.833% | + +*标准化、归一化对于KNN模型的准确率有一定提升,数据集各个feature的数量级差别越大,效果越明显* + +## 总结 + +1、KNN模型中不同类别点的几何分布类型对模型预测准确率影响不明显 + +2、方差对于KNN的准确率影响显著,随着方差增大,模型准确率下降 + +3、标准化、归一化对于KNN模型的准确率有一定提升,数据集各个feature的数量级差别越大,效果越明显;在数量级相差不大的情况下,性能提升不明显 \ No newline at end of file diff --git a/assignment-1/submission/17307100038/source.py b/assignment-1/submission/17307100038/source.py new file mode 100644 index 0000000..45452dc --- /dev/null +++ b/assignment-1/submission/17307100038/source.py @@ -0,0 +1,227 @@ +import sys +import numpy as np +import matplotlib.pyplot as plt + +class KNN: + def __init__(self): + self.X = None + self.y = None + self.k = None + self.cate = None # 距离计算公式 + self.metric = None # 评分方式,如accuracy + self.preprocess = None + self.min = None + self.max =None + self.mean = None + self.std = None + + def distance(self, d1, d2): + '''计算距离,如欧式距离、曼哈顿距离等''' + if self.cate == 'euclidean': + dist = np.sum(np.square(d1 - d2)) + elif self.cate == 'manhattan': + dist = np.sum(np.abs(d1-d2)) + return dist + + def score(self, y_pred, test_label): + '''分数评估如accuracy、macro_f1、micro_f1等''' + if self.metric == 'accuracy': + cnt = 0 + for i in range(len(y_pred)): + if y_pred[i] == test_label[i]: + cnt += 1 + score = cnt / len(y_pred) + return score + + def fit(self, X, y,cate = 'euclidean',metric='accuracy',preprocess =None): + '''包含K值的选择、建立模型''' + self.cate = cate + self.metric = metric + self.preprocess = preprocess + + # 1、preprocessing + if preprocess == 'Min_Max': #标准化 + self.min = X.min(axis = 0) + self.max = X.max(axis = 0) + X = (X -self.min)/(self.max - self.min) + elif preprocess == 'Z_score': # 归一化 + self.mean = X.mean(axis=0) + self.std = X.std(axis=0) + X = (X - self.mean) / self.std + else: + X = X + + # 2、打乱顺序 + random_index = np.random.permutation(len(X)) + X = X[random_index] + y= y[random_index] + + # 3、分为train_data,dev_data + N = X.shape[0] + cut = int(N * 0.8) # 防止非整数情况 + train_data, dev_data = X[:cut, ], X[cut:, ] + train_label, dev_label = y[:cut, ], y[cut:, ] + + # 4、训练K值 + max_score = 0 + max_score_K = 0 + for k in range(2, 15): + '''计算每个k下的accuracy: + 1、对每个dev_data,计算其与train_data的距离 + 2、排序得到距离最近的k个index + 3、获取该dev_data的y_pred + 4、计算accuracy + ''' + y_pred = [] + for i in range(len(dev_data)): + dist_arr = [self.distance(dev_data[i], train_data[j]) for j in range(len(train_data))] # 每个测试点距离训练集各个点的距离列表 + sorted_index = np.argsort(dist_arr) # arg 排序各个距离的大小,得到index + first_k_index = sorted_index[:k] # 最小的k个index + first_k_label = train_label[first_k_index] + y_pred.append(np.argmax(np.bincount(first_k_label))) # 取众数为预测值 + y_pred = np.array(y_pred) + score = self.score(y_pred, dev_label) + + if score > max_score: + max_score, max_score_K = score, k + + # 5、确立参数 + self.X = X + self.y = y + self.k = max_score_K + # print('k:%d' % self.k) + + def predict(self, test_data): + # preprocessing + if self.preprocess == 'Min_Max': #标准化 + test_data = (test_data -self.min)/(self.max - self.min) + elif self.preprocess == 'Z_score': # 归一化 + test_data = (test_data - self.mean) / self.std + else: + test_data = test_data + + y_pred = [] + for i in range(len(test_data)): + dist_arr = [self.distance(test_data[i], self.X[j]) for j in range(len(self.X))] + first_k_index = np.argsort(dist_arr)[:self.k] + first_k_label = self.y[first_k_index] + y_pred.append(np.argmax(np.bincount(first_k_label))) + return np.array(y_pred) + + +def generate(): + mean = (2, 5) + cov = np.array([[20, 0], [0, 750]]) + x = np.random.multivariate_normal(mean, cov, (800,)) + + mean = (10, -60) + cov = np.array([[25, 0], [0, 2500]]) + y = np.random.multivariate_normal(mean, cov, (600,)) + + mean = (-5, 72) + cov = np.array([[10, 0], [0, 650]]) + z = np.random.multivariate_normal(mean, cov, (1000,)) + + idx = np.arange(2400) + np.random.shuffle(idx) + data = np.concatenate([x, y, z]) + label = np.concatenate([ + np.zeros((800,), dtype=int), + np.ones((600,), dtype=int), + np.ones((1000,), dtype=int) * 2 + ]) + data = data[idx] + label = label[idx] + + train_data, test_data = data[:1920, ], data[1920:, ] + train_label, test_label = label[:1920, ], label[1920:, ] + np.save("data.npy", ( + (train_data, train_label), (test_data, test_label) + )) + + +def read(): + (train_data, train_label), (test_data, test_label) = np.load("data.npy", allow_pickle=True) + return (train_data, train_label), (test_data, test_label) + + +def display(data, label, name): + datas = [[], [], []] + for i in range(len(data)): + datas[label[i]].append(data[i]) + + for each in datas: + each = np.array(each) + plt.scatter(each[:, 0], each[:, 1]) + plt.savefig(f'img/{name}') + plt.show() + + +'''测试改变方差对结果的影响''' +def generate_ball(r=1): + mean = (2, 5) + cov = np.array([[40, 0], [0, 30]]) + x = np.random.multivariate_normal(mean, cov*r, (800,)) + + mean = (20, 16) + cov = np.array([[25, 0], [0, 35.1]]) + y = np.random.multivariate_normal(mean, cov*r, (600,)) + + mean = (-5, 22) + cov = np.array([[30, 0], [0, 25]]) + z = np.random.multivariate_normal(mean, cov*r, (1000,)) + + idx = np.arange(2400) + np.random.shuffle(idx) + data = np.concatenate([x, y, z]) + label = np.concatenate([ + np.zeros((800,), dtype=int), + np.ones((600,), dtype=int), + np.ones((1000,), dtype=int) * 2 + ]) + data = data[idx] + label = label[idx] + + train_data, test_data = data[:1920, ], data[1920:, ] + train_label, test_label = label[:1920, ], label[1920:, ] + return train_data, train_label, test_data, test_label + +def change_cov(): + acc_1 = [] + acc_2 = [] + for each in np.arange(1, 2.1, 0.1): + train_data, train_label, test_data, test_label = generate_ball(r=each) + # euclidean + model = KNN() + model.fit(train_data, train_label, cate='euclidean', metric='accuracy') + res = model.predict(test_data) + acc1 = np.mean(np.equal(res, test_label)) + acc_1.append(acc1) + # manhattan + model = KNN() + model.fit(train_data, train_label, cate='manhattan', metric='accuracy') + res = model.predict(test_data) + acc2 = np.mean(np.equal(res, test_label)) + acc_2.append(acc2) + plt.plot(np.arange(1,2.1,0.1), acc_1,color = 'r') + plt.plot(np.arange(1,2.1,0.1), acc_2,color = 'b') + plt.title('accuracy at different cov') + plt.legend(['euclidean','manhattan']) + plt.savefig('change_cov.png') + + +if __name__ == "__main__": + if len(sys.argv) > 1 and sys.argv[1] == "g": + generate() + if len(sys.argv) > 1 and sys.argv[1] == "d": + (train_data, train_label), (test_data, test_label) = read() + display(train_data, train_label, 'train') + display(test_data, test_label, 'test') + else: + (train_data, train_label), (test_data, test_label) = read() + + model = KNN() + # 选择距离计算公式、评估公式 + model.fit(train_data, train_label, cate='manhattan',metric='accuracy') + res = model.predict(test_data) + print("acc =", np.mean(np.equal(res, test_label))) \ No newline at end of file -- Gitee From af9119faee2f9f85606f3f86cc884cc1116c6cb8 Mon Sep 17 00:00:00 2001 From: XYH Date: Tue, 30 Mar 2021 17:25:45 +0800 Subject: [PATCH 04/13] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=96=87=E4=BB=B6=20as?= =?UTF-8?q?signment-1/submission/17307100038?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assignment-1/submission/17307100038/README.md | 364 ------------------ assignment-1/submission/17307100038/source.py | 227 ----------- 2 files changed, 591 deletions(-) delete mode 100644 assignment-1/submission/17307100038/README.md delete mode 100644 assignment-1/submission/17307100038/source.py diff --git a/assignment-1/submission/17307100038/README.md b/assignment-1/submission/17307100038/README.md deleted file mode 100644 index 065ecf7..0000000 --- a/assignment-1/submission/17307100038/README.md +++ /dev/null @@ -1,364 +0,0 @@ -# 课程报告 - -## KNN类实现 - -### fit()函数 - -fit(X, y,cate = 'euclidean',metric='accuracy',preprocess =None) - -X: 训练集 - -y:训练集标签 - -cate:距离计算方式,如euclidean、manhattan距离 - -metric:模型评估方式,如accuracy - -preprocess:预处理方式,包含min_max归一化、z_score标准化、不处理 - - - -fit函数包含以下功能: - -​ 1、预处理; - -​ 2、随机打乱数据集顺序 - -​ 3、以8:2的比例划分train_data,dev_data,训练选出评估结果最优的k值 - -### predict()函数 - -predict用于预测测试集样本 - -### 辅助函数 - -distance( d1, d2,cate ='eulidean') - -d1,d2表示计算距离的点,cate默认为euclidean距离,可以选择manhattan距离 - - - -## 实验1 - -### Group1:各个类别相差较大,成较为明显的线性位置 - -$$ -\Sigma = - \left[ - \begin{matrix} - 52 & 0 \\ - 0 & 22 - \end{matrix} - \right] - \Sigma = - \left[ - \begin{matrix} - 21.1 & 0 \\ - 0 & 32.1 - \end{matrix} - \right] - \Sigma = - \left[ - \begin{matrix} - 10 & 0 \\ - 0 & 10 - \end{matrix} - \right] -$$ - -$$ -\mu = - \left[ - \begin{matrix} - 2 &5 - \end{matrix} - \right] - \mu = - \left[ - \begin{matrix} - 20 & -5 - \end{matrix} - \right] - \mu = - \left[ - \begin{matrix} - -5 & 22 - \end{matrix} - \right] -$$ - -train_data - - - -train_g1 - -测试集 - -test_g1 - -测试在两种距离下的准确率如下: - -| k | distance | acc | -| ---- | --------- | ------- | -| 8 | euclidean | 96.250% | -| 9 | euclidean | 95.625% | -| 3 | euclidean | 95.833% | -| 13 | euclidean | 96.458% | -| 3 | manhattan | 95.417% | -| 13 | manhattan | 96.250% | -| 5 | manhattan | 95.625% | -| 5 | manhattan | 95.625% | - -### Group2:各个类别之间相差较大,成较为明显的分散位置 - -$$ -\Sigma = - \left[ - \begin{matrix} - 52 & 0 \\ - 0 & 22 - \end{matrix} - \right] - \Sigma = - \left[ - \begin{matrix} - 21.1 & 0 \\ - 0 & 32.1 - \end{matrix} - \right] - \Sigma = - \left[ - \begin{matrix} - 10 & 0 \\ - 0 & 10 - \end{matrix} - \right] -$$ - -$$ -\mu = - \left[ - \begin{matrix} - 2 &5 - \end{matrix} - \right] - \mu = - \left[ - \begin{matrix} - 20 & 16 - \end{matrix} - \right] - \mu = - \left[ - \begin{matrix} - -5 & 22 - \end{matrix} - \right] -$$ - -train_data: - -train_g2 - -test_data: - -test_g2 - -测试在两种距离下的准确率如下: - -| k | distance | acc | -| ---- | --------- | ------- | -| 7 | euclidean | 96.875% | -| 7 | euclidean | 96.875% | -| 9 | euclidean | 97.083% | -| 8 | euclidean | 97.083% | -| 12 | manhattan | 97.708% | -| 14 | manhattan | 97.500% | -| 5 | manhattan | 97.083% | -| 12 | manhattan | 97.708% | - -*可见不同群之间的几何分布类型对knn的效果影响不明显* - -## 实验2 - -控制均值不变,倍数扩大协方差的各个数值至2倍 -$$ -\Sigma = - \left[ - \begin{matrix} - 52 & 0 \\ - 0 & 22 - \end{matrix} - \right] - \Sigma = - \left[ - \begin{matrix} - 21.1 & 0 \\ - 0 & 32.1 - \end{matrix} - \right] - \Sigma = - \left[ - \begin{matrix} - 10 & 0 \\ - 0 & 10 - \end{matrix} - \right] -$$ - -$$ -\left[ - \begin{matrix} - 2 &5 - \end{matrix} - \right] - \mu = - \left[ - \begin{matrix} - 20 & 16 - \end{matrix} - \right] - \mu = - \left[ - \begin{matrix} - -5 & 22 - \end{matrix} - \right] -$$ - -得到准确率改变如下图: - -change_cov - -*方差对于KNN的准确率影响显著,随着方差增大,模型准确率下降* - -## 实验3 - -对比采用归一化、标准化前后 -$$ -\Sigma = - \left[ - \begin{matrix} - 20 & 0 \\ - 0 & 1250 - \end{matrix} - \right] - \Sigma = - \left[ - \begin{matrix} - 25 & 0 \\ - 0 & 2500 - \end{matrix} - \right] - \Sigma = - \left[ - \begin{matrix} - 10 & 0 \\ - 0 & 950 - \end{matrix} - \right] -$$ - -$$ -\mu= -\left[ - \begin{matrix} - 2 &5 - \end{matrix} - \right] - \mu = - \left[ - \begin{matrix} - 10 & -60 - \end{matrix} - \right] - \mu = - \left[ - \begin{matrix} - -5 & 72 - \end{matrix} - \right] -$$ - -无预处理: - -data_original - -min_max 归一化: - -data_minmax - -Z_score标准化: - -data_zscore - -得到对应的准确率如下: - -| preprocessing | accuracy | -| ------------- | -------- | -| None | 82.917% | -| min_max | 83.542% | -| z_score | 84.17% | - -通过变小均值和方差的差距,重新实验得到如下结果: -$$ -\Sigma = - \left[ - \begin{matrix} - 20 & 0 \\ - 0 & 750 - \end{matrix} - \right] - \Sigma = - \left[ - \begin{matrix} - 25 & 0 \\ - 0 & 1200 - \end{matrix} - \right] - \Sigma = - \left[ - \begin{matrix} - 10 & 0 \\ - 0 & 650 - \end{matrix} - \right] -$$ - -$$ -\mu= -\left[ - \begin{matrix} - 2 &5 - \end{matrix} - \right] - \mu = - \left[ - \begin{matrix} - 10 & -50 - \end{matrix} - \right] - \mu = - \left[ - \begin{matrix} - -5 & 55 - \end{matrix} - \right] -$$ - -| preprocessing | accuracy | -| ------------- | -------- | -| None | 90.417% | -| min_max | 90.625# | -| z_score | 90.833% | - -*标准化、归一化对于KNN模型的准确率有一定提升,数据集各个feature的数量级差别越大,效果越明显* - -## 总结 - -1、KNN模型中不同类别点的几何分布类型对模型预测准确率影响不明显 - -2、方差对于KNN的准确率影响显著,随着方差增大,模型准确率下降 - -3、标准化、归一化对于KNN模型的准确率有一定提升,数据集各个feature的数量级差别越大,效果越明显;在数量级相差不大的情况下,性能提升不明显 \ No newline at end of file diff --git a/assignment-1/submission/17307100038/source.py b/assignment-1/submission/17307100038/source.py deleted file mode 100644 index 45452dc..0000000 --- a/assignment-1/submission/17307100038/source.py +++ /dev/null @@ -1,227 +0,0 @@ -import sys -import numpy as np -import matplotlib.pyplot as plt - -class KNN: - def __init__(self): - self.X = None - self.y = None - self.k = None - self.cate = None # 距离计算公式 - self.metric = None # 评分方式,如accuracy - self.preprocess = None - self.min = None - self.max =None - self.mean = None - self.std = None - - def distance(self, d1, d2): - '''计算距离,如欧式距离、曼哈顿距离等''' - if self.cate == 'euclidean': - dist = np.sum(np.square(d1 - d2)) - elif self.cate == 'manhattan': - dist = np.sum(np.abs(d1-d2)) - return dist - - def score(self, y_pred, test_label): - '''分数评估如accuracy、macro_f1、micro_f1等''' - if self.metric == 'accuracy': - cnt = 0 - for i in range(len(y_pred)): - if y_pred[i] == test_label[i]: - cnt += 1 - score = cnt / len(y_pred) - return score - - def fit(self, X, y,cate = 'euclidean',metric='accuracy',preprocess =None): - '''包含K值的选择、建立模型''' - self.cate = cate - self.metric = metric - self.preprocess = preprocess - - # 1、preprocessing - if preprocess == 'Min_Max': #标准化 - self.min = X.min(axis = 0) - self.max = X.max(axis = 0) - X = (X -self.min)/(self.max - self.min) - elif preprocess == 'Z_score': # 归一化 - self.mean = X.mean(axis=0) - self.std = X.std(axis=0) - X = (X - self.mean) / self.std - else: - X = X - - # 2、打乱顺序 - random_index = np.random.permutation(len(X)) - X = X[random_index] - y= y[random_index] - - # 3、分为train_data,dev_data - N = X.shape[0] - cut = int(N * 0.8) # 防止非整数情况 - train_data, dev_data = X[:cut, ], X[cut:, ] - train_label, dev_label = y[:cut, ], y[cut:, ] - - # 4、训练K值 - max_score = 0 - max_score_K = 0 - for k in range(2, 15): - '''计算每个k下的accuracy: - 1、对每个dev_data,计算其与train_data的距离 - 2、排序得到距离最近的k个index - 3、获取该dev_data的y_pred - 4、计算accuracy - ''' - y_pred = [] - for i in range(len(dev_data)): - dist_arr = [self.distance(dev_data[i], train_data[j]) for j in range(len(train_data))] # 每个测试点距离训练集各个点的距离列表 - sorted_index = np.argsort(dist_arr) # arg 排序各个距离的大小,得到index - first_k_index = sorted_index[:k] # 最小的k个index - first_k_label = train_label[first_k_index] - y_pred.append(np.argmax(np.bincount(first_k_label))) # 取众数为预测值 - y_pred = np.array(y_pred) - score = self.score(y_pred, dev_label) - - if score > max_score: - max_score, max_score_K = score, k - - # 5、确立参数 - self.X = X - self.y = y - self.k = max_score_K - # print('k:%d' % self.k) - - def predict(self, test_data): - # preprocessing - if self.preprocess == 'Min_Max': #标准化 - test_data = (test_data -self.min)/(self.max - self.min) - elif self.preprocess == 'Z_score': # 归一化 - test_data = (test_data - self.mean) / self.std - else: - test_data = test_data - - y_pred = [] - for i in range(len(test_data)): - dist_arr = [self.distance(test_data[i], self.X[j]) for j in range(len(self.X))] - first_k_index = np.argsort(dist_arr)[:self.k] - first_k_label = self.y[first_k_index] - y_pred.append(np.argmax(np.bincount(first_k_label))) - return np.array(y_pred) - - -def generate(): - mean = (2, 5) - cov = np.array([[20, 0], [0, 750]]) - x = np.random.multivariate_normal(mean, cov, (800,)) - - mean = (10, -60) - cov = np.array([[25, 0], [0, 2500]]) - y = np.random.multivariate_normal(mean, cov, (600,)) - - mean = (-5, 72) - cov = np.array([[10, 0], [0, 650]]) - z = np.random.multivariate_normal(mean, cov, (1000,)) - - idx = np.arange(2400) - np.random.shuffle(idx) - data = np.concatenate([x, y, z]) - label = np.concatenate([ - np.zeros((800,), dtype=int), - np.ones((600,), dtype=int), - np.ones((1000,), dtype=int) * 2 - ]) - data = data[idx] - label = label[idx] - - train_data, test_data = data[:1920, ], data[1920:, ] - train_label, test_label = label[:1920, ], label[1920:, ] - np.save("data.npy", ( - (train_data, train_label), (test_data, test_label) - )) - - -def read(): - (train_data, train_label), (test_data, test_label) = np.load("data.npy", allow_pickle=True) - return (train_data, train_label), (test_data, test_label) - - -def display(data, label, name): - datas = [[], [], []] - for i in range(len(data)): - datas[label[i]].append(data[i]) - - for each in datas: - each = np.array(each) - plt.scatter(each[:, 0], each[:, 1]) - plt.savefig(f'img/{name}') - plt.show() - - -'''测试改变方差对结果的影响''' -def generate_ball(r=1): - mean = (2, 5) - cov = np.array([[40, 0], [0, 30]]) - x = np.random.multivariate_normal(mean, cov*r, (800,)) - - mean = (20, 16) - cov = np.array([[25, 0], [0, 35.1]]) - y = np.random.multivariate_normal(mean, cov*r, (600,)) - - mean = (-5, 22) - cov = np.array([[30, 0], [0, 25]]) - z = np.random.multivariate_normal(mean, cov*r, (1000,)) - - idx = np.arange(2400) - np.random.shuffle(idx) - data = np.concatenate([x, y, z]) - label = np.concatenate([ - np.zeros((800,), dtype=int), - np.ones((600,), dtype=int), - np.ones((1000,), dtype=int) * 2 - ]) - data = data[idx] - label = label[idx] - - train_data, test_data = data[:1920, ], data[1920:, ] - train_label, test_label = label[:1920, ], label[1920:, ] - return train_data, train_label, test_data, test_label - -def change_cov(): - acc_1 = [] - acc_2 = [] - for each in np.arange(1, 2.1, 0.1): - train_data, train_label, test_data, test_label = generate_ball(r=each) - # euclidean - model = KNN() - model.fit(train_data, train_label, cate='euclidean', metric='accuracy') - res = model.predict(test_data) - acc1 = np.mean(np.equal(res, test_label)) - acc_1.append(acc1) - # manhattan - model = KNN() - model.fit(train_data, train_label, cate='manhattan', metric='accuracy') - res = model.predict(test_data) - acc2 = np.mean(np.equal(res, test_label)) - acc_2.append(acc2) - plt.plot(np.arange(1,2.1,0.1), acc_1,color = 'r') - plt.plot(np.arange(1,2.1,0.1), acc_2,color = 'b') - plt.title('accuracy at different cov') - plt.legend(['euclidean','manhattan']) - plt.savefig('change_cov.png') - - -if __name__ == "__main__": - if len(sys.argv) > 1 and sys.argv[1] == "g": - generate() - if len(sys.argv) > 1 and sys.argv[1] == "d": - (train_data, train_label), (test_data, test_label) = read() - display(train_data, train_label, 'train') - display(test_data, test_label, 'test') - else: - (train_data, train_label), (test_data, test_label) = read() - - model = KNN() - # 选择距离计算公式、评估公式 - model.fit(train_data, train_label, cate='manhattan',metric='accuracy') - res = model.predict(test_data) - print("acc =", np.mean(np.equal(res, test_label))) \ No newline at end of file -- Gitee From 3a2401fbb6affff1f311afd9ea9c12f7926fac95 Mon Sep 17 00:00:00 2001 From: XYH Date: Tue, 30 Mar 2021 17:29:35 +0800 Subject: [PATCH 05/13] 111 --- assignment-1/submission/17307100038/README.md | 364 ++++++++++++++++++ .../submission/17307100038/img/change_cov.png | Bin 0 -> 28989 bytes .../17307100038/img/data_minmax.png | Bin 0 -> 42315 bytes .../17307100038/img/data_original.png | Bin 0 -> 42826 bytes .../17307100038/img/data_zscore.png | Bin 0 -> 40457 bytes .../submission/17307100038/img/test_g1.png | Bin 0 -> 29770 bytes .../submission/17307100038/img/test_g2.png | Bin 0 -> 30935 bytes .../submission/17307100038/img/test_g3.png | Bin 0 -> 37522 bytes .../submission/17307100038/img/train_g1.png | Bin 0 -> 40063 bytes .../submission/17307100038/img/train_g2.png | Bin 0 -> 51676 bytes .../submission/17307100038/img/train_g3.png | Bin 0 -> 57640 bytes assignment-1/submission/17307100038/source.py | 227 +++++++++++ 12 files changed, 591 insertions(+) create mode 100644 assignment-1/submission/17307100038/README.md create mode 100644 assignment-1/submission/17307100038/img/change_cov.png create mode 100644 assignment-1/submission/17307100038/img/data_minmax.png create mode 100644 assignment-1/submission/17307100038/img/data_original.png create mode 100644 assignment-1/submission/17307100038/img/data_zscore.png create mode 100644 assignment-1/submission/17307100038/img/test_g1.png create mode 100644 assignment-1/submission/17307100038/img/test_g2.png create mode 100644 assignment-1/submission/17307100038/img/test_g3.png create mode 100644 assignment-1/submission/17307100038/img/train_g1.png create mode 100644 assignment-1/submission/17307100038/img/train_g2.png create mode 100644 assignment-1/submission/17307100038/img/train_g3.png create mode 100644 assignment-1/submission/17307100038/source.py diff --git a/assignment-1/submission/17307100038/README.md b/assignment-1/submission/17307100038/README.md new file mode 100644 index 0000000..b529143 --- /dev/null +++ b/assignment-1/submission/17307100038/README.md @@ -0,0 +1,364 @@ +# 课程报告 + +## KNN类实现 + +### fit()函数 + +fit(X, y,cate = 'euclidean',metric='accuracy',preprocess =None) + +X: 训练集 + +y:训练集标签 + +cate:距离计算方式,如euclidean、manhattan距离 + +metric:模型评估方式,如accuracy + +preprocess:预处理方式,包含min_max归一化、z_score标准化、不处理 + + + +fit函数包含以下功能: + +​ 1、预处理; + +​ 2、随机打乱数据集顺序 + +​ 3、以8:2的比例划分train_data,dev_data,训练选出评估结果最优的k值 + +### predict()函数 + +predict用于预测测试集样本 + +### 辅助函数 + +distance( d1, d2,cate ='eulidean') + +d1,d2表示计算距离的点,cate默认为euclidean距离,可以选择manhattan距离 + + + +## 实验1 + +### Group1:各个类别相差较大,成较为明显的线性位置 + +$$ +\Sigma = + \left[ + \begin{matrix} + 52 & 0 \\ + 0 & 22 + \end{matrix} + \right] + \Sigma = + \left[ + \begin{matrix} + 21.1 & 0 \\ + 0 & 32.1 + \end{matrix} + \right] + \Sigma = + \left[ + \begin{matrix} + 10 & 0 \\ + 0 & 10 + \end{matrix} + \right] +$$ + +$$ +\mu = + \left[ + \begin{matrix} + 2 &5 + \end{matrix} + \right] + \mu = + \left[ + \begin{matrix} + 20 & -5 + \end{matrix} + \right] + \mu = + \left[ + \begin{matrix} + -5 & 22 + \end{matrix} + \right] +$$ + +train_data + + + +train_g1 + +测试集 + +test_g1 + +测试在两种距离下的准确率如下: + +| k | distance | acc | +| ---- | --------- | ------- | +| 8 | euclidean | 96.250% | +| 9 | euclidean | 95.625% | +| 3 | euclidean | 95.833% | +| 13 | euclidean | 96.458% | +| 3 | manhattan | 95.417% | +| 13 | manhattan | 96.250% | +| 5 | manhattan | 95.625% | +| 5 | manhattan | 95.625% | + +### Group2:各个类别之间相差较大,成较为明显的分散位置 + +$$ +\Sigma = + \left[ + \begin{matrix} + 52 & 0 \\ + 0 & 22 + \end{matrix} + \right] + \Sigma = + \left[ + \begin{matrix} + 21.1 & 0 \\ + 0 & 32.1 + \end{matrix} + \right] + \Sigma = + \left[ + \begin{matrix} + 10 & 0 \\ + 0 & 10 + \end{matrix} + \right] +$$ + +$$ +\mu = + \left[ + \begin{matrix} + 2 &5 + \end{matrix} + \right] + \mu = + \left[ + \begin{matrix} + 20 & 16 + \end{matrix} + \right] + \mu = + \left[ + \begin{matrix} + -5 & 22 + \end{matrix} + \right] +$$ + +train_data: + +train_g2 + +test_data: + +test_g2 + +测试在两种距离下的准确率如下: + +| k | distance | acc | +| ---- | --------- | ------- | +| 7 | euclidean | 96.875% | +| 7 | euclidean | 96.875% | +| 9 | euclidean | 97.083% | +| 8 | euclidean | 97.083% | +| 12 | manhattan | 97.708% | +| 14 | manhattan | 97.500% | +| 5 | manhattan | 97.083% | +| 12 | manhattan | 97.708% | + +*可见不同群之间的几何分布类型对knn的效果影响不明显* + +## 实验2 + +控制均值不变,倍数扩大协方差的各个数值至2倍 +$$ +\Sigma = + \left[ + \begin{matrix} + 52 & 0 \\ + 0 & 22 + \end{matrix} + \right] + \Sigma = + \left[ + \begin{matrix} + 21.1 & 0 \\ + 0 & 32.1 + \end{matrix} + \right] + \Sigma = + \left[ + \begin{matrix} + 10 & 0 \\ + 0 & 10 + \end{matrix} + \right] +$$ + +$$ +\left[ + \begin{matrix} + 2 &5 + \end{matrix} + \right] + \mu = + \left[ + \begin{matrix} + 20 & 16 + \end{matrix} + \right] + \mu = + \left[ + \begin{matrix} + -5 & 22 + \end{matrix} + \right] +$$ + +得到准确率改变如下图: + +change_cov + +*方差对于KNN的准确率影响显著,随着方差增大,模型准确率下降* + +## 实验3 + +对比采用归一化、标准化前后 +$$ +\Sigma = + \left[ + \begin{matrix} + 20 & 0 \\ + 0 & 1250 + \end{matrix} + \right] + \Sigma = + \left[ + \begin{matrix} + 25 & 0 \\ + 0 & 2500 + \end{matrix} + \right] + \Sigma = + \left[ + \begin{matrix} + 10 & 0 \\ + 0 & 950 + \end{matrix} + \right] +$$ + +$$ +\mu= +\left[ + \begin{matrix} + 2 &5 + \end{matrix} + \right] + \mu = + \left[ + \begin{matrix} + 10 & -60 + \end{matrix} + \right] + \mu = + \left[ + \begin{matrix} + -5 & 72 + \end{matrix} + \right] +$$ + +无预处理: + +data_original + +min_max 归一化: + +data_minmax + +Z_score标准化: + +data_zscore + +得到对应的准确率如下: + +| preprocessing | accuracy | +| ------------- | -------- | +| None | 82.917% | +| min_max | 83.542% | +| z_score | 84.17% | + +通过变小均值和方差的差距,重新实验得到如下结果: +$$ +\Sigma = + \left[ + \begin{matrix} + 20 & 0 \\ + 0 & 750 + \end{matrix} + \right] + \Sigma = + \left[ + \begin{matrix} + 25 & 0 \\ + 0 & 1200 + \end{matrix} + \right] + \Sigma = + \left[ + \begin{matrix} + 10 & 0 \\ + 0 & 650 + \end{matrix} + \right] +$$ + +$$ +\mu= +\left[ + \begin{matrix} + 2 &5 + \end{matrix} + \right] + \mu = + \left[ + \begin{matrix} + 10 & -50 + \end{matrix} + \right] + \mu = + \left[ + \begin{matrix} + -5 & 55 + \end{matrix} + \right] +$$ + +| preprocessing | accuracy | +| ------------- | -------- | +| None | 90.417% | +| min_max | 90.625# | +| z_score | 90.833% | + +*标准化、归一化对于KNN模型的准确率有一定提升,数据集各个feature的数量级差别越大,效果越明显* + +## 总结 + +1、KNN模型中不同类别点的几何分布类型对模型预测准确率影响不明显 + +2、方差对于KNN的准确率影响显著,随着方差增大,模型准确率下降 + +3、标准化、归一化对于KNN模型的准确率有一定提升,数据集各个feature的数量级差别越大,效果越明显;在数量级相差不大的情况下,性能提升不明显 \ No newline at end of file diff --git a/assignment-1/submission/17307100038/img/change_cov.png b/assignment-1/submission/17307100038/img/change_cov.png new file mode 100644 index 0000000000000000000000000000000000000000..90c6e3d31b490ac4e6f2e9a05f21f24bc71627ea GIT binary patch literal 28989 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 Jw8Lh8{{?8LId1>} literal 0 HcmV?d00001 diff --git a/assignment-1/submission/17307100038/img/data_minmax.png b/assignment-1/submission/17307100038/img/data_minmax.png new file mode 100644 index 0000000000000000000000000000000000000000..2bf4c70c5448506cd1bb4c074e8a1a9e569c7716 GIT binary patch literal 42315 zcmeFZRa6{p)HT?+ySuwvaCZ;xu0etaf(L>GClK7-3GN;sxVuAecWGpb_xt~uxtO`1 zi|Ms`(cRV6Rdwpv-e*7j_^2X_f=Gx60)bHE<)qX>Ajm)v2x1c+7Wjl`YV{xR2ii?S zUK1X8_`+L;1Md-><@DS@AT+c0Cq#*8@h9LzK6hzdcMT_NcTY1{E0Cj^yR(CnyTd1Q z@-J4dZl9b!bFp%=ax##5}?o4m{}1!ZZD#q=3h44L%4H0|SEwA2#s)Jwhl1Iq+63$P6S0yiGLy|2O}C z#w_wjCqxIs)bhPO!Eo_eS*YUZ0^l#e-IRmVOLBRBaJe~M!OKfYX<>&AG~@HSAb+|) z-&krA2hN{ju`57Sg?~43yfa#*2gHticz6ghWXp+)ic;w$qNJpp&d<$-cmdygcE!?B z0=s`q^5f#<{O{g-aQtZZW8%Q;`~e&a6CX+p_EXUn#@5bH){cdd~{E$9&%#l78+SvGkSj1QNHskB{UXNWv>)Y{0SAgs) zqla49Nf@O!F<_4ZY6lQ}b5evbL-|%`ER*#_R`k=8_k95P{yg?cSbbq`Wm+(A5D0r| zh2F+*LqkL29v%$~77YyzataC(6IsGq6Tp$!)5l0$e6ZoJ>aNY|7C+iohakUIHV%_^ zKc76SGz$VJW{HpvLCj-^9T6GXL2A(9%@c}77W41lKb2Od2s+xS?_r3fkei5iLJVXR zj4Az)=#-R4&MsJ>EIt>=l}5+DM#mLU^K!exN+SyR?i6ZMzq8|VfM{)S!)1`9q@v=_ zXew8Y{Q_(I>(lYW%EoIb_`Iu2<1Bky!|XE!u5l~+Qj$aUpd&8P`|FUFkW6qZ zJXc-9&h{+{_z(N#$)%)fg3mWxut8r!rM^ONcu`R1dHtk6-}pxDfB}D~p{^J7Sa{v> zw6w(hK}hogJ(&%Nh1QbhB`CT0K@Mvm{w{w&ke9kDsEo2@Rxfu-eRU8&gyf^Kk=-B! zj2`m7aT}it2&;#FP@JYq6ajG0p3OmWWqbosK#=)!fT*>G@wqk-a1kLOU77ibEo6Yq z4fFo-e=o7S@IgOmV>qZNDI-*YP=mnP!!>t!tI2?tkdnfd#RsW>1gww2PbC2U;J$Mp z034|s_|S0czn7cMaB9Gw?vbBUZix<`7%lWFNXAu+o>RTjiz((6JP~Fg2)i|{>GSfqGYBQR_pZaGYNvXuT zgQj8dR{|<>&(+%fV}Af9U>&oVz>wDmk z+i;O$nBTQSDr#p-wehERZ5IN*OP^o4O8CD21}pFzpl^(pzXov=Sr4XvRRg=0IQ=lZ zn@Gso-IaPE#R9Bu3Q7S5Y5nzP_4uMC6Df8B1n&G8Z1F$jWzwSZfY>G2uyFbsXEamD zNg`rts_-LvnTYoJ`=d(-H#Im4{jR;_Kbz>2&JNRCEXFx|T30DZU$QG6-is?XFe};|4&J3t2 z6%3IsI0W7IK+ZEy{EZkPa{6rpC7 z3FuKTwq#OZ+=XId#0$U%B1kzoV=E>K+jXWkh~+OU<;mAgN*sIVeq6cd{nD*#1Yyd2 z(xmjgBUehQAO^xT2mzb8Kh4xc!!}w_`+B*Z- zwgoX0It&aC$5kjf4yI|J*&w5da5x#Ez}jWbIpH4*8DEvV$**-sI4YL9Xe;((r8YXf z7Ks$3q;kz*<0SSHGt`V!Vs1zqfZ{z%#X4BeK6@z)539Zn1Wza?NSw~Hb&&` zPLGFuBmt*!M+PxalS~Qm0f(Y&NLFU?(XpuRArjn}^yswNbCnv0m)scncqaurgL4mD zxtdoqv{I;t=JlrBJ)33~9uw*k8o`sXOr2A9EwB4_DHaE%4Ro+5Wgg!kC=U7X?_N)q z&#dp^QvP0>Dr(@~t$?Jqop$$mAu>U%gEzE6Sz~i@`0d$`e-0*;l!)IIyDh`x$*I-n z1_&4kN}Mi9hpc%FIBaH#$9BiXM#@x8uDD5c-$2xQ5r1C@3N;rHgV5c(Ogr*Po2olW zK18DIxD6h+z5>q44vt*PI8~IAN=t#DmK3Pnl+Yu+MR^5nrtIK@ZtWILN6PZZw}&`X zL;V7BFGdZkR=QN~zXCVH=miF1q1|l!j)pQ%?7w}>HYs%{L?9sdKBq-~HQ38-ES-Px z`qJdUM=d+K{*9^H_=gRv-vFB;z9W#H?>Xz&15x=}+F21PE%oM~JHvxY(w2}5ohUId z`q`{OLvgtsp_DTjrH^0pLkRS5n0d(Dh_4Y}K{<`3xVNZpQMvnHhcP_>m(w=tK&-~= zi1~^)hVVE?Zamp?h-CDux(I50MddtiybsKea7-+& zz=HJJ>Z)j4`T|+{1CWl5Zbm1gEw49iC$d@A z4T#xOZaqepnoOU&FX>B}5%?dV(67E`4WQyjf-tjX3Yt^wL6j9xguPQBPAH?s*XEWtJjPNNOvRo+k~^KfpI$J>Me4-d?9x}#rY5H+ zbC;T{%esz!?_d4;H2x=B_JzOVJhfJ+%X|XSXoBF>F9j${U-3a-AY_8+D_@Lw?g-m| zpTZa|TwvQB5%Ushgg3~C8Ti%e>*W^I3+H(fkLe+#0LzlDU$CR{kRUcUIRM?* znz+nwFgiK;%FpPxj)MS~fNz~@5_J99K8*|}1$$2&mnCRP4E<&lO*i#{5e~=#s(u00dY1(WR5!a6 z7^Z+O{K_wXUB3gTsj5}$-mS#Q;&y$`%lCT67^had4(B$;8y>wq2)2@Z`oIr*XJvEI zx@M~f18p14~e8{aCPphLACza!1#ATAfDj36Z+=!+F1SZh2-*8!maWR%;(8%bk;5J31TM zSEICL8{23=R*UtJfw-G^c9v>wYVyoO7LLWS|HLtUy*j*#I2v z7ljSvP;#;`nP_QKU~2}NjHlBDjeJ8%bm%n=4j?SEb#}}2r+VUxs9LL}r}`C)DJj+a zWG4UHXX7Njwu@=yC&|TA)`D(RK;{|v%F!UN-a`+#gto2gqTqCQlh{0}nT*5R5eN*7 z_#mxrvx5>w$_8yR{-lhY^jl$rmJ|EMu=~ycv@Lx)ijI2wowcXoKB`c4(=PB z*IVa!!JObnW%}xBxpvwg;Q~-lVrLL1oKX(*3*HvGtVU zZt?d4eZIgA|LsxyG}O#^D(($m@xMRMZ2MxUwN5kFw>ya$DJB9Ybr3utW_lw~G4=|9 zI%S^JAc$S%`_sTlV#a%Q4b2*9qU6VTIUEr+>+MF!^dl#H1!+zh*l`H}U z`hNh8=g7bR{mHF1p7L|tz17gyDm(T%W1^vqa0Gx!C-|%_g~I}t)c?WE_j-)C`C&Wq z@;dvC7=R}l!v1}sD9r#saanO}GTR@|^g8dj|Lt+Cz3LA>CGp*l#~5DZ1C@N@#(jq9 z4yGdg<23PDxploQ&m5D-6=^M3Ti`?_wkvZZ;<9+*rpc{&Aizp`_X`N!x@H6r9;;#a z%I7werVW2VSTxco=}6q%fVWrOcHIuG!M(9`4(Cm=RloZ+d~REG*46{c=QGc)J{=Rk zxgJkag50QRrc!2(_GcteBR7%E9ZBi&q9w=D#VrFjk224D%7JKt0H8=LiYxIsO5(mZ2W;#r1#f=3-!4IQ>AsG-z>pI;gtqm2hV;_TJm~`QdW0*(LvoKVLR> zKvneRI}Ve!Sd!K3?Cj>t{l*}h|7B!M^KQ7tzyQp0cJiljDP;?kcffGeQO*G*`M$Ai z7O_KoR+hT_Rip=6%PAzxRm)p*f8>D2}u(19D3-teTmQt zfy~hGaC1dN=)f>Eve22s?_+yLzdqG1eKazv^d3K$%D=o@aoSn7ua;I&Ky-C=oy?a- zd%mp>nDZqK>-!cO3S0eVE}c{35+NWa~2^JY!E-mEL^Ld*rOZ0 zLF>|-Dwyu>m)i`F7)hR+BjHo#v68bwiiK=yjM0zOZdgQIUAev+{sC}<_wM z_d(M!^7sY5^f_yRdxy*bLGnDFD&WDGmY#kIK-d{%gW*S>XrA}@G@E$P0svR9BA&TY7YF{!xGm7RT_n(#Wp)1h zBvf;YFuQCoIegY>tQCwghRVnFl8=~-Ft5J8cVkuLo>Iwe^aO)K$<|6X>}m8!@UnP>s(0w5DGTJ1gJ@oNgBd{^{4 zco=)K&CiNj0+C?@I82W=OYudWg`~v)07Q&r>p-sB%r}S-_T88P_-qrtMB!}xoW(`?rYd0j43Y zc@b(+kFq7q)c$rp{JaJr8n9Vd5WlM8d!Rr>6OzRY*dp}u5&YZ<*p zAIlx85~tGG*;9481KKZ=3A5NYe8NlX?>+HJV9n?{z$DWH#hP-JQL*7@>*Vv&!(3`t zZ(tNe%9k^4q1!nPiZug$bwU8GN(v-X%Bo)Mk9dC7#g$&^Hun#lx`~VA;=yh}Q=%&D_z!Z~r=fzb!qoKx5k3<_kV+=3^&S>OZ zfgIB1!?j^8aIB)YuDWB|d^E)iKaFyZ%uGmdo>P^r`7%yW@FRn?6029$LRv;f)U-BE z{3~L4aNKBj&3e(__6~p+mWKlhKh*XGHuq%Lpw0I7Q}0D>ug zVYwVxW>C)kMbmEk!3Q-2`bUom-sPWpy48S2J%^IFPn4F=u^TR&hT@y6ySw(#BycjxDbuM_6lieWg&jt9JG|mk%^(WN1i4joQQM#JGOTC2? zKpEu)5p?5gY8&kFqK+pZ6Ue5=n%{*kfee3T{$%!;JypY_8wt#b|HHNK8`!vG(_>ls zJ^J8IffTHAc$1kjC<9zjgGXHK`Ldm2GU&mRMP#0DQvxqmf z8hm88HK%r}?yDJ24gVYB0~}x)TR*U-;ybmX7trVHI$uJr@|>_PGB?t%QS=L_p}V{z zsGVCPj+Qr;IID%}YSK;uiQOH|6*^Gw8%!Sqe+|GyX`kqQ1KNqL#0)bNjo4p;W$b?P zsX7;Mpt;+zl+FTVCQnU|zkcW#{gBqc5%-Zz^2gGBithgW(J<0W`?Rmr2X#y;cG^Z z(ZX<^zakc&#&OmRGB)8htY;ofg3Qt?*GENo+uqm2Q~kd z=GD5OU)r4B6FyHri&5axvD*@J?8Z8IFgiY$fHiLGKj?pKCAS;t@h(r++f|bK5d>k1 zckzmLek|}=yNCJSw%WAP5}VU&zYWE>}z^H zD~0X_@8@nlqXoSh8|lB`o10G3-A4EOY%0A>drX+o)I>Ot|D)sX4u8UxE=WQOAsE6m zY6d)T=ws;rMWnXv)A`}`8dvj0c}TOBVOnP0D@Hvq1{M;*3tIn3WZBph6RUo`-5Na4?8KJ>#Zy}S(@ z0KxI0YyvBmngJ$g5!3m*f!x9`8p|SU!q0--UG5OA4Ox+Wbow5u(-*#|CJN5SC8^LG z8}h>CZnBy4Gk=qd?SQj+&lvz&op|wXzF{J|oVB9E8a5;tzAa=pg@Ecth`r47g-h8=ueRnQF#s=AD2;Y+3(?fnc~zest2Oq zp7G8e7d{xi9a$UJZ@L+c)B_BA^W#Z61!Cvh3A`;oC#>UOm~9r((2-#Rz3J>HVVC~j z{`emHs;~i4iE;0&z;L=-D1YC%8v(<5ER0=KE<0T+M`M@$xd{*uN5mfS9cCy160E2& zT%wr3QH4&ZQTr_8^_hfzl;sc5KF@k&#ksG(*mU^ZDljTu0IZDG0M4-7VGF7Jp&<8! zl?N+^nk5J5L}HfH8(J;%n54^z_OBBeZz*@ z5l)|mJ{ixg0o`34qIK!`I*KMbW{Iw3ZljLVZVV%{{xy#}7^X{SqHvcq$#V2ZoGtVGHZpA0Iwap(z1tjRqr+Q8egLR6aY9K^ zQ1L6%W~WKtU4q@5w+K2+Pm>^vsb#65nq6ga-piU#Ka&ss5@KjLCIVD9aB14-znn~Z z2HQjj{)l6}Gh{EEe8aWtP*kMdSO(dq7s=#z#4Aw1*+@f0t}1pa+%0f**XcQUm26UA z@8RaLH=$dAWBU~iB5G{M7UGttSCakaxB~POxPi*vXtM$kgVHcCtCz*{u1f-9OFeB@pcYZB)3k05xxB%WY#HFUKF!{RnJLrOVC1xX8og{)r{ zymb%5P1PXKvLwrI!p>u4eXpNuz5{{BErxiSE_D3><1E$#@O~Woa_{EoygJn$=?_QbWK2&&=`5LO5^J5ta{^yeVf?mI`bFu7}9_!kHC_?|93|J zYQ-_|yn$aoT$$-7_!$dUrMs-797N72O2$!2TKbZd^Vp5uMLt<~LA6LK$kIi^1&rO&;B!v#7#_<9nB@=a6h>Ir`1~Rg`CdkSAy6BrIa~?x~+B{ox3^`;C>!&By zM^ZQ9$iKHve8;fAS}N#<;w~Td2H)L?>dMz>>Bl@)%EQ#36o49k_Xu5}vF{4X4xdVy z&i$8@*cX?r(S1@shkoo3blgfIN0?Hu7+RD=uenBf;Z+q6A$mqYH{~(7ya)|bThToBH^c^bBEOO|((K@GrG2YD zQy?7|>C;Q=8wD;ZIw~9+dHl`1R`hI9sJ#r&ywk)DpYR?uR z{QMi0xA!KrOoJ3q=r|JX@Waj9HOlO+Gdx-TEi-^f+*EaHsK&^LL+uSGUJz=+dE*Zk z^>2rgB~pd06=oj7Kzgm6{&`tEG9jZP22wxAQ37j7w|u3W-mA08fM`ag&H zUAV+fY4d$!M}MbXXun&4h7L)nm0S;(TyY4!AJ_JC+BK60eCAJ%@riLb(5Qi0O!9)x z1Ia#PUU*b~bmiY6xoCw@#mZ(0Y*5EbCRJwqO`)fr-u+eGKWIi?NIJW~vk&B++>;_0 zK+490>c%frdV_C_DsN{fR~z_RI_3k@PNbxvLn+DK04*eeZdp%E@*}Zgv*R4nc#z7% z0aID`GMn+&=DDSbDF5HTd{hx5-c+U0b{2Pw+9>KXqr~_{>strGdL23~z){H7}S=8J;aV1B;$%GQg1w z?hGKieY$d8Q5x32$xG@vn(^W5|dQN?tT_>9C zT9j%DU1}tD9K1$9a&^wJ)2S>pEL6?X4^?uSlB#y+s=}XVEAaWi_z_m4(kl8au-?@o za1#w=nX?sm+$@eKyBA53#~K3k20#Fog^SdK<1igpo91i@vW;L@E0=t zN(B!tm<51*-Jaw(SGBbw$gVkuGIsWbYw56*Pn4IdK;$b1TNQjl7IL=J2;rK_K?Yvc zJs)L+ATUMFSoaUc7M_BCrQF&f*)TgC(DeMs$;t-jS5aD0<`f#|Zn(g6LyGs;BKzdV zjyK^~(#dTNTji*kR3uYx0bMYG>m8c27Fg!${pW~bk~eSeh?JyC&Fu;VN=qVc*O~zE z3DRNb@slS2e2v3KJ*&J&3A}$}Ohw$;W1O=&k#PRAniCEG;yerMblpEINcjmA7$)+7 zi#Ps8ywKH3aQ|#iR2AUC1$aiwD~5ARzLC!}B+A0b!M;FDI3^~bGbnD_Fr~Chq7k&tx?0cX{TAgw{P}6LT6AEpsF3NPCG{ONfPr~LSIJdS! zz}5JNAXKs@7XnZj9!|~Nbs)fol4kN8J?q<1<9LCaiY+@=u5q7L28x8kAe!$MqlFr5 z!nDAl0zG{f#GCCyRoZN2exUt27-Y2|3sB0YP`WrcCOSW6M+ZKyeI?9AxZ4ZF)C6<3 zwcql*{KXeO4Nd7A;7UQV;&Q+33uu3+A%TKfcFS;#nOVT4l0GjX8kXi>sLtz_n-wO` znD7{nW@O#$e>BJ_8vKKS-n7pft*>lYE7Qxy$e;wLQ{5i6AW12O`4=e4#KLQ$=Am=T zfV-Y_-cQBtmTgkslOpOInL`ADnu&$LBf8S;t#xY6p%-Cr$dvPAwoqj+l9laxM~IE7 zX?6YYr?U5;VQ{`Y zQ(VR^&7XpzzwNF9M=N%w+or0T7T&kDA)s$$Tr6q%tzkvs(wE+FtNtIL*YbVQA10Di8f zNLxtb3JUOTEm5+Hi{9kiAfycB1K;d?g&l#ketH7yo8Q!MWoy#esCHU2xx>jVw8_se zuBL~MRc|KTe{T6Oq+#wsn4nvlO)qUzCb8Yi;S%4DvmE6(_w0Pjt;DjWkKp|VVuIjo zBO%f`l<2esf%dE>7O0rCA&k_Oa-G=Ev~sn`vgzN8{dutCzD;zNyVyYYT~5Mnv?5Up zC0hiP@S7b7$RM&pHh8F26@DQBEYiO_2T&)Y9o&@%f3a#x|wDbaG+#i%`N0)#K=7clBE`u;Me`AKLs()(oZ^J zawcrLD@pm$EUi^_XJE;{HD6{({)Py_H8X9En&+wXf!KRO1Q5sP$3nwcz2M*BIo%tn z=j}yqk)+pAc`>DLay%6xRgS9R=He@ZU0{Dr*$ai_UIwO=YT6p-#9Sz)gl z^_}(ByA`!0t10IpP`S#0oLLyUv|hDGRdC}i5rFwL8B$1yoV_5L*6kR(O|s{mFMs-$H%$ zWk`?)9kg28=zVMj0YL?#rq*lnxI2BgG)}{r()To*Txu(uO{!n1I0YjMR$VQWP}X2a zCg4%P$##%V^r$hb7=Nd%;Vzq~w)t=Y-1lbNo_(*A8Kcmu%4hg}R<;<4&?T;ehy4a3n z+wMhT`!mAU6_x$=yid=@HW&y2r8)5k48Ee%(g>eVodWs}i?d^vm-Xu#8aysCJz0hG zH(8H-Fl6qDq5<^BNDbxob3>xW!b>wL z`0XaLr}?p090I`g8qznMLet8-k1u84xzt_!dO*l0R)_6*@mE%abzyk6O|A%>bzX(s zkZyiyUTy@L^u8`!2>*hRSjGJPMR3`SPy8J&HhbQ+w;WFELR~vLRfa!~tJ+X~?oPzD zwQZHPc1jbP^~uE4&?$!KeEvsGi6<9ILZ0NF#<7Kf= z6goa*u`Ydm`S&W**|HO7-or2;xIR+uIo9J+So_g1=fv=T`cIDruS?774A|lqZqHnK zW+H~99TSFFIN`I_BvJFaM7*i}@geq|kuZN;_oaoun(<;11cybu4<{Go^5xmtKZlU! zCseI4{|;a2k6rqKnxj-GB8%_OKlXnn><&yy!u5T*UBCx0#KI0R7aAOhCeoVFYjhxZ z7tYdUc|pEB-S(y0Wc>i7u4Kx}PX;`H5_(r9Dq6j9jM=WGuv`|N^y@@r<&eN$kO$ti3$ zE%&j#7Fn*6E>hTB_yH==fjIKOMMjA8@gzr&D_=tz5<%PSgh_Yild9c}QeLA2aeX$K z;mdOn3mjT2KHokeFhp~fn0?l#YKT$+RJ!H}4;Nc~&H|agm)e>79X=41mCwmao-WnF z5q)qFv$JCqdA^VYgwFV$>tE?&NQKK<&?es}n|v)>ZMnG=t|n5*0O9q|X5ZotuTD#p zO)?Y&ajm$&18zOPoG^Nm@*5da()^9QHM+$G0dhL?)$sfl&H^YqsdqBYx};>T+H7rw zE524>uGY_^eJcf{p-Y9?$*2Sdk}`B$YWxCPqy64mL6W=1oigz5&CfK|ZzuI)>`Of7 z%3q3dF9+d3)VaHp&?(G5rnSvaxBREYy`Mx;p8V;sR$@I|W|g#!2+tV%NjvSPsPYC6 zr}7OjKesre6FXu81PP||Be$-JSjeQvuw;I{xK2n78&yy7Id{VLmEBrh1WKfYXqTyp zee=kH)DPDGX3^K5+1_W-i1I(l;UU)nIfQPdHmJKd1j%KLXJIo0&sePK^BOQ0=5-?7 z8_y(qB#Nczd4e2%XL5T0xzdYBu_Zj7aVxtiI^WCcVe`XU^q+lB|eVxk&Fnzu^Xczv0Rh3zvjl?Et%q zgr*dbJ~Ip=$VUUkWbIqljK8;3k+W?>Wc*46Fe!>SG)LnpoYv!`w*m6w%N+=^N;q)t z;D`EQ#qX?QQ&U_-SgT&@2rtiLe<2Om+HdAL-EvOzDhS;kvF;jrkhhusxx5eV8&HPg z)4=FGP@3iyrIt!No;bwc-@8jYe*=rs^-$o`H<0)35lq6+zvR>M%F5djM8>C^!(jiH zrn{~2F?E4bjsUtoN-=QSy|Hq(M-lKSFFP+?A`IMZ0bpu&PCA1T4@96a`Nx;Ar1Vb zkz8KA=i%p=lXK%&#lD%zhnBeit2qAJ@FM#Qy1am>iek4D5~sN=pWI znV>RvjNQIPhBlMlo4OC_UJfMt+C&;HV zr_#at?N4cnz3-A~PiQuCFDH8vOZR(krNhW%%hJGp^RTsbl)cV3IEtZw7M-DSdB;z- zrH}mI3uxsW*C+(rAmTvbXMq*@t2}!`;bX-+wjMpxehVI3)B|#TQcsSpRCR>wLg}FR{*3|hZ>X-kQBot91 zhdzK_1O3JKuw#o7sx0>0Q!V$(%N@RLmc5kf$zi^!Davc@T>1#(nv?n$Lr)?4f5NE* z2&aFTyjtDoonY1?mCT4_V{e3fndn}o>h>T&NrNNkc_sxk3h#?0px{t9$=;kBlHZN> zF2{)n2;Z~S7Czqx_Rn1}UkqJ`XuNLcbUcJ@gtRgEY3L%7aHR|4>!#r*J>|Xnvv5*w z`zvzxc}bd49Z~uqNiAwmLTPv(CKT-yuZO1rTRCf*KrE#e9s3Gf78Ah#KA!}%f9rMY z-9}DMyf>M*MiNml3fUsvZCa5(rP9^~s3^zMqE#SkifGMxc&d7{z#CvR6~12kV`_=s zD|yQCaa+jNmETu?$dwi@ud&|APB~@HuU2?3Nl7%tOf$tT0ae1zX_u8g{JOx5J*bN{ z5zJ@3fC|FN)ui@ufvfHGEUH7)4VhmkYeUo>tQDXs^74KAz{r{u2(byMZ2I%0BQFl} zW6c+To9TA>3u{;Cep_8N1c_;B;k;`uL^^%$&j1C;K#j#9yYGYZs&gMo3il_>EI_p~ z{)A~RK~2QZ1o02h_!|Rb%DO1;z1gF&%}3U$2>EEa(|gsF=}x4|o?0|LSaJcC*QIOH zm9AK{C@=I_zbg~Tp4Hv`o1Rm=!TIJ!Q@d9EtjIEII<(bnLvNo!d0wy5vZlSDLt!drLBTov4m!NwbeWFXePx>H! z1oNvQ#7kmDR6v(6p}+FA`E_nAv?}$Jyi8`yiL&g`sED68y<)KHiyi%EFGoeW1^A>b z-=b4O&0+pBy&)wK2d52LNfMVX35JwHfAP=Min)O19CiST+5#e+B{937Fcmh%ImkAiQ zExuZG5b|%Rxyt?>=>^6~%V1dlXwiU1+{#L-xal^j29F=0O*FjG-qntx9G^@;Gw>g2 zBF{2>Ih1NJ>AT6xz9Mp4md7)!b!aa;)46gHYaqLovIFmJ;7uheNCvE6KpUBjjD-Br zu!(lC`hKZC%j9i@f&()Rv4Od+s$a|g>Nnoj%5>qEi%xIJ8I4e-cA9$paRt&XTwI6*)Q~wQqsif z9pvLMHIWcnGnT?HJTl&xgsBEf*fxN;-blg`4HzKLIrJl~m|VOW`hal;b0y?hI>?&} zn^Y^%)qL6s-goZTxO%b4YGiZttE)z3tFE3r3#Ka+V{bTURZXx$%edqEeRRy7h^ss} zDC$q_N-=tx|AM5WeO7XH#I>&+G^7qeaoD_YFIG*u_7h6`tBk(v?IDs*iO+JBHLLJG z);YULICZ9I>&cC#4y;{o(A}a0!8{$vqYuv`41X}%8IVBmGAwdP%!E4n8C3!l5@ksM_{`U6hk+HV%3u-9?RfK zDYp(%g^H@rLsGnZ$3Gpsq4FNKlF%53>ij1PU6X4+`xPp zUBqk`wI!Rlqfxm0Gpr}hsY8m)t$Al@%g|6h-B!{0DE&65seg{%&%_FmzzPgfft4r_ z$xTu{;9bkQMd$tBf*k|>kC@P6N>!dbmZ3~=(}UGb$=?g=h2_QSzwNDiJS7 zl>OdcS}RaXrROwfOQO}l>>OnBU$X?PD247o56jDLKhv>Ebfy(2c}H4pUMV{zhSw}AV2gXgDeX?bqi zRx$<=!xNe`=XaO^_#522za`$W+v#!8(EGZMCj3m0c14d@Cv7`6qlKiE=`|m4B5%R}P**cfWX6>pxaXQ8 zF$Fga#^Mn_)n*ijw)x8f5X3YynRBpvK_C?v*g~zXShC{ngIK!cbgnUB4$tS^6t9>! zXo5=qLR!TToylEAbWpA^7h&Zgss08V4b+maslp`r$HN($M9^kdcILMa^04Go!aM}m zuP>Qf$Iw?-Pl(9EG+0;@9ynq`wH2$?3~n0bShsiDT^|*PoW~XYQS|sQZd#}bN^rdM zkb@y?bwEsar1SWq_|B@PKGXtcow-L^g{iKyd!WI*_MvVbCrCvnh=1r{wb15Km02xd zO|GPGoq3j{$}Hb06jbAj>??*S##(eP z@UMDeEn|W+G*r%lQGkT%VzGFaZ+Q{Ys)Zk5c-;n3dj7aQc?YbW`i=OPs5xm?HhpV2 z+kt-3nqZ9|5hI)fK+T?sUzN@zhu@G6h97Ewu;Lq(eUoK<5>>!+$w)d{`c14LFON@ba+(FQz`t7z|W{B`&-AS z|B)($4zBfw)Mw?w1&GOwoJbiVK#6gVGBM%)*~0oyj0UiHWlja4&63pbCtJAHyg9YY zwSmedeq5GSQToAqfcOTq$;XYW0zM2ab8M)k2UzRo&UIGJ>P(f*le0FDK zqaS$UK@$7;2QtUr$p~PEz9ty?9rZetRCMax6@-sM#As32Tu2xI-f0J{z0|ZSF1Bm> zbosaYvGL^h;$_nR)&fkfe32Q7I~+@d2%I(7K(VW@rRb@p2VHc7SIj*5YP!ZrbJj-W zdkA%zQq^?g2>%@;n6U*EaK*`Vw0A`ApN@Fjm4jBkFnbiGd9=n>7n?xCUt~z8ic!9AW?n=i-h&;v?j)JdgZdzVR=Xc zi{Hu;8Ar>!-#)OYfXU&}waWaXCy?gT)sWmPv_DYm;=+Jpcm+AGJ5F2A#Xp&nFau#A z@giqUF4=HUNA~-mZnMX=UTcnb=XhA)9680vMC;b9MfR^Wo7u$rZ4M8k@>f(0K#h_q zx2`z)vFsZUk{t*>@1D~I{{8mi01HSNfrW z^uD1ZBc0IEUuq+PakDx6m?}=%W4uJ$FD_on>B5IYQAbwpXr|O$ahKg}P(@rm?yVPC zG7-D}5L(*$h)0A5kmKvOFNJVoa&GQWS`RTJBRw8#O~Se_mKV zqw&#gj3}_sMrt1y%LC`#DnR+{Wjbc!7JXac2&eUw-O97%d`(*b$e41g^!;qK+p##$d(nCBY`kOqzoH%Z3&{iYY%^!a*opDql(#V z|A>mN93?v<@%c3Qrpj!E-C0JM;&hTl2}gZ(RDHtHVAwf6bIAP0M7M?!07D)Dk2{Or zPb5B1I3p&`^S_s#19}buK%Kxb$T0LyIi`&iE6`f@Rg65Z2Yw)9?yuio2@(nGa3##R zn;{4NRZ^4*eu%as6Du8ql)Yv1fU(O1DYbc_TdR)twd3ppmJiVx!EP{>R~<>T1uyA! zTrPPI$lOU&m7LlE)9#wvEteyR)V5^9%}?yZBBMIXtb@t~Cb?Cf{zM`|Vnbn>^Y^Ggp+1*sIrPB;mQHHFA5vtXe<7O^# z_J>b*c!W;;(1fjJ@_CM+7+9|9e)GuDG=F1##L5{0yZL<=XivOi?(F&pli@$))Sj*A z3hBcO8hIm|y)SLp@759dSB7{8uOIaCLP+5cM-*f0Zwzht&5n{=C`L>iMXeq9zZhy* zDlmDod!oCN(W^-@8OU6uslFe8W(Z0R8<3q6P=g7amnSA&U`_$@bd&8v+J|F|CqBO0 zj?^EUo$0Jr}aaR7jBRZMj!0AXyB&zUwS%8Pv4L(XvH5dEHNcgJEq!4IILG zs0=_{yrP_RXZ~wcrdkAlch5xBQ?*jX#4ThE8%w_pWRlr~N@h*LDsme>V=${%eDAL} zH;$}_Id)Jt0E;(m6WH@Fl-g@*AO}yr$rcaR`LHT9eC@R zJCdWF^n1cb;r+AQkS}LzZIK)F+KfE9661UF|Ia(*_Fnx|iyi!jlRX;i=9byVNfu_1=tkt1J`g%HN^?%OMu>2-t!gpx=Q}_=$d2$p4?GEhYV!A>i{L zj0Jf^i?|EEqM9q_Eg3Kf0|p-XeHl!AWHCNHXvc=XR<~?t*xubtH6^C=zSxOAH6Hea zCnOnjxG5xRMGcNdCqP`8iKUw&6Z-cjN6)Rgsf+E_gYbuPk(kd_W zXVAXu6$nlP-GPd`Z|E9+z-5oEFc3a*Hkg&~J^m~OW=$P`Vz2#e9EtL2REN)$80 zNeiGp{XZ;mDGlX=vi1+V)+SnW>|ic^lvn-Hoi%vGVG_>`z=c6I8z7PB)QZt zL|4fg?a>i{{C43t_U8W*Pw7eTDEAMr-SKd^BSEv<3gI!`LO}W6)t+M>Jq!RY_@VY@ zSi)0+Eu8zF;SM(6*w3>YRfz!y)UpwJB$*)5QChlNEgMS&r;& z7x3bMIX z%;e(I>c26=|K^Vgke#BrFgFR?+)dVEG$D;r2JLYsO^1ozeg;=Rt64_>u_Kexqy^#tutMs@J@-pJ}p5qwPBB}qXX;3p6s2icZ+3{?CO|4DSllAxM`Ce&DSNM^0J;u9u zyOX)nbW=jGU?`%|Bg|GIgVaImQP-0ke&8KL8|LTLsJoRY>*4Rs2+&j`8C|6}cFVe_ zb6PE_5e&!KwgbMKVvwKciNp>Pc?ny-cm$GR72*s563EDA_*5tY5SCh(l32hUKt}u+ zP)i3rhH^zrEF%OyelW*t6WzOyWb6`~GRP7h&i*FY59%lSkZ>qh$9y|Am4`CZ{3e6a zwOEE$t`l2FR=?2vqk<*PBSp>V*_*$eVy~==g6s*4?)k3ci4ico%#GvyzC41-Y9xW5 zYuy3eBmGL?Yg9KFU8tK%`+TRDii8JiJ>z3l#ZYjXaezNAPAA43haWOBNj>_{J1?;5 zA=Jnu8av0*&xxwq@Li_4WR^mATAEa+2A{cih8=S(SD+f+blT`*i&xJvq5E&&e@*4X zt(|tD@x8)+_sZSVR!3}Qk^Va9B8SDf+s$g@{2a1zrAPm#LYV@Wi|R?N9JHj{dW2YE z)DYO(3?kTiNST%P<+*B_Y^A*mn2kIyaQCfzaT^C`_<*?XjR*SNCJVs^ zeJ<2cFYZfI?}G zz{8EiA0iQ3S07DRa47F_p}J3wS{M;k?QdPKdOW#Z&dhS9solWd&OgTKw9vja)B1Sd z%#LWgwTAs%8v-yIjI*izhy{^ZZv06JZhS)D%Apxc==vaYw3$lqn(;Q}n<{6&%Xj6T%Nvj-09FIUe?-aw<&Ag~s>J4gFS&4e=k|izlzu^Afq?QC zx=&N0pj5hny1sa;`9x{9%wrjU%C^<}oZgP7vYP;W?wVNv3k^yWo$U#=)ckUPZs-+Al)e7Z~KJo-5cuhXv zTYF4}@yj?@f-T|PI^5!7W-HQJ@L<)Y;tovNb#!_SrV^_SI^B?d`Hqmj&8su6iad;En|cS?77 zLcv+5P$=!RuU~^=;ZNy@l5@%!Gc2~bK{k*&)K;xp4_c#T@sgbGnIge~Y%c_IhP&`l zP*N*K-S|QQG-lI}EZz-PM2+D{^j$T;FLgKEpTqdbE+P2JAgg8ic8uBeLI?{8!ZEvj z-K5?)QisYas{dqK*z`~Icy5JIkPef^0B!%#r%`Y}8k&V{$QYr03-FBTHe}u@)%9rs2A^)fYRT({pbE-W} zqmyCa$h@_F2IroMQ{ddahtfQK*X{)-00Mp$)c_O}Q8l|K9H$Fv5I3jd7lH*jxqrW* zpi{ttGE=6kprB#}kIm-v!|QuY*RQziR@L zM1IEWM^b*%3s27D0N;Y_@sMnBg!80U2V6_NJ$J+dU(gNIMkoF{EquJrsJ5b0ksy_z zd2sPXJ0#nq!EeR0U%?6easp=&ds4oe|!{Z~ZK+h7p+Kc&h=d1rO3e){k)?j}{leSM1<)D9~E;73P zGN-e&IJR3poB6n74XT6q8tAT*p$(V!pF~GJo4K%xhjpnc&a#}31QjLR0xP24?vJ6( z^rC{zS2M`@wdVDU=U# z!J&$GE-C2<*6}Giz_Bl>o+?M0iu2{q1Cy~nZC@{M5C+1EaHvx|Al5+jqSo8&8I?{K zWRS)$`fZm}wS3)ga`Nu5z?Q0wf-5~JT%GZ@e`VMFIxeCow4=FK_43vmNVJnEAyDR4 z6t8+DCYM1CqI-*Lq3puL!!v5uQ8qM;k3sbH$u>z;QAa4Vyat!wyT-6Xmm$GfdE9^`HYRlCw{Nv9>`ow%nxS)w*wbtP3# z@G0ZPcYJ5Cbqh0ss@~|63s%1LR7$kr&Oe}HvRB& zHYGak#%dGKxmVTR%;mbFUxQ{#WY!wgV|pA%w<9+51{Too!s87`X(>mX((&~RCEyQd z(h6|4tRp~v`mFu8G3dcD4FUc=e8(pxrocE`O-dhM&2Q28H+oT1Z(S!zQ{#ZJ_Ljt5 ziOx>{@L*h_C@E-^nY2L!aY;=e2V3(_Cs@XJr#_?37jr10H#g0d<@e!VV~>Jut1T1K zK$utWrl6b2Aoma{x)N`o+`Yx2cM({g)YlE!PN-c^s+6f9SU7)aAUMD^jo#yfVz{={3kq?lmk6LJFBY?$2+mv`u0Qm zac|aF44a4>_s0l#rO2GORKx6UN|gHepmvjAihpEfWYc z`T)#ji1wOFtzLaiDEvYrVev7dl9rM-DIrfZVT!<#Z%s|SJ%Wc*lk}>aZJrLFep91? za)(o$te!ugeDa>Wx)tl%Vm-365^#dR69BMu6Lq{n*zmJu@9Nc#@QoMK+%cGMsY+=o zA80x6Yf>p%83IF+KZt&2kwHC-B;IdXswa4OzUMoJAc@P_U*0oa`uVj@yWYj8bTE}Q zNuBE~m=tYP`i2G_rXv@CDae&|e5ozzwrV9OF#0roJ;R)e=f6ah_zXh)Gexq@LD#Dy z$xG+<0GThAOwsDJqJM7s-99+CMUx~liU*-Bw*5J}YY!%H@XG~ea)=lJUTBw853N(F zUgw2&m)R<$%@uV}PVXOBpQ>KkUv{jtZej)?{ z%j!LJ1N@JVH#R33mS3gaAswg5C=5Watag#sC!Bn@bbV|RhEq9LeD;C5rMCCbUsxKD z6r{?aaUI~(5Z6k&$GEpP+&j~& zn5%GXw<~esJqqsUPt=QYVKW_GW3?kwI&H!lUAPsbDae1oWJbb1SBV&1-w9FT59VPi zTcS@cV)Snw!^wA5 z@2m8ojtb#=Z@a$315_Zs{t`%;Y;de8Q9N+w4`?w|O1*hiRG&yv#CtpYV1Ho$p}qC> z*fyF2Nj}r`V=6fIgxJy$tTX`NCM6^gXD#tYK1v_Vau;B031(?v)`QwWb}CjG*Zjze zkqLhEYXd1#mOR0DxRcMAW@-&JM}iYeBh;&(6MT;b zd$(Y_4uqLhS z03GJRFtn9+#e%77!yI9dIPt0{H76;0c>@zn zQi&rgTI}F@IFnBm%h!lArGj3DNeq@eb+{}4>382~|9s=W*y?!J4~9kW{jAA>?~YlI zev!Do+aR2}9YCNqoG?Ddb?ZfznWU=-43oUUs!55emBfYIgq^Bna zXfV8JvzpU6_^wsV-jf8SB@SXQ4P9@j(ZnzAR+%-Q8S>yvpKI{}?=8e|h-%f|x376!+Z@K~cy(_Pu~=wDQc21Jm~NO8wtf+chIF3Lr*FokQN z2g9At^bQO)gKvNpW%DWJ=n3-`v#I9Wjj?MVPY?lt(^ir+!RXEgN8iYyjUf{T*gPJA z_FIMJiYa#)q1vSJe@+svJMMJF>EORt{W5s6tT6I59(`)P<}5Y-8=PjmciCT7#S^+H zc-~)dAv;_AXcTY}!)l97U~qBvo=7ev!w+w{#K4wqg?+yg8zrXpXTK}C41N&w+C;mi z@+yqpzE#eSINj?n=^;;Amq$b+2iN7ssj zWE0aLRVrc8oM$=2{fN?^KQ0jb7W6X#CjhjDv3ac4Jrm2`uY}6SbOGK{#lE2^C2My7 zjr{jx(vtYJc!KZzP>TYwg3wCodbMPuBGbHcqbBymYGUv07~{!(gSvT3jm{nO3y>TH zj)~@KS2;cg3?)Z9>sa@PS7O0HV!$7DDnzNQCs^ZAmwC;KhGX*gc1dex7)62;DJMS^QNS}I;tlpDtF89>Mh{vFe`tWPmmc1V2M&)%xvBy4s1`$2!&8;))?Q3n+z zgd+0dRfNefPJbYzXQ1dR8`TFho^p{bqLc+@0Hn}+H3hApeHT2I|T$Kg`HQ81%SXbrsMbOlJq6s^_)UbO{!E}SxVn9Tr+ zh}3Y$He@b#fE7)5_@b?ikWzuIFm_&)!auZ;@)!O;#H|xg-!U~}TmT=5+kJcGj-roW z`~w=^X~3RMPx&V7o&ofyXYM(_%yFF-4+?k0*0y0T!*$46wifYi^(mbG6tv0jb0wWg z(0p>vil$J(qVnV}%L38=^1PyTO7Nnx=NJW;@`JWaGx>M0G3WM;id^P>=87J4#o}&= zaKpG#$nB$FIi!|nEkVhoJ8C-JfzPUseWRj*$^xV}M}EGGwY_QnA>CWV0gP8L0v!li zK!Unm?(K_$-sqAjtHvZi4?fjPiv1hl2w4-TKA5+dEg?b%`!#^HR}nSQbjK4DjDv2l z4fng9ljQr!_(fPKnU{9?%C(gsV8+h9<+=l&kJ}%grqU*4sF0x=92O_3huTdziH(5I z!1h4Jy*~4Uf}jiRdb&z3#?b&4kkIvw>!CJyk!D+JZ*Q;k=LWjZR6DZ&i)NRF*eoyn zUs8KPhe^G#i6n!?TTlTKLLOf{(!gxZfLr@au_ql~`PtwDm<_!)wr*rnviNUDH>fj~wB9 z6Sg5Rv=^+hdXS>qi!BB|e5Z$CK3BhxkmTVM(p}WNUV*JYqtvg{ppkmKg<2LmN~5(m zkM>hc`*YWxaAF=DWJM5@<+x26ZH+?_bKv>48I@x!cP zlzyV?Uu-9L`+i;-aGalNv`%|u{Diwq+C1o(kg*I;$Z(8sM5|AtscyA8F><-&QM-UL zXj&eK#RIlNK_%&1AeNzr)Z4xsAf6;5_$`3B`N^c4m$ROW6Jovt7<9KB6S_I?CFKwm z>F&8rl?m@Z6M-Bndo9d3-j0`SRamqA$Q!O+FGYrY4^|83|R?*XJDu?X{RuX|)6QHD6}TC$%<~JieS>_M&Tgt|ze&dvRIlji41iyMiUS z=m@LO+7K$}@*e`3S~>mJilc9LD&!fmr(41|=P!Q-s!H{P{tFO=!`21NPh9Vc4DRyh zaNDn&b1s&@n(;yYf)17rA+?*SR1vZ$IGrTO$XR{g?5*ecDb$=Km6*q9=PYK_DzyPM5>M-28(%1j8EC*mr~VeIP}PMi+pUD{mW{H>`n{}T zD3)0K(Fhjz@a;%Je7Z44kOT);@a?Eyorphl%U3l*p8wa5|IaJu=3BV_NLgqS2*K>n zh+3;U5&%+O@WcX$sHRYF{DxbP5lc;jy7 z-US{uxMi5a+)@;gMa(GEJ3}AnN4a+T&-`lPa*?+TJ&JxfEk>?Kgqm5r0Yw&*-`(LF*%nMIOsQM+T zb$Y03%4ZQhKm>W~DI0b$Q|IjlH#Q4-uY}4>V{Wo*IFIh=28*q8n^Y9y`jRKg>?eG8*i0TlM?r};GWG z+<+f>U0a_2N%f|+64`kb6(a9usCQ1V#KB=*as)D)mKZE=g7aLY+S zf@(T)NC?^J`rDmx=C`TbbPr$bPESdc;?i`%&DAfqR?I^5TYo~g)VFIqIiXvi5>aU@LYg9FGt5LGY!dxNmkMPBX! zKO24NKhVo;7xL7=5$chY{ZR9cM7=`qy%tAj5wIc%xxdJEIlX{dd4gl`cCYObPB zefWK*7rE7c3aj8QY|dTOe#b+3k}dDptbW;d-usGg*;`dJ?|9>ym=X-@j*R&ffx^br z3I?5r1;ibxy489iF>w9Z^cQ98P{V-Ge8-iV2HR{KTVl4^Xz#taykf|KrOPq7p%d2n z_51|46h)@f>;`v85TFoJkEuH_2%Fv01}TS*q3n~s#=!Rl^wMXye=@(^x#$k$L6$VM z8cL&OBg36}60+#6KGfiG&|;x=F??N+_P)j5D$3LJ;j?`Ck==Ms^vtMRKAyj+UVEC3 zLiojy2IV)E_>y*JDnN1bFz?V&97WPgC^2mR5kv1`)cbz?mEOC#3$@EeN3>=n+)U}9 zB2p=|l9&kg`I%(^Roe@~znEniU)~*f;53#1o!8*kVt$^Eb!M zeo6NDLi5a8&+YfuO`OaIo$^i4Ro zE#sCh7LB;cJI%54+xA<;| zWbF2%@93UE2KQJiURMPxtNSqMu4AvhGj7B&Gp>-Jw#*9jin`8;M*KXBaKb@gf)V^O zk)Y~Xm6p%`-a+eWWH2U5|nlbO7{(P*l0H%jKUPD)or%HR8dix0iEE$6rUgl zkLH7ORqWkCX1iH7eBVNLGhEi!_=m!Daw_=QZoF2j@h;zT-Gk!NyGGY3C@1$7T|mkQ zkFlgH2xTsJXzZTZ>GHYn)@!jaIW$OOY`V6(FRyz&PLOduu!zz&iOW^p=7rux$xTRQA~(y@a{Ky52ZSVgW!4IEqHkIbIz)JCJr~RU7k{;&f=&tsza{$lpVV#Uf0Y(Ve}t$$06Yy>V=AwuQujs zu-^y`drwID%v$Pg9wh|^q}ra|el!HaBtHJl(O}@`YU$N|LpkmvBWwJtNFuiSKh%airo57C=B1CpOazO4>&Gt1pcgd_a9d19(WM>zKzBQdbws!8;ww6utTxR{@CK&pC|Qj9I6pLE~ILfoi#fj*ZDoF25fMe*Ou8`%-5z2wz+rvGH#7@`rKVKq z(o%z^f7(MWDV|2-%6jfrt9LlhxeCQ4EHdxynHhhs=B!h6=#?Yu#EPiJz^#BIX)H#Df^-Hrnq* z@1wy9Z#D3o+!j`QTl=k>?ykp*`V1RF3Oym-l*;wIS4UI2clu7L+PVZC(YxD2Kv16x z%&9G)t);goiXCOKRWN%OWu_(!$+JMjn?p&}zB>;F0ka#%lLNR_VIGxx5v#*B|0b~A z(RQdWpj9IKGd%<~fad2G9m%*$F9*QN%BmNMb3I@*iE{6}aT-eiI1u@T+3)@P^pg#U z{eqS-@H^!w8p*YZZE$`vj=5MPdNKgw>kA4v-qYze4OnHEN(#ZiIg*bE@H;*fS__$) z*W?PdU-Yrg))q^xOHL8W!%;A=oU?73UTU`pA2TLsym7+l{X@rq$Ng7O?WQm))!KR? zg%uN?+6yPa1Tz>v{sZc#)LQ)n9|^_AG6@f>VHNuF&*xwhz72QsI-ujB2eWJ`_$2S^ zp=MMBGuj${?C8KroWPpO2dL_X=%Zh&f}t9to8W&3#p+3Dk>}Mjr*bP zHal_u#k2x?4_t&(&5MhRjc#@aTi)TbK~ys@2~YB;cz=T-#b5^L3qYTY#T(y z4h&%250+U8>e2eTu2~WdukOWeMSH|4rTxkQc?=Pj;zjFZdn(EsF-ey+S0mQ45kepB zzp}$)hp(-)wcO_vaA6(TmQymgR)>nJ_2w{Leb^GnBPL=_vjYudtx}MevG{02e?dts z>mmL2fCd8;o6~-JzseyP4eo1GsI6srwa_>!QAP>%tq1k2zn`G zQ@1NB!9Pb1_VmZ}BTekta~{R;_pJ(?2#7uPFbVIt_^^-{h>CD9gQu`8n(6ZP2N zJjeMoiqAMq(w1ahJeL)!>;LEd$w%Vmy{x)t=PkbIPsO~kTUEMTVWhB~H<*m%U|6T8GpXOV3U^c|IvH?oqd zxqw5;s?C9HI*EL)=mTW3ew27@v9g*e-wqZ zlMvKo{Rb4W3`RBH(gS>@{nu^^I-w{zHTAW#8+7E*$jAunioz}oZ|6IFW^qB4eYY{g zj{cRyT-EIZ!{hU`z(u4|GyiBmbAOc1;v=Y&+Hry7?^H(Ad^1C*4NjZfjEcJX=J&GZ&aC;&Kz z=&w(&P)$XlI`^)2Lb-WqxzqI&+vTf6xh=0DaLnTDByw6@nvtrR7cFo)=so^m-Jup+a#dNg(Zqb*_ zqGQerQFUG}$6^se4n^w1N25N7v#AnnuT~mPCQId^2{;s_c1DFz<0Gah>@F~nobHp| zjg)}xr`lS~)fUYT@C~a1LFCpt7T*|QF_bcS+pswG+TMedlwTLPI97=ToXGK4Td_IL ze>Ho=PjAMqpBFOnUth)d)(c21F-6*MLnRP!^rv}n-K{6LtGG?R$HE-g5ww1%nR>aH zB>EKRXD&MGvVwE$z$5|R3@oHVI|ta}qooQU&|#jFnS^|H-3;%4z@6aj20|J<9=_)Y zp$Ulu3|$ffmFo(#-Lfk@cR=!we!(w~q37K#lf=-E#ZpAt_z!B=bEZi{*-HMPzaRKa z9{Q=4@6meZ&kP?ToilfkV+xf|AEM_#h>MDvf%oYrkv{E&k6kmO=&YAJrn;KBR~8$a zFZq|PFMfcDRK)5i!8Akyan*h4Rpoi7y&%Zp{3E!Kpk~Et0v6+4=iNp-Jbdf%XgMkH`~r06Yb- z=0alh{C$x5N1ZeQa+D zj3#z^vW=xnq3YFl-@CTyXF5;0^W~|DFp|8UaE(#CQV9u)I@R{PbQ-+6ESVZ>IPF}U z?S41UPPJK*9wOxC0Se+vSPOknmu&arvxiT`@g}RozB|Lr_*6A7BW2q#0NHXKjWJUP>8zI=D;O5DT?vMQZyR88N-v2iM($Le5YCAeSEOoinNW z@$51I`X+wqZ$UL)okymi7+$K*p1Dco{&wc6-ldmB04o7s(Heo}=;nNes6HK_RM`p? zwZ=Iz4nDI}8^xU&e@!vZmznBqG56PaZHil~kefp;MR$)RkvyQ|)AxkHY8%@Qf=D_` z?&M`fv(mIo0NBJ+f13av!=@~F|FP0anm_+ys*}xE6{CpB7O?eZ?Pq|yy0jcnEOw(Z zmy80J;kCOr#!;utfL>F2F`kia6B8pXCV&JV9`{c+Rqs7YlW344Cz=p7xpuAq7WW*ruQNFq?g{QO-!(Et z`vHI4&w}2Pq?qA@A)A|6y01dXhccAcHmBq1+dqf{e!_TZZg8oQ89s4od<{u`d4%Zs z0uPJHn)%x)y50%NfYPMskmV5PO&gr3{3sfa@bPk&d7w9D_07s6NP6M;CD|vEzq-8F zs{nREmJ$pFsHxqD9q9rFZSuG8%8oCwYJ5`~))fFZE6kWSqsvq=D^j%HSKh;m9biJ( zcw7cjW2JoY>38%&$Ii9hba4jxe_zb*2N9#`iLZqxK=foXjE#`TXkq|I_raRV1On)L zmW0mSO&*>bBL1wZ9wcNF^$`Y84q zJb#LSNkxF!G|j+njG6Y-kj9!cAb4=L!O&;(Zu50-wRZ(=6K{T4L4ztSGIi}s^qStq ztN=oV?I=MA;y5==EY2}~_E(K?4ADw#{{qV;8UF;Y%G&YKFAN&}S(gxa+SQwZ4VK17 z?x1bLK31asoFtS=B@l6+HZ@DdK;{esMMBC!f=7RknKT*9n=wjkb>%=tw!{jCBi~CQ zI_q>nNAP^?*Cb?WxNcPFD4{{Ui6Nu@{38N_&|CkqEl(jlWH>B0x?@v4ioWxzPu2Y^ zGyjA5NWu>>8!M@({2MG^?IB{sfrLQJXNJ}gYV{RWv^yHnkif<_Gbqc7&Q{ly<~3-&PR88jM{IEkmja_ZTJu&}a1b zc}{WN7b(~o>1;8~*hrIFy?{}7PM;qDAD*!r;Y=Ynse@H*p;F_pjvv1dG-E!DWP3fv zkKlunGQ`vMIMIm-&UXK5Bqs%KrR4+~G*`}eonaK`-Ro?QPr&dP);8(c&g<5H%%D@= z2w4a)JwxTY;b8e`2KsDn1R$)Fb;ha{+{=V1j0;^=XyVuS>TY??ma8}R!lvZpu*wZo zOfz@YN~_V~dbkU_bza^NxHb(9D3HJ*K^ehbgOMo@pP}6QtSRh7I=U(|a(=Vqroh%H z#%;;F6E?cl12Hrfm3)aBo&|*xTvrwN;o>zcT-zcbf#H>hWBV~V^cAh@Y*X2#6>(4+ zw)hCZuKq}@86395dNWdbfTQ|^l6UYS+Mt4zb+y4RZjWm<-`rugUABNR+2Bf|ZYx&C zayPI#5&J6Q&%LPY#>OrG^4VZX7c&>6H5c<6>bG_b?C7QkL!T4y7XT4X0My3KbSlZ$ zTTjF~X8`%`a=C!z+?}qN3)0K6`QMr?U@)$t_MD=6WiYlC-8pya7d!`C2w3j|Z7sna z!>v_%ULAYWPyo$~hi_pKh;Ru90VeqB1U*WE1RV!t@5WA!AT>t`4T0m~)4i>-)jcmO z*AvXPG>cfO7N&Od_NbgDTJ{lZK&48oO>FDy*BiNzop*U+A(368M!$h*ee?9>TawdE zj2FA*CCfvF&rONH!1UJ#bIj8i6@tYhC+|}>4B@)ogMCu_ua+Gn3=+kuDT{qr{(;qg zpKr;Ib-n6g{ggI=_IXr&CU4lJc`ab*r}Hkcd0GDcR31##WQawV#Hj;$K7551gPZ#L z?;ng`;Xa{1HU479CWGZq2TSSRSnhQx5GYj?DG~&g?85WPH8)34 z){A}eqZ?BJ;38ec-q5ZD4Pe|(Om&Neo4dUZ&OZN-Cm@98TB7~7ygA;`p$kr!r_Q%y zhvA>P*7cVGumOR?1ohl!!nn?q#Q3)ZgB~n%GaxgY6I_cIB9%_;oM~}scU$2t9+$zS zjU|JeTo3#k`4rlP&lijUi4qWTX|!M|ZK)#IDZxf8WupIx3chU$v*XchP6lV3CV zr%RoC&8=hS`WtyDsD9ohXeM?BsjlA65EutELkoaDbZe)+P*)DYYFECe-*wGA(cloj z0Q?fPNjFPOpqO}ekjcahruJxPr)i1%tKN9#q7RZPu1VbY$E|3nPZ1M1(8{+K7EII4_?LZil zd0(CSOK2UjO}++MIwSV8zj1`=l5jvm6E8aCTg#9G$+iGS8*}bcC}xpcFO)*id)*?Z zi|Bm~3~;t1uCr1>4Q{ycLV0`|ZE6h1a$dPGJ<~JVyf}P2$?%tio7$=Z|27~XmnLFl zRY!1lw9I~54LIBcPpDl z_=l5IE3V{@v(>C>%N-Wvl`QZ|QoGlCt}8_l?{y{x+nQ8et)|bk%GO*lW~#evCi%*% zb1a4d8c1*d_yN#q&9gLIH=T}xwGi!_yIGdl>f|Ji8PB&({zU0guYpp3<`S$QG32!j z{5W2G;VBq7u;4Yt3jB@N|CLVqVjU?-u}6l_`k|%ykN|I>37bm_E5E5Fcd!5@gGl<4sbcKYYNr_}~iegP$_;(6$_;4 z=0Sw!n8d)o9e#we#6?%IO;%c)DZh$NElVL7LvLkr#-oq6{OltS``^WojvSpv)8DrpoAGDfz75+3V{N&DomfgKN5gSNl)} zQR?}56`Em!oBn2#aEB2<0I5|gwprQGKX~wjwZlTj@hGfNWNWu5`IT+e-@$J1>7yk< z*QT@(SVu>H`Zv%>M}|FT36_7CEjub99>-pW>{rOU1Sxso?mWbsDrnai2RW2H(OZpc zRO-1-5sC%xArvgI{*18^VeLaxfFhKM!lmC!%rdWBcLP|kQhpXhEk<9yp-`EWr>Mx# zXO`ko2kBHiy!wJqe2oA;ePivJj)^dCywgD0fA^#Ugb2As(azsg1f8Q zrLimsJtrfV4XJ}qu)Ay@7Pc4)y8ffvaQn^oglX_p92=LaO9CyPOsoNxEFFbxvqzB(P3&(;6N;OE zU2pIw6w!M5yWs|hgYA!KL3B?ixOCKxNYMNLd})MFL0{VYRHb7;90C~*L|r=|7(g^a z=U*n&{_IMnh|?kB!zQ)co2FF%j~74TJr)D54#5x+`ILs@jEt*DI+*|$lrDQ!)hvMf zFgpqwR;nP3otI*p=!A8xB#;mXa|j4P^49_K|j z@!r=@f#|5kU-aO<*Cr!48RWzm0U`B?l(Vw} zK_oe!>JDJon=kQ|Lq{fdyvjubtoTj>aD-@c4hgcYeuM@a+_q-4Igwu*YG{1T=D*UY zSz82jx~fM|I!j`*W`R-0_o_iwz9bil(AZh+pSIzFY)jH&UfKo*<-zOoQ!qiZ4jNSBtSAdG|!TW#A!5DP%X|+1p@G; zDJ8MY{&KmMj2Dx=+i55|+zPc@RnFsJ$=!dD zVHb)vX)SU#B~3t%Y|1(pZJU$*TSPQH?XTGabh}e%-)kuX(2^*{ zXJn2}mxuDhFK@*;{sLhGmNPwSlJT<)L-%+$j>#KH3%qz_AJ9CVG6HPk2{nr~9EnWEL%poJqVy5IhG0+r1 zMNk5uqmOH4K!PD8@=1^K-_@f24lxv?TqUIGtX~fr|F$rq$d@=PS8mt+3})#3tEGxM z=<@@`f?BPq%+c?~ z>@B}%h9{frx7=CKL^warjEJor8g+fM(!L^R0p@g@-!%+^SXw-oR-4K_FjxQlZdeng z=GZeY65E_T8HSp{4A#8mX{&RPn-Ll*z+_~gf7^k)zlN2s8Uc$CJC*50u0@33DJ3se3 zvK7ulTUSvnisZC*d7mvBX6Z!U{s43dI6zteXw<~k)Zh+w+MXtVGi6v}rr$fdBZMFL zgKEZxqrg{xXNL^eR+XNE{iJorbmvYBFd3TAK1R4<^L$$1&m7 zJ@>+&t-D$HLZEks*HZk2V=!c05sWks4j4IksxqZ8;8)HUv8PEay+T4JacvPy;}eXF zxUaIM?UYuHQiX3vprxfy|L0q}Z7Ix^r>9ftZLKvqwO9juKP3>bHTKsjI^OgxpxPBP zUgGLFeYz2IfH_#aSX7egs`hDRWj2@`7qsLJ@Mx^6{bez3r)(!G8XPSA)^NM11T$Zz ztRTDH?wKs`N49jeF}dA3mCOV&)R{_ZY}sr1?{_&t@6C%hp!a466A5>+NW51IL}Lx4 z0Ugpr(zu<)M=P*!aWNlOj=rE=d{oJ3-LtohF}W!SOf{fek%pK~#Mi%T*y2AU8bCho zg7}?dfKpvuePnWSaJEP?F)8WG#ZH3Qa1?j--)^D~1R+;zdCX{#_8qG5h=cj28*GM2 zvwM;)9IKpyEqgIpg#QrgJl>`>LIVjcSWA~Q-9DFV`nt#OhgoS5FTD3a2l$ht>H_HB z0_Q7|-kaJx_3|t_ zzRUgLSzTu+rGE$Qba_2=rH>>N;{4(&OfByguA*43V!?Yk!4AQ zS+P#a!PPe85ZjuH>_foKs({v;U7)Uv_y_W(+NLcajM$|qLhQ;IU7gFn5jG@YU%bgZ z#a_M1fwB2^Ism8$lS@eeg$x{zN2Z*4{D}&gA0~XguKQ2qUlTySP3I{aj|G|(yQ7eN z#ZHhXzW1|u33cQmY zCZ@~l&798iCHn^EQ_sxIEO1Pdr1B^alZ} z!cwE?>UCv1CG5IPZ-cEriTd@g9YY%opug$yT_iB(ncx2-@kLDI6 zotO;u`@Q)Q2P;-0(NIl&A`OTT7xSZ1!+x3S9u9Hf&)>YbaQ#>=-My9+Fnu&OT86Pn zl(o`+X*O^bhICV5$X{XaKRfw~RHCt@0qhGkE9HVujMu#N`uur?q+@cV8ywEW5}dpk ziGS?OD!6RajD%CgzVC4Jtn`I;6BAfhkWX6)#GajWtnemml@y4S&%og1K)xavh2F*J z%9h9O1(b5hGaL8a%WpCVd$51z+zoG<24**5_F7(=<{Y!UBO$N;v-Qb#!kw9F@$%9i zjk67S#!+&gV#SVJd;vex;SFm2i(m&3wn@;yrB=4V- z^gWM1Sa7(e=TQ8jta8g7`N8sv)EZgyZ6)dQgc>2L04iN=OF#JRX^N9r6wx5o+y*** zq;_3Y*k?gsf=FNF!HY4I#i}C9*Zhc54wp{}-5^eR8%9tB7|9FcoPIkG$+SZLaJ=;G z(;qDA`+Wa2=0)~K^ow6r?GkOY&)82V^9b(qDd24B8vH?4dbX6i20lC_s=qDA~H(VZzOc1M=t@s+EKnSMY~@l z0Snb#SHCiAc42q=vYXe^ik8kLNsCnE;*pYk%CwwK-BXy7OfU~b4K=+WaZHRC>^(~1hlZ**%HTT@O`sL+O~cB0gXRToVcVwy+x<7(UFzNh$Df^= z`ORm1)A*fAe^o<{KM$|c;}d(`vzfbO*2}yPdR2~i#iK`R@SoN7FDjV^wlLND^r}+j zw;{hOPE%KXdyAon0BT+UE$nT<`20pS-4=}zmfkwP}yk?o6%iy3-_ruwCJ z4=$+>}smci~&B_+&ZCZ@uJz&9SV`o7c|%g81xDaX86+ z<;HxW6WhiMwulUp<>_qE2jc@l>)Z@WZOGrO%ZV~y{46VrtHDf$|Ib-j@2~=9bKS>Tm zV+hbpv?KWI0C<`8*LWGPO;_^V*l@9x3OUmqa-AG4QIJWTD)GEAgo!|c(c zAaE)xv$Qv@xVX4{WD16AF1M~MFi+m#P{imHMS0^-tke%fr{t*q$bR2FW(5KDB~wP} zr*e)OJ3YAq5lNlWLGu2~4>Rk%%=W&t->zldTybcKZ)m(m^^G*3X9P(8sOhb~;i|B$ z^lQLEQ!G_$Y&?;aXZJ5FD+3_W9Dk0swn}PosMWRJWj%R5Ppgb`3ksB9zO37n5fv59 z{qkk^gk256S9utm#}PP;8ss#o%~r`83DccroVpup+)6{-l@;P`y^P;vt5hZZ4ieaz zjpV4%)FN|}+C1(48rYKisJEJ_bxqczp<=H+lrW6$zF@tAhtjkaCs-s5*I{9DSD3~8 z0seET-5mDbM5Yp%E)q$~@)v%0XQB1!)bo+mP2uNjx*BOx;vb9S#Nf!9COr41c{>4? zgkHT&g-;BVcl%Ep_6o>)bWg?&)bG*+H}Se%#sB#&VBG#k>e;1Q1Kr^;H8+otv-d-r zH=VFI%xw2beOQI};(2~E#{L#PVfiM!%j#H610zvIK;-D!1uTpcm;9X!aR*Rq%bdVv zuYovB|a+Onc}OVuRJhM0>wgV3L1?>qS2iGmU?7B_F1)|ug*VikT@ z1--ghqtg_D(s3%_ud+}GjgbD5RjQUY6pN_$Rg7sqy62)cjzy7Y=T8>e7Jz;JXi-R7n>x_W`N5mncbAa|`H^pQc<9~f!zp0!WC5HGnHXwc>jh*l=xj!urQ zJz`io^+yTJnefJYxa)P_Uw4YS=oRy3>KS~Mk(nN+|BNr55<%?wjusC^gIJVC;%JHi zG~o$?G^|Mg0{?5eRuY^s9#nsEwl!K}OQ{^qN+D-Z2afSK!=aE9-p9aW{H8|0Km1S4`_LKcM#`q$P=B`J zl3Q5VDt$Eh3LMMaTH-sH`yg4|-R5Jkw&k^Dinlb5`z8B~XSh+#3acpLCvoOGUm2#( zc#D#Yu8x<%D1RE|S=tMrbh$FAZB25Q`ZF-&U9 zwnyAA7{MN-g=Ah3b5Vd`pNR@lzfd#R%)PjHkV}~X{C|sJl)@hdWi`$1wB!8I7ib=& zBINN~*Ap{x44e6PG%ur?kpz+5bblHp?1ORPFfm+>pvH<^JU`z47hio~l2f|A)HRMR zG@29`4M_9p7#WYzFCoYZMuRL&psJ@RUS3YO^Dp>{<@gl08UmSBV5YB3ec zq#A;BMMG0=rWY>mcYlAlnkw;Ied$GPqUUt}Vjxf3wjtv|>mVah08%j4aU|#4i|o;t zPc*ypTFJ&kSsYg5f0go-KFt3boO@&$PW^j>ga*IbaE@x82=o|3FNtN%LplD~pByq| zr08(zyG2f~6*7sr`Ho<0vtrqj>m$zy#JHMesAGS8kUO5z3e6w~y81*B-e{wwk&AM~ z;|rI|Z;k}S6IX}glLSO?JqDVuFRGsx|>749& z!W)Rnf+_wTn`eyy+z6jvzY5l_sKAg}t;c3>}@4_MnK1s+8hGaB8hrg`P$W(hJT9tbHi; z%dfg2Tpiy&(6LpR@3Q3^uIDN?-hoe!XhBG>f$*8CHS{xd$mou)ky-P=H;YQ&$-uSn zh_=z!eN9m@$-(y;&@rP8&&KXY6+Uiq#a0?z)uvj{xko99uw=#E?RcHK|I438#p0pF z>%U?h(40H87Q*YUW|AnSfzdZSxmRl#LiML+F1JQzEadP*{OeTlMs@~ zGE^dv$ip?X=d5?`TRg~Wv8pLZ*O$o<#&?&c@ZtD6MG94w^L78-X<&RvZxMhKDEzKI z5mJZrqhPAB z({4_41a*??E%$M?_WQFx)hw}>b>!`v)A`fx-|~TW`n#&+KaQZf;5}bDtqo`P@ zfL_a??_}SeC-z^re8qyuy{`Gp@4Fr8q$1r28h!)#r*Os{*3hS70leqrkH`9!Nq;IH z<%EA~(0uk(Q#DW?L>@C^A+gD>k9xVj%bJJ~IcJ7DAgIa913BRRs`0833FkjDbBAxT zMWNXVYO_9)%xdS5PJSV^Q}Lft;-7<7_DkJ`VQvGzASwU+6PbsL=6HsLd|-R zofH9qVaRaoW7#Mrf`I%D6~uYjEz6ecI;tmMs6t@-_;56wVP}%~Efm3y^C00*LylzH z06)WUY!#}&zAw*(j)CB$pBgiDHsx&?8vU1_=VMfTV@P1|2%O7K9ek%Y!QQNF$pkO% zCq=gAmTFWO6k&M<_wM;wS01DQ9)VH@78}spM;QZ++y8q{I8O4o5Q;a~O}HEKOsoiOZpeE+cpB+C89WAoF%pXaEnEd+~&|HfR_q7IitZ4WZN1_~x zq!tp`%fBQMmj@2Cbo>;9!EgRof0LC5lA-S{prNujS&Ad6hyMAK8gMiP%0F&*&)SHQ zyEr^ApuXOM>%Vm8USkD}%E_m`KUYvzzT6}6o3G|@+yPX!z~Jj*@56>VtC|x0-k^48 ze~N{2cdQT!BocsF-tttzDc15P?~oIh#iiNz;_iaZlVVc4Z5*RDC}AAN3vWRs0Z3Ku zpY$6kFkuj}gW`VdPPuFK^P?JrunqZgcMAPnEDb{S67Ipoc6zizaD&9MVZwO;Cgh#r zFj9~#WcAwC2oz)pIgScyq)LdIUj(zgWY}BjZ3U|F;6MVxwxz#4$HU)cy_SI0RXYP*`wiI2t2Q^w8> zCmwNWy$=D7q<7uR^OF^*3g9y|6t9#wOpwHaQ0G6T>&I(n=jN)qU&P1Lf{$Gt*I##F z^^p7>?)i~@1vfI`ikAd$-J$>!+7!om&!=3#;M=9z7Y?#FYP}CgNBuxfKh9=;sH4+# z2MO*$+sXZ-Pya|a_d8u+^V;jaTkMPVnDo0i`!}1KMcnP9?F9(IS{-dp0gx=Ia+jH? zy8t%OrDo?ctJiFRoe2SMX-ontEa4bxLA(eCAp&AbR*a6ebP%v}L6W-Vk3b^3flm~8 z8JU@ltu#eW6Xp6v=J=cS7cXl-0gm0+H%?RURZe5~ZqfelmvH12z0p=wWngQt!^wFF z41PWf5}AQ!!u3~?9IR!~CI*hPW^n(u<5mc`QoD_l6yPfEf6*iY{e*~~VvvgmM42D3 z{=H4{!ODiU^J`^%27;lXAw2)#d?OXq-zOKVKYuO?SS?FBBDcY`0XFMaRphy4YHe$) z5C=DkHUVxvXuPnJ?x!^_6BO%zBz}8aM&tn^oKh)eq%TQUUK(kq>VaLe6#);EfL?t5=L;waY-j zf-BWHpl|*@-ugbCa_H(nP8OIPP)>jYufo*?HJv5hGI|XP{$Ly>n>AubRHtD1$_b zoEN(l%AOxv?f)L3%t`fNbaQj-%hMC!Gc3Ikm=$UERc3%E51EfpS10}cY?XSMit93R z%Ux5Gf)%w$g-h^XU0t;sDPWlf&KxB2&dXx&^qCi1($6+0uNfE^;9zU=E2hIhZGf^} z=}!CZQm2r08?@AMj5-cJ2L?^lmtqCM6sv|gnSDjMI5?<#0zAK@&d$yyfOgZN`A#I( zb89-k>LOb9{D$r0$L&_FQ3<$zN6h?8v@|snRsbN^Tx=^Fa_eBU*lNi(-4|(E|FZV9 ziBh(WhFdFMM@MG~_-RUBi#tI>*spGjZB!>;OM2q4M_U4(o0H-Q(8a*2UWMQ*2`~14 z!N6iuoGx=ns&Sr@Kn;C)M8*94)Z##WiRWX+pXb%|42i0*>cNzY1GIy4O5NG{XNn zy;4~BN4=-JJAsl_iXn84lN`CV=iV#Lo&J2-KxP8B_D%pI7v%&44Fwf`TUDQF`%Oji6Ur06IER*F=A_I%2 zt+$u56-pCmzO`rMQX7;i={XU^<+o}0$xtWsjs3R;X}U~uxwIJ*8-%4T@%=+d7_ zgp)<{gl zrO^;Z$NOtrKvnSQq?OGN(~-c7D{loMp-aS9m>U4fVWPm4uBNQytgQTv z9GIvCT$`pmKqZ^I-U?qM68X{L%MY+7fwsiO8LbvtBK0d>VICXfK|oTgSmvq` ztst5jT#VPPUi+G=X@;4|97xOK_B@X>PD+gB4V^(<_@`&54p zH<)@XTBN~p1p@1iUk|gT&alxWMLc`UNmW(QTs(q2_5T^YfOa_Cusq zRaI$DERr5*zRu&NB(pv+bwyF)tR%}a+NlzB^rl`gR-bKoyav=tYA~1PyA17g8LvO9 zIoIBPBk2h`Y=oGj)&8xJYvW!bpF9|HQL}+Oy+Z#pdI8gj&8cb*5VLf&iu4Su8u6z- zsa{Gn+6IVe!oezdc}L>h+{8u|&drIpjHJwfVr>y$dH)KOb!LEd6wBysOx3mLGZ#c} z37#tEv7T%@K`DER_a8!dAyN-4Xl||d{!Md|sS>GLc#%{*)DrK>oVe7Rxz!@=g|=Im zT-uhFmUb(jE-Zo$w8@_Bzv1irCS}oh>0~*@<#4?)v2F$^Pd5~*>J&6C+Bbpb9sM~w znn}`m_;3-xnLR4V&E56^8WnDs1f|!n?L99d)hEw8s`~!jQ08oZU}>%?xD%A9y#X?p ztHNc*v~D3vGV?jf(|{rD>9CPYJ3x}#-CrG80?Vp{SFa$x+H;FPDIr1WH}!nr+L}G6 z1nb@fHr8XjU9*cndbqEw)hsNrj7mU72wv9wgA3RqgZ-yU~L$uf!B$NRK% zCLOQWKU;lx0+veBz|WtH!o5;DX+l=YXcgvq{i=~9W4BQ9>$46ZJQd64_1@y(?cr;J z`^YEN}r_Bkcp8206>%ZDDfEpp#1;v%UlGASUWmqF;AbTJj~Y$@fMM|Zf+`UywgA86b(U0j{$gk9>}ud>0@xTh+gsZ? zTU!`Xx|ldRS=iZfvT(3)FjJa4JKOWKvi|RN7CT2X)?|vPZ~&kLWF*ACx@8_MyL;h$ zdlosHqqX_+dGRl_0+5@xp@xE}$|oUNzKsbrt}-{%XXGFW(Z>?IfmZF%ep~yXVgaW}z7q|6!`g#?;5R0LO8JmXmLhv}#w_twMnzL55^d z;Bo+8vb&Lb;)n4U8<}15J?#Wq$qeJS3P`iv^U^r4yw9ZG23{<%BK~O z71Q@x=UsaUN~&LHqt&D&B=#fZx+EOFf_Lzpj-8`C13$VK{J^(j?l$f`Iz-?QoUcP{ z;4iD|){tTs{5TzI`dOk5)wFkVAV&k5@c|J?j(W<$l^X&d zad|>BLk&Gh!G%1=R(SRZ*am zkim%N@v;*~x#?fQ0GPP2fAq#FgmRuh4=NdE2M5Zp&Eu%}<&1|s8tl`gHLCjh{sG)T zlrYTEuxmCe*! z?DPpp+!+ezp6H=4zE6jG=Z}};`4uB|u{O)Uz7g`;Q-b!!ZZTPqs^?U@{(q)GB>HZ} z8=`}YkH0a(IsSVjjdSAf-?gWeljYWlm6e!q90m`&!_`ia5HymI1t zVb%GpmR)dL4y_C(?6w~QfX}QBg!ZmKIe}iLuIKT89#c|0l>QH&r~BNJ5=76NBPd|r zn!CQCA-ASx;da-TJpI=8_T7_=$$#6J9$$+nQAHyi1C9l=H&;agthHT^ ziJO|zH(D4T-cZl-fc*kv5~Kc!Z=gfx(wP9a=K~b^_4U&a*O`1^KIAkV=}LcZb#}L# zv)Qtn-3!{<-zq(k#N_0S?G!yJTiZ&AaIEk>BL@eEeJ>i%kHSK@6g?ll*-9Oh{O|rB zI5zkAL32KXm5C3K7K)=+P*A8=XSU}hebY(7Ml_gzm{^nobhXo*^o=-~a*%wKNZh%7 z&Z3v3OuYXPU6~+svtX2Z^@p~PsNZ%XTIWV*{_Gh3sP=RtOaM$?7BVfc^0&Tr}vNqNFMof&rD?F&c8@fF*nI^AY$E%T}a7c$I#<=gD*Ix)pCYqQ(HMp5&`ar7b z=Y|ie;~)8vun)8j*qw$);sy{gtMd%uWD$}N?uiNy##2H6LxAbxivJ^*MHft0oyu(A zOv)}$42$GaOqPU}l)ki9aPi+=k)o49+EgUXil1~3zP^q6$nQ{QHutM76JO+YMo6f@ zlxPXE#$6*G9#j0Ui-y`=c@7JpMI-o9UAZB@d$+n6HkYtW#Q04Xav*2Ms%8B?_K~obU;(orDx~FMUx4-u(`kK*5bg zn*KLY;nuq7Bm54kgjx9p+HsW{OZnaqNQLi#lLpv)uO5R=REkYvH8qrpRCRtK2k(67 zT>5ER-jrLn$nL>-yqnv2<( zgqM`-tZy+dH4=~OJ)YX-?Q0@w(tLfSg~t#X)N1GYF|<8bLZToFN}qUwn3N9NJyuiS z^xbp`cYb$?rg^SQ$4AEF2PU$wWp4oapr_>hYM#Wfutau1o-;QfUjoNAHho3eCU>kj z6o68#Q*jtCXd|fZUifj(+g|HI_uFUKevbIS9SrA=o8+Rh>NP9*_$OW-|3nUazH)zk zdm_{JJaQ-wpEj@w-kXUV!$2*cX< zM~5l!hV~PYARLJ$cMuv!5=V-MPjb!CQp$*@cz772BWT6cIunAtv!2t24Jit5Jk?Gs z2I}+#%lDr<(uS2Am4Eppe?JOGWgvotfb(*0hL!*IP33Y;9m1M8p2CREhp~UJ(O+km z)5hcc$KngyAMS{53M}OaBjDpNXOm0)RUu3N`XgnOe+&qs*IvuHl&zFoF_86LJ2%rpFX5F*rJ4+Z9@t?8o`<)k_KGyl|MU~mj7s~7b8|(X9Q$QxA zlDRo9MH(hh1mNA_hZk)j=Kfb(CdRgwdyXOL?fw01RNGddTH*4EI1?@X9tAqvz4yQQ zu)%;!Q0bOz&i00eWnQTv9Cl$57nci!-1LwK+lNt?Jn%KmnlM8o@Dvf-) zDFCi|uC8_DF~a*5Mcq6WrnkLChurIFGUNISlEWW_S-WtwM;WtoH52oK!E8Z?HO!PO z?d+?J-QJzadUvQayeR99)1np^#wf%N^D%ws;ec2tI$|}}My{0;`eVLj%$KLoF{oSa8tOd9XgJpD#HFKF(dM+4m72x0ni#7Wd-tCFaZik^;eD`>&q|4VS!Zz<20|f> zocP$y@xj6nSPHp;8SR&u_!nezOUr;hL;v1&QC(eKZF2Erk+b*hoJA`gETb zQxP%Qe7f952)SWs?xVWQLPb!Jp$XbLfuAR{)#LB6G)7gm1-3LR?yME&jdIeiqBe|^ zK5|rCoYMc(681kKDN(cebNs!Dqo0j&)->}JAEN$nZTAwu;pg_TiI}KUxf!jFll%hqjJucyDiE{AOcRA8RgR=auTZPp|bcQL)r6 zEEkwSq){3Pr4Joha7#Vutp(QZ)$XgNeQV=tE>hg&Emv5i7JS&XaRp%T$~*j9)~Z?K zj3AvMeh$g|b`Ux_$qvjsC28N#QOkOx0yyfl8P_z&Icjk_e(tBED4yD2;Sf)oTh+n} z2Fu*q+|TUhm_a9Y%OBQ7Bp9!8ULymzh5i;cM~4EgYA0|!yUToH57&uy${`B-M7eR<%=P6$!*?iI6FX*M@ zK^qV^qMvXFISu{{W0;K@_F1m z^!<@rNVP`_8lm$2i|l(dU{hOl&^-dolU5|abtCM9C$g(R%(Wk5ka0$KU@@+iq zLK)XHE2%SM-QV@@!NAgtwV=ISX~?d@#rpErB=u6^F4bf4Ya;qv71X0VqH}2piDlL| zoPHg!VrRpEYuA8j4V?FdmzOH2KxC3c4miBlU8Jf&zmA~o8rq672o zo;-_7OHVQT{~@0pA$p=AyAl7<{B7#!i$%x2hxd(AO%PTrXOlAoV0URObjJF4a$vel zO_gZ6cq$VU4KD_2t*RFQW1_Ubce#WMn4 zaei|WzrFt4*c@2LhGW+xJrTTbcLEv{QCjd3v0Si;Kr++6ZuUNps1Ey3cTcRScfdL+p&RbrIDU$lV)`>vz}c z7ZdSuOF*(3^T61ztoiCrQd=OHj11Fx+TW&h8T;Y^8g_n!oBIbnwX8h|ZoD>rBY9np z@~l)@Sz4a$7w6>t_yGjMqxFDLy~cU}Gb#}Wtau1&_hg}*0e6N2cqa_NjE{2CcKPX_ z>#FzOaw`uA4cS~zv{5O9Nli?KG}=o{;O#r!P+X5*&zr0U_s>d=EOV>5(#!ezVR=h+ znX_4@^ZjFKJmeRVWSE|8gGB=K=%ewaq9D&zUC)M#r;lemt_$mrWT{nb+P-}*FcGT9 za{!OGo3YB8ng>rFW0`z_9}%ai{_$c%DvuqxrlzL-xDdpRM9glbZD9!p6Cn4#QZ_a= zUJD_yJ>w40ZFRBva05(#7)D)_Qlr85ss{XaM+M_eSF4iWutH**Q{L%^g~f|bLZFU5h0jZWEXB~T(5Pir=d#866Y)n0q>qA^ z2;fH%iYi~@eg04BZ>x%Nw79>PZ&$^ot4IIA*xihXuzOaocul2M#X zVW6O=;c&zs`|&|fYJTa}mo#M54nn0t?qN@P|23(#i@E=q3s?x^NC-+xS5d3g%gC<_e#MUgbGugpx_g;(L_sUCWLBKus4Hgz1E4&{P zb-WC@e_~nawn?kx5<&OGPT0)$XP!NSJ%9Wfx+4e8+V-YwZzfrUBo0q$iNqp8fIiH; zoH?m16vY#F1HtSW2)uwd*x}ORp3cHcsev=rxaEFt{i+&tU`2l1O;(r6=s$@PbR%fO{FMZXhNZ3f`EI<1c;VH%Orp;ic55`03Hg%2S?J z83~(}j>+EvSUyP8PBJ#UzeFN-DwHui8x_bi@@k`3JUHqo&3>{)e#g4rSGV9qD-nkJ z9RC{xqU|p>@3q!%ZINjo75_S53yQ66T+gH`S#LVBVJRc))9k?(6u!9%q!0?@fpmn^ z{FMH6f58YhBXBqo|H91SSdQDt3RU7%pO?2|KBr5Fh1Cbg>4)@D?#mwNb~S5(aDZS^ zRvxX(%(ilT0&GhG?Pj5`L~I4QeWY!hl^%wu_r4m6 z7!cDy@xesgxZrIMU}i|3=jhh|l;ykdE?gdEE8R4WuA` z1&Fj0Nz2L$9JuH&9!|Xm#6KajTn!X4Z*MR06qcym4HfkL6aFohv^5GY4u4TmcH&~Z z+>KNjlSs4$ce5JwcI#iZI45KdcJoGXh}CH}D;nL7Ohi8+o?G$K&IlQa&09Y#K`Uh! zvMYG_(ooN>sa!*CJKU{Vo}#fWFR>p0rH_5Po9%1KZ~MG=w=$u-t~oSF`!Q9-Lzq6B zA1kABDTv`uwmv-@+@RP@#%c#qozqUnMLPxC)#T*j;7R@Fonqt0wPNQ$OuO_Nz7bEs zN2_bcw_o{iuq?WT{E$9bQM!WB?D0m)LZ_@1B!b!@oWxOV#8EojoT(df0YOq~`6u25 zmPMJ|bmlJAs+xMSa@@xf(h0@Le91E{`3M9*a_C50q{}xHKLGl5Zkj!qScNdA08ZvC z&zM+C;A6+^udizSCDRY984#O()~4sr4}Hp?5eXg@2)V?j+_}A4sW!Ylz+pd2S3)|C zG_tI?5Y>5q5&{7iOBZt}#dviCh8>_xAwgP(r5 zJ0bMCH(g6szwVaxa*=sK-AN7!Y&9rru4CH=B&_m+$SNX@6bc$N<-aQxAj<8b`xOwA zatf3AkFyzsPl6A9bv2!C6bTXZ>j@!>fB#Nm&JD;&=B2`Q|HXF<(vsLslGrlaJ+u|5 zZ!?7RsLu)PWmtT#ICnk>%WJp-Q_mq5xiVn7Q_%-{CkCgLS^gKo2xPgm1<24qVfew)e1u_mxOY25lMYZj^64k>IMmjrnEiL&H*B z8izb1+1|o~+JaKJl$wz>tGXnJ1xc)UT!xGavAav`5;MpA+hfOHKk;3l&HR`z%#e`g6!mFFCnv-NQ@>O!80? zbMq;`qy#y9{XIoZW=U-}VZ0;X*B{NGTz5Y=H6Q+Q5zcKcOOxp4udEnv&kyZ6!fT1jp#=;1(n}Izvo#~Irc3Q+vP|I zJH;mu%u4~1lro}LILn}`>!|czXsgQF@TKwj%q)ZCFUX~;Www))QPO^`36Zy`S^=X~ z#mX;|1(+Va^3zF2Rww#oJpsX@nHG}rgK9VLhE?@u^&1jeYFV(2nBX^Cu_BEi(xW(j zS6WoI{$KH!qL4GyWjFAMKTFE=ilIR$EsHFt&qcWYKm9+{UpgyJzd$syihxnt3$6B4 zAJ<3h?|J<%FR1UZoa&yLD3to!R?j3249-~NdJmPi{{DBkCdNKmnC6-?^txFU`1Xx$ zp(txOaf$sPFq-^LpYgo7WH`THnPWFO!v&v&jS{@H?rf{?^pkpv6eDHaP?vFIAYmAtsLp%X)C_@F3#}6`hTy4zZ#I~Y9Acbe>6G%^VJ-;gJDf&fANa{H93 zWfU{2JC>@`MfGciDA>LHI!%f~#5IKM$We1eJgzHLDCANbv)TLi{^=c?#+>+|pvDBt zH+6eRHQ()nDhe&^Dl0w_|4(mNnApv1F=|HK)Ez|&*$Oy2H5Tgm6@cR=2%PaU;Gtk^9r z&2n#?9WCu+&*F1+HC7Gra@d&@gcczPORXCs8=BDL%5=pA*d_fq`J zei0k%2_GJ>rq=1pKy3;dcbi7%=yC`h0ZaF%hfjh}cT-qda_G;f0Z{R@rSO69-F~3G zk9x09ihYtoPZx;yRIQyI*+|F{K>`N(XuQ@#-?0j8fpZEOqcc%tYuHOR;Pv|8Zf)@6 zBSSzGxwfBAvh_UK&xkojpgNV)VO2yJMKb_>I>{4$Iq!GPHwjzwD7J;&vM!Dz1uG9GRUaRI|PKj_~EBKVQf4^kn!v-Rr>Eda(%!*tmFLH|C8K z(kIjG?4)Bvyn6SD*fj8IRA&>x=%U(Zz6KIjv`LeNX!u`l0)6TO@aXgTVs0Sw7^r`; zH4@5KM@q>FXUtZIjqln@>+qNB7|7@cc(q+c zOd!`uHnh#z3T042GCi%1r={oQ2?doqpZ&jNb@#43BEG=lB{$w}gwb@EnEC+u4GF-a zS&tY=zA+-pdir8si~s`BXM2uto0sJ)_*lQcTby>-n|D?R$d(-~D5r zyWbVPqR%*dxZ%sAOdM_#^k8?+tfih%e-=MszIC>{Ey=SJW~X;MvUG+bd~N$k8av7} z==0~TrQ!y|k&5eqb`E{(n~TUw#x)}!--g$lpkaL{e?tbC8XI?+*1;{a$Y85h=|-np;lbLc#s@}9`>MxBQ zPYV^FiWHcOR+h07AWKHgU=}5ZEC&F?++R1tA(jC#m$=Hm`zLl><}YeD2Bg zWY+nGTb$)W{C|15p^(A<<>e}gfnVAz&DsogaA4coq1DCxUb@*t`%Xb4TyRXzVufjK zRX;sG95%4#-4<2=W$y8wx-nkRsW-uepfHh9es>t!OX(NH=TA4+2|ZC!Q$}(PLOW1D zG^;)|tSQD+nWbcfe|bo4Ex?ORPJW-Bl2g74aE~FRqi46hs}f;zhf@+1QcaPUkYO|_ z_Zx^J3f#^1M9<*1>G`541lPJ815#1zgWqXZy!}+mePabyg#u)g-)X@|_H8_I+OKsr z>vWQ4LNTlcnfTlNSs&y4!;SpqQ$_&TGZY&bPU}&xPtL8({bn(@?1=n3CbOjf57K2o-Lj$`UjP7`1D*w^S%BeOq@5i!Mm*D7?BI?lec*PFLg6Ea$? zzj})rb!eSzUC~kq+sRB4P%eeu1y>A-@mvr7R|}8$>Fhw$r_u-J)>q^P0~GR9bH*9`~x8X%6{N~TOjT@)pdy^=b zVhiIfRVvRee&AWG)C;|E#ouEvtrBBLuZZwy?>M3O8}Z<2r67s7qr&ov8(*2QUml6N z5Hs)XCAMH%*FugHU+N?_gMYy-c6C)|Ch04Q1{zTJjG7)AP`z~Q1Enu6F0Q2dH)Y5; zV8}S)q2V66DT)MTyI~vk`SW)%-|v2uZqUsb=pBJGI6k`&{!3PVOaV_Acr)5v_4%msm)7`B&wjr@LJywoIm$FJVSGi(h5p#8D$ zIqne18Z(+el~)kY4fSJqy9bn8gh#S=5P}l0kWtfK&ZDTYYWK)Uui!UjFZ_xCC+?bem^4!x*;bBJ|8jm4f=U!XB_5)`KUv6@G1`2$lhOJx*_t@(6NoEvj`(c2 zeqB~|_UFdhPKhITJ_O8^ATvT`OgiU`{&OJsVl6}Owjtxq;Lz0rf1KtHTTvgL@??B> z6z>CqTbZ|!J1JISW+EEU`EVlecor)18fL_`3<<<6+MoE!?c zG30hMd!rdV3=$Y!l?4r}`uu;mjq_)giSuS;oi~#1BJoOlFI{uT7#P3r?*Cbx@`wS0 zv1e|8h#r^~*LR>`&JT}w!Ad0-;rW^mzg-#4^GlGEUu3`g&F%Xcu@*9=UGlCxhwnm2 z)UqCLwBQ~m46x-|STsH{?W2C_t$D1L*M9zCZoCr&bkcmUm88UNDeF~nJE|KXe3bn7{Bg!*%TQ57kPIr5;Z}f5%IO_y+I@hC%*A8N zLE^%^&S9594Yr2&FcqOVg0JXVcBdN?Q{x+aBZ&ibIRWx_tAX!k{^XPP;_1Rps@VG{ zKEjW&fyU(wuQFJ>U^ckbCCFbKCwj{!&HW@9<5+;kS?< ztf)H@Z&Gw)jMVY@VzZ#0-Cz2!^ivwM^{ujnj}N;IWJIyUtl5a3U+NAD&^rf?2LsD} zJigK_T^-EyA}YtP9blfHVMqbkXQx#M?L^(?f@f9Z?Qqx~!!@1{*L=z$PCJm)y@X; zbR7$d&lyP$PaO2eX0Pl&Y3kB1`_>a}>q*U}T%^{Ky+BTdFk#mgFd*ydk&W5@vi11d z=0hxHS<)7hp_yc;+MgOFtC_RTB$|q4`M#?Cj>d39)@UY`$Nd6o#k85Fy6Lp8&)%D9 zZ)Q0Nfax1#p@AR_;2PiA`08Krp>RMh+5*gM?)8J#Uoejtwo1;CcgYX?+B=j?dt?&f0*OkO5TraW(5YRMAV zuyvY<3c#UU11oI<@zIb1O@0=#uLn=3(JJ5EZod&Yj$JS}zk$=5NR-(}B82O{RHr{A z+2hqkO_9wJYIs0SLlbj94;UPi~bo6d^%a? zNVTFuJTMSf;|{!mbyQ$WxBB{U)c0X6yH~=*FKi;DN-509T$J@|n3>p7o*~}PI)4<8 zbgrz^21Sew@Fn%tAhY)WuJn6UK&$Ikdn%t-kt@-RIh$dk4K6Sqe{nf8&TwRm1yaJU zOWGCKs#L|B+F(91cw2FDGK@@3;19ZVNX%y6;K&Q+LSxfa&d1zbXIGWygZD#9{=sSE zxt;dYo=ak-K;)8dl)}bdvvA{V07?_%`W{kBrPGqPDO0gG=3rW%#4^3Z%XKjeRcrtb zS5y{AuDV@KO277x+q?BB-D?p6h20}iZKT?@GL0%K5wbmX(veB|ELR6#&!bD|a#KlN zNOz1bw=3NHJIh-L{O$K?n5#U?)AtkK2fjJHmHzO4?7R_^Xa<4-ZR73A%L2QVq`*P(8LS@=Ar@q8Jc*_+8;g{mwmp;rddR$}7F1>N7<4KI+ z>@cZ2_27n;yhsxA=#$zCUP>987zYcP{io=AYq0d^W1PP0;yPw$$ZHuPcrJj|tsvWC-KiqV>JT;9XJ#w+!j~{V zjYa_A7T}r>uFB7j2*wY7<=_vqXvRn$cKR{B+?9-N-jNjON??0cNUzmgKt7o4f{hOS z+RC}*mU+u8#>5SEG3)ugkoruyDX@UfBmjR zO|)P1{`TmCQs!q)PUaBG+_<6v_F(@3{LHyG&>Zy%ORf-d`jO6-*zea@a6`Funvllj zJ>Xv(UBE4zFYtHGx+~Ll_Xilf{202Hz(x?-s%;m`14}bZvd31t|7&IM0Ml>K|Ci`j z)#3By=|JY??%E0##FAfE(cWnE&F^EQu?cSl+1NQS4=BX4epCPJVk}78#CPjy>oi}u z@XFvkj(YK0ndNOiWUN&@A^pA)oEb=>6}1-8IQqT^B7NKqb@|vSqlv3rgE~`>;)o#Z z${t>&=Ax;N#Gm z-#v{rzx1j4pvKXD>Vy#9Xj}*rm8CB#6M$;3z29i%XOg;k7vOHkl1Vmz2N|}YYs`io zvI)_5F4N7}8WX$ZfxrxkF69ofrFRBT9PQ8Tx@5yQT{@dT$eZp7&i1N^=r~yLYD5S@ zzyF~It}#z778T67`px_juYR$0VbR>-$C2xl7%FQKScJSO>Jc#BWkIi1cARd8cZeVA zu3)0Yk;hkRW`$+cM7o&5o35`cSXC_TV*6*G8 zA>`+0hVg@}U70EyZ)P(}xBm+L>hx*BO$|h{6MC8R=DTOa~ecpnCI{L5)4B+B@&Cd1r&4R1A?TK6WWjXhACO} z6E3o)g_XkMH!uv^WXeL7tSvfGU;v@o(qmG6@o;VtcOLWx4Y^h-@mpUcA@ig|&^zCPsTY1v`D)UEXoxlchx{{~XKTz{>Z z$Ug$h`ShZ+0jj>-oSfNR;{EX;#%1u_hRF9TIMgk3C;gq|v@*FKP}ObU+(W?rXrx9% zdv(>SfbPsO@}4at%bwq}Yx?CyY!FfRB&p8HP#S&lpvo_90=g!jfz}lRpaueYC=cI4 zVnhf+W;xGB5Ege~t#&&>*75vks!4`4TI0A*XcuAuXC!UMY}=`F{iqgu6x;3Xu`zK` z)hiqVtd&BnoDrlz!?L&f=i+jwp{niEh$nDE4n?^hFmVpkgxh<@vE1 zVt4mU@5~jA>K--GMzE7t+>3bnJLH<(PtGvqp~3Sab40wO&;MFUnbn|R*7XQ3zL7eWA^6pP zd>jAd2D8w`G^Gw#A$r_mSqVK`UGZuE4c=Cw_c)RXLH5$WhYPW7 zAp&dLHM=hkCrq2{%HlYdNL}n^t$Jq&j9+&w-(}C=5!k^UZy7vQgB|#J=G+wFZN1Us z&H8qqJYCtOhr4Y!SY!7m8sul-dbg}lnWt>^40g^pu?Q@jtO@XA_M*E?ICt<(6ooA1?-lKkr zP~xTu5SNUFkh}a{8nAYGJS&ZL&f;9n43|P%$f%so^1iQ+OM$0&?nZpv+t0$vqR|ey zoQOG8W?I0li@)1J{fPOs&i3Nko9%^zu+yy%C(|6On&Iy|*^&~zh>*>n^RCTAtg1($ z?fY9DntV&VATR`B5{}E8>%hB|z9I)_(puY&ag{F#hvuHxpZ~~hL+pMwBgEnUr`|8s zquFg8K8O}B@qu+MoiSUf zl&~cba|(}T&>_YpPuiqOS)Mfu2j#dDLdg3>@h|l{=+fn zLiF*x@o`zeoT0P;MHyftzqFm2kJwS9lMvafk}CLEhSALfJNp}5O5mHH4oInA@3PiOEf;Gn_<+0;1c z0;q1eDov*)cq0-pc5wM}Qhd38gmTStO6g!ASi8vO1IsK_uy5U0g?)d9m`i#4ca)j_7+sAI0D#cAOm+o&HSS)x~B3>Ch zu(cdumhHk~<6YZ{rP!vHzk;AR5}#esy}r?`c*zXc&^i3XyZd_P814@ z_JX>~?wr|J4x!3JvaS$^xT<@q-ufZ;*}|j_b!fF8jD0ozn+ePZ6gEBdw0oQ z$HHVsiYK%rlh@urkYPqg;k0oml_KyvEfWw0=sgH z!8>+4y*zv0SKDS*>H)<_^t8_uf?a4%6P&*)??B|$YDM(m74RE z(|F4ZMf58X&h~!b+=Mf_phkloRZBzrZ|{fQ_oQ}`|BsV1n_F~Nh1;f3U3RQ)T~&7t zT8Y(r(X6->oHR{;I2UMpUv_E!YX^bVDwoc~s_U#2(PKDUI)s|$bZTtEdA;0qTiDy> z7NTF5?>eH{C1G^Hm%ZZc$jT?g$HLc3G!(V~U8+2l-J2nWb}`>f$MeY{k#|M;Qb zp$~0ec4iRlKBrt~A;EHm!}D`mHu}Ovn|vWgVpwHq8MPNsyj-C-qkus%uslF>yS;WH zbSlRis2sh`(KFmA#d#dlQ+E1FM~P`rTL}?#O@f~Vo951>tWwS67Sb6sde71HFfCwy zeOGyDB#cChpY7pGfg0ck_a#CFg>pLRkA27#rNuCL_Tm7kSAI8QR13-c`EDxrS9n2< zz2;G$-g-La?S|h?B<76k}I-bu68% zXy9LxBwi9f54dXURfDASKq?5Vi&S1h%3+yqQpTGB@Bvc4%|_Sm#CO|v5sj#(FbNty z0(ApWl>6AJc$YR#dB2YZ-y3J(%Ul?blQ&->|8tliS{ca!>j?Kg$3ALQr1%dZ@s96B6$zk&=sRpuyA(y|UJSwPAYcl9Gwmx>5l z@NUM_iXSN25a-TCABl74uv91;7=}OrbGe_Jv&{C&8dZk#xVW1(R|tf=i38Wr%oCHB zpe@oI^R9VYkX2$&MnuW2_PZD!NS=Ij?bP}hmK=L#{3)JPT8Qe~hl0UHbn9#~U)h!Z zA1wgFX7u>MqmLd@&ycR4EL82PyVnj5ieFLtHv_X%d_~ArX=H6~?S<|_f*}V2ud-xj zcce9FrweRALG#;@QB}LCjRb!b>xJBghd9F)yEXpHbnr)mRp#8CCO!VOTx99u4?`i%yx{mxlPi2jUDQSU0A=Qpx>{2&=l4)Vt{#%Y`_54P1bC<)A;)*Q@A`cnf}Z zog@GJ?R2aOJjdtqmv)5m7cyb>m?nN{CYL$xd$X?0#j-LCxprz6k8qEhN{j|&iwh${ z$`Iz+@a+a#)D~j(h9B^L`e%CdG5X-%XuSSB*gTb|n7{xt7mWL=Hf5o=>uWqVem&`e z+sc<&v2txZC`i;Gh)ASRMzdaTIs;ut^{gj7SHF;wJW`_S0Rj3sVA7BSIP{6@q|Fdl z4JvZ^8GpPT9Qt77q&2wE>QCVTNN`E>d<{MgG9@yvCP!oZn+ar;P7gCQdzdhVsU1;Sv@zFq@$z78YwA> zCt4B$pZ`gG@n>{_RlHMrRXl+VQQp4zs}_L}725P?dC(pybdyt92xrOZ{w1t$_(Z)% zF@shM4O=iV+gLb$ z&%1*vM6GamVJ4_qWK0ZK-`et!*LuZeqQCuZSN{*+0S?<^BvUQha$K}i-B%0@Mf43# zV*l$-Sk0cMv~#Dt6;@3C{1yaMOqKFDk{>qAIz2psG5U72Sivc?P;0}ioly&QW}Dzy z^nqXk-7to1H)u6&2e`8Ga(45-KTbN@3K*LFY6LXDsfou3{bU_Etdf*_t}By7CW=-w z`hQXNl|gYuTeCB0(BN*t-QC?C0tB}Jf#B}$4#C}mTX1(saCe8`?#?^8_q#t{6;)Hz z{5Z4a?7ez*uU>x%$!d$1i5f2*NCZqKx2ISokl+5pWswr|5?6J=KC+qPv3zYtlB*Vg z{epWWL{+p6KL-9xZO{p)&JVU$3x_0FLZ~3xLkbFkSd3r8KVFstz)^tDds}~hTr!}q5p*bCInU=|C6PoUv2XvoBLMTc1qcDx?BF8pHL;1}VCoTmP zaJjdpI|)4X{(t~VtfR^t1WH82)JlEKH1>>D*tS^Pm!m2hz)@zZVixX){b|r0QcyP1 zVU%_S(mV*~=z+?W>ZEeSxsd%>k#Jur3FG(gIB4PXIdrU_;PLNA&J}Mm=*F*L^UHeW zNePtU>hvw1Q9K7(TU-CDN1{~BJaBym+y-jBpYLp1%Vybtt@@AT=Zt)3t>%~r0vIWP zm8ms3M;*BQ@-KYPseWQ{_{b0hWJa|+yWqx`(|!xoqxg0n4FNiGwX8|hi1uP7Yo-(u zP{_D|H&MuVGIh_X#%}eHw#`rhSMugSnn|tOld|4I-ECK>;RxGd>jb$N^t@?R2-4d~ zn1g35fWYLSwp9%J;s}$3yw9Yr0(oLUjiH z-FS}{5E=lmjNMrwZg+DIohDQCv->uTub+9T4#xxJ%bg@zyv?^ZD6fYLqvkamt;)A& zg9;706PLDaZ(T-gUB;CA}CxUcc%K@0p}*7 zMDQq~z8|liASu}VTvIH0S4lutIjpqyfx?voG=G%) zMSu8BbAo=rfpelLWZ+vB0FMb)dj0lhI!3y`I7kqT+#Ot;Ks|!<<3dlgRfhJzU$9>7 zopP}I3=`qx^R3YHNwh&e9^uPsK0fjxo$0Q3S$WZLska03DFOccyVPS}Xf=REUy{8c zaiMaBVhroI=)B0WAc1(A2X~d#1x5dPH@E7mtHB*5HgL@K1FHczEOkCg{N4c$`PuI?Z&950rOf%4WfS|_tX+I4Tj0-;wV(K9Y} z3#LTodaPn{4^#w|0NIrr;T%D4Lw3BtU*1SaNFrZEmI9y=fE%sd7ny*25;G;89k|ng zh1mq8)K?01(l%jB(;%RVQ5;*W}v!XzwFlC z_l-u98JhRft=gMxmwrKO>NzKEdjqv-@|5154bu`O?uA#=+RcLvox5YF0PABSTB}g2 zQmy;7!WUO-1E=1;7<==y%%kC3{y)vS&c_#gfEq<-caSSB<5m`u<0NrsRnfMnl#G^{ zvy2*OwJQS1XaeWPf!$@izIr71*1LP~f(^bTK^Iseggzwmd+HFhS7&aSf4{&Eqx$`&l`+kQ_aOwKhtJ*Az% zH{BcuWl-Q-+0gU^ZHv-ZYY}0*JgyJ1$?Tf`9N|K6*@%N75Zpp+txo@MVqBd~As>q1 zhev@ZzuYxXncI%g_R zM7dI6yTfY#=PtPQL@HQOP`&(MvhO=zp|N#r*6)9dmE7)UdD{LKuGb^~18SNR@&kx# z-Hj}UfG0rcW$R-}d3hgTH3R&?U|?bb1w76?47mIhdCAU@b#C#DOSI52vJ2%Y>ns)y z-Ol^L#rYMBdkm6G0O#XT?14pLrz)*XSqg9GZPiEKr;z^3(1GJ9eRK|m;$0Nw5f8g* zBV8Gq5>l$+I6CS*yVK5>0t$p*cCrqrm4GzBHxKepJ8og}sse8b4S0zh zW<9%>>U=L57AsTuK<=1Imsq&PPNGt{mjv_*t+W-9P}=vr^|&Hckh0-3x_C~dj&`=3 zvEf3|FMlv1J})kPAfNhB8u@Y^sKj2*+P118^+ zRURU|&~9KMBWGdjrZ<~=-oYV9Uz4MEo?mStbpQU?J*mw6&?b1!SR*s2z{j}2mFU7R zZ^7s#1>1Nte4@SU-HTwzB+VDmH@p2Udy^?!uH7zpyq z7Rzc??8tG8EhPBV7TNxY3wx{4QPP_39Th?lBzfdxD^kNy_U#?oC1L=@NSMjdZ1MR?<-?$tkTND=HR2L68femC7QOo$+;-W< zhh@hSn!x)3tKpuUlpl+)u;J5CfVoXES0Fa^?5`?qETzsITgglF6r@X-pw1aVh}*+7 z9Ba3Kd^!KC2$GNM-zB$;N+vNy_&@wE92$z9a9=j8VFlrQ&#G)T&`wp$K!z&&4{Zzj z4+un>fN08o_W5a2wHb|;B)SmQh21OC2EzOt#;4Ll0dy6N9%pzV_%XC@ZN<;S!QSXV zeg(T4Y`X@_{V}J#k_{(A*NcKO^*-0goZ-R%3A>=^RPGi(>r@j$aGqlh`s>ANzSGsY zjUwe>CkNHbg!q}zVoRoixLz!7<_ zDXZr6-g{i_9dmI$0%2mQ27|?_dzXRfu2<%OurfIWO#SYZp3?bKxBB{Q^UN5fY z({XtzH3Og> zv;#sz46KMbZVEC>O@>^;o(y|2*H5U}7;wyC+Y)tyZtY(p9qR1X+zDCE4LrY>bG4V2 zp~E}=y6_!YzeQlIq}Jl+b0h3bXJHfZ5ZPg0Q@1pnZHg_xtJCvk7C4*8pcD-eV{65x zmcG@`>9e44%3P@<9vE^ie)6?VJn!AzGT*-J^0oHRH|VUwU&d&zZK?w6ePkR^N?yy0 z(n1gpA$>#6!;~%bn7IXY3$}oYR7au?Asy&23W(xF$-+A~%FaLk`G@TdPi5h6u_&~!-M{IoEb(6-ke zbv#eFTeASSi_lE}v>fXp6NJtfj~v^o^{wX|;_R%h z5SA<(D?>Tkr+*hCoY$-Dx+7_ps>K2t8zQt_mNO~6^AkVbPFhm%<*0SQPA{-^ni2gD!5(s`4v_|La(qP+Jzt^jywP& z4)noxw1zJL8!7zY<#VO2EW$}Ok380MvV~e{UYPz1pA3iAArU^g;K$#Ualt#(KW--K zXr(=QJLkB1Lr8yia$kd2-%hS_@5ij@noKOdrY$(@EFZqHwPL2Jd5z2X*;VyXM5<+w7|qYQoXj#S%a6h(1%7~T-#cTatKmrv#! zk%VFb=K)hSjod+x>w?^28tD@f^^(kQzqgQZvz{Q_tpi@4+3jRme**KplAgrGnCG0) zD%yOmm3sx>mhIPE!d7WLi_)h(1do}nt%dp{i2MV*aKeoirqSaWy{?-!{yXA^^pehk z-^e&4*Y^Z)FFuTM&t`;+)YMAd8!NCOh$phUsa3EBF3 zvXi__I?ahqotJL2+aE!l8?ODcdy)+t;T*MLB;VjTKl)8Lt}Y(i<jsN12wF^tJcffW^aeGVv5I6MkqcCw`S4gfe+emTazJ`8Zz))iTD;P(`v3!up<4 z{H=*#%))2*>d)1Km#jm0Ti!wW5iP>i-R4z-uqjz9BH^PiUok`{%2dc?a%JkXF_A6r zL5`AemDPx_7v&XQIv$FD{DVwdPMHl|Abm=#d4vez>n>wgS$B!bQCA|@GfhFmM(h*p``(1?YU4vPnlBMMIc`=^N~)1Bkf5aNVG4)*8&v@@Txhu5Wn%02 zB9Q9=Vg78{Y;~s@nN64J1Fl{M8Xc;s#H{mCxwx~{z3}s@?C`7h+MlTk1E=Vq{x;!`_1E2fm@#Jh4DR?K5TiZLVIiR(;@*{9K|2mAf6MRC*(LCf>(c1 z3HUchChTMr(RpvJ5+ea}u}9;JILAx@@89{PzmHYCK5$K_yxn?4HEBv@Rmms$^&&Gg z(u-w(ZxL|f1L0f+xfHUJqGH>97fnEs1eVBT|72rkxdHyj;Y>Fj`xY+~8BWvr7^R8Y z(0j*z?ODC&>1Es2?yZ!{aLF6nWG5!Dq|~~*%+|NxzdD7q>zi-tX%w3+9|3shSTvqo zcvuk8eBH$@CL8T?IXYcjy$2&zRy}z8Jl%HCK1=9x{J4TfL40j$TSXc&1HERy#DbAl z(+yesYwYa<6a3}(JH#JbxzJ!diCE7ZKED|l+Fn_RGQIuH*T<)f5l|!HNZ@Y7iJgyw zT$DtdW%GPh^)?B}J)?#n^MLf)cBd)FztlixIaMs`Bx*Hs>htc`Efx2zFU0FU7 zR8oGO!#z`yaN;AIZ++4@UUR8DOffO5T=GjD{gyr3=oft zV8i2pWW`nCy4^~IDC^Inr|LH^Z%^xR-_yt_k7y+=st2S?N~iknZ3E&yaG?VSGME4w z8=8Ou-IHG*7n}dFG!H2f_lSQd>7y>1>34?K^IyFL@_2bdr~@$^gAj0?Ft7_i`9F)c za)H$ZaTi{O!>`)I!p}dS`C509OGy3vOOomQ6-Yt!873LgbqL~CtJz6I8F@_GUJYMe zZ3mA|Locp1lguJN#c({B+{xL=Vy$xo6M~iyX6Hx}qzw=7#w1Z9V(tUWF((Vnp~+}U z&rdQ9{gZVn*uzq{JzrszE+w8sbDGZK^w`jUTO*xlm42W8EBeeATfPtW?IJE&nQ_n& z;bAr{+s^teLqY>ty-@)smx;0LgE-K9)Lp)X>ht~$BEr>2<(v~Y-2h#fSVP))KRfb2 zO=)U%SPSukCB7fM?Br-9myR2-43xkyW5DUZ2tF(P{j&C~#ZG2?` zagS9kq{;{!4Bxzw$6e%nKXL9!@etD-nPi9LE!m~?osM15teY&zrGXdL!T*g~8W#;u zmjY&6X$gJ^IY{a;s6XfYvOx%hFetWh{;@m2)9<4#WU>%ag&UrmBh-ax5$W;?`RF-} ztoPRx1pm4!mAB6WIdkcfqT3(H{8YMaQ7%okk_C)7=}#jaE-q@=E*1l-k?1Jm+;VUH+Dj`1TsFlz-Wq4uV5r6x2rS4p-{YpX50ltWB*Nw8$ zfd|DwGTI#(z?SQEUsC=aQYy+N;8W_vny3(}!c{?x5_NGt9bj@y`E;)(++?m#W9O9P z9oc^L+3Ryk?E9A*w2$Up!DzD*SkCQF&fSM-8PZ1n$LT~@t~TW(Psan#lh!lj3dG_} zpx@m&vF{jN(?VV*EA zP<0FEi0E;#h?=TxIo?elyWA8i8fC@9UXNbJag=g9j^oZX)wVagYn9q_U zYj+B*;@8g9cd=ZB7p`HtAFo>CtnMwAM}K!txiAqE`-j%`F*xqTphP<*?Ul^l~nq_rtG-PP@W`3f13 z;JRvHcpohyRd~tE<&%xp{VRA>w?WJeiB!wl4#(~Whf&Z2F=xN|((@6|Yh`sV<*uPg zRb0m_=|Qc<;~tkI5G2dnWD?ucU0U?E!fCTnP4iYCl`~?8@|EvBXr*y2TB)6I(&tfD z{``$(T+ch@%%Tl8!#8?hJ-eCAiYP+GcJ()E(Ze-F96X<}DxW2xqK?3x4_^fnW?IkMV&rx3YqhYf|e>bOgv`W}QmtePe1OKN5koWr2xhY+; zJBz=CH9T8B4sUe>_ZpCkCv=>r2;ahIg{T;QR1F!ZTn}k_UPx&U#w?s!$93}Hn)1?{=m}Fk1U$1$({fyDkXZ8&i^9B?L zwosakrbyE*N|VCLrbdBPi1{}JyaGjiy4nEm+h|e39*qx}#7DbvjnF)cI>q82=3=&g zi9Wv|L#mj+&gYUJxO9vZYr?pUFbKN47;`#{CEOTzQf${7ux+a+5gBD?tQuY6hkceXdZ#jMih>Kx?xS0P}FfhCl-XbKk z)yXwgsT!=ZbHi%Jo_x9L#K-t8OdKth5Mcj>tc_M)|FVCusQbG(1O%a4tBdFW{J31P zac?fEM;`yG^l)aql#x!Fx$0H$ZARjFmHy@GCDC40hLI@CfZ>LB1t=hChz(`pn_+sZ z#|xgtlkfI0RZ|eMefWtGf=GB8yM6Zbos;qDzK%N3eV0MiCr;^t>#MZ#I$hp54M_Me zX7^cbcNuoynd;DU$BGx+p!oy~x3;jhDl_ZfBnsdnv(B>)<~d&w9$FU`@w8?V5J2Cr zL~zOvghA)2a5}`p6A2|COHbPH1aI&J2{UjiC}c5v$*MIV3axiYRlI@>najc%+j zW6vKL`)PLuA~c=!Sljv%QC`eS{s2IRo2gr{G0o3fNw{uw&8%P{{SAS9QO`M(^Avo( zodAygt;n)(M)5y75>yu&7gx}MtP0MSRA z{AKC1xJDZ}M%v2#%M65Mp2;dOo6 z_Yk|!Jy_#-&;FoQ5!qkzC_6hiiA?Tc3WEKsaj^6N-);w$c6^MtX<2({k2 zI?rL*;k4EC>~kyx*5V!5Rw1pChs#2*z?7)BJVg7$0?PVe0vi)1hvxQb2A^6;lYhs| zm9v2>M!V9tlf?2^V5!re165S#W+;IR1oOv@#LV)iFfK?L9FbvyOk}f>H@lA;hKAj4 z{N}g(nVl!dK|d>J*)0qg%3Jp!Z?{XYq%%}avu5j|9*#MQGn#Na2Ixl3)MXz(ArQIc&KP zz)p}LwRp2&VG&JdS$w0ZpEkvRT}#lSPot;swr&qRQgEHO-u5?Deqgo+TT#ya{2}#g zL!74{DwQ0}R%jJS8t1Q4Yn$8-c*Y0@IcV0nZnp1uvyfUPP2V1aFZK}L9_vsk9xI*P z;3uJAS5+S#I6&NoBiMG+_vdt_;-ND2zc*JOZPAI^%mNNx*41Dk_BV=VuTQlRyl%mh z-t09_v=z>m%bQ!+vixmM5(A{4;QS!s3MtI)nDe6XT*T)^RqknMm&F?+=kF*n-mf{s zBTDY5fvJq!x{z8ntGwEtj$oZtKgSd_GgKQ!8RCr^*EW4hy>7kj?;9}BElk4y8VpvM zI&y#b^NWupv>or%9@I6KPJD;=Cq6=`p>Ia=oKsWU`fI90q;{-XGDHIlZRv=_Jy`Dv z{7W;f)@tyK3BxKKdjd{h$A$&;XVOF&osU6nu}JO%2$Aov8HB`{#!I!}}3E)M21Kw50#8W{lH#6AkWS!ZQgJNVonbhYm! zEfQZniCDUOjfvQ{HcbnOa&nHQjIzarJpf zzAm=l>J6lZ?Mm#w(69415h~8|mx}$*B~QPRTq}C(*PZP`#DgH(w9nICd46`hnagLh z;!=1n7$2k+g@x3dnfD-kw}QfdOWp$gJeEIH&dE{Xy5zOhB#6_2dqykMn*mP4OQ}w$ z>@0X(4eH)QV2qsqx| z&4v3%`pr=~|MjMb=i?>l{|;cY#1LEM3Jr&cZp;-j!T4^qkpvbtmVK)hdMm4uZ2ViS z5W@!1oIPZlqF5Uzq&KKxZwtmF&im!B&FWj10cbKi%X88lf{6bvGE6f5Th-J8F3rLj zT;09$R0b*PVjco@$OI$-zFqJ&+Yedix6}I8@KEk~qmbj^TxVz^C752xs#4UMuVQz7 zw_6Mv*&e1A?tR|3T!uXlxzdX^El@lbqE@pyXAW4~%T2v%Ju8~j$uul|=35C_Ccf$J zvtATs2eyV_c9UC48oQ|&U53S?jH!z!1uzb#7bFFhWXK2z@l^C*;-FmMPr23#N_-NPD?w6e#=*vDi3;001a$yOGD}D#2>lGd1n>I zAEcOPRQF8O3CQlkTBgO(LPZYJ=`f7{Jua;s#W?~G$<^@ zj@wUk^gEHC{gQ9=8Y?_skWS+FY{=2q&nGdsa#cQhmsgOa=q6^8fnP@KJzCr~$dgS--KW`C2OZtPO`P*`^O4NOnwPre<7Btp&=12^CQI!AD>mG4_E z1XMGApTsa6w+Nb#`P1pDMGxUCQli3^q$LGfgBCW)dUWxjcY3(X`EcW#``4AuSbpM8 zQUKEX9I9~?HRDQz6-~cu2}*SO0~wRhEoZ^+Y|H3h_Cq489GmP>ExYP^LY=}l^g8wZ z7ED9)HE?MD(s6-i>qinZe#zsj`Z1O15Qlr$d?tnxY0a^jOzCI}Mm0-D5DTlt?tzmA zB$b!8$ZnT*cRHYx(%b7{w9JHfyUV3`FMecg2q`9O8@_jaEc!TcJUoX;e|py%5ht5) zEvhPtOV|Oo)@Oz8R-v?&0s1WXdI7TLPSt)^iT*oD6M7;`SGw%5g;CYPebj_4Wl%zW z4tt2+@@CAG8^|0U{4Cu8V}RE$wpn;Ewi>~%jrlPpA~ zpPOBZK*1-m?jIWu7F}^k&<=|1Ge23?TsEeTk$6-;3XJTq>L<&V8Z&=SmqITv9GGEv z*Cf+UTChMMO4^#~MGEgA(xC#vb6x1+t~Z_;2rU+Ojqv$9vooe7bSI!k$)E2){&Lwc zB_+o)+E`uAg0kwSzvO^lm(J0V>UA3pF=>K5S{>$>-L)^X?YgchacR$a-9|u#Q4y(V zp?x)7okql|0gO*}1C;NLZn%F8(pEH^ibKpj-AsMMXVUegHjc>>hL?t)A=HBYTzKbo z=UEJ>jok<73noO+PS_C94SUBL-^$c{g2E?vd9;;;m&&zfrSTLvBy05J3UM*~$gOMo zMyeG$5jt9b9L%GYaguB6b^4DHz26ty1uHiQ&`5R|NmW{U{?cJ&NzE#sE#l$Ji7oR( zh##Uexov!H4Y-I@GTS=&oX9NB3u+eEPr?!{&_Oelxpe!Qi|lSe77hn312Jq5a^)84 z7Wm?5{joB<3Np^GopbNaHC}lUT+)vBux&lo#xaoN5c}BKGztwP506c&gPmIJhi_$M zZ7CI`h3Vwt4xt?`n9h-jk`Pc>^wDsCJnNH;>f}V=M?swWvGFWE7Ow}p-Ti%_Ck=+l zP>h6{np%K{{E0A!Zj2-`faR+y09n8jtw7{b1wr8%_pD1422eF{n~Lac;WszxM`EYH1kyzEDS zi^)@J`fwV78i6w_4=V@`r5Ae|QFt4~VTdT={ZY}3ZedX9bbuGeqVqE?NOJKcvmBo# z0G;dR=xjODc!Cv}fS<-Zy}X0!e&5dPsjQ(l6O{zRhlo583He<50WT)|4e$G&zpC)r z|E#Zuhh@8fo(6!KQ2}7EkI!Y(KY(pe(K0bOD9O&r`Q%$&*`Q3KussN%h&O3{L&8-6 zROBsn=QjjdBRJ4I6Ggh*-SKX50~js51zG`c+jj!Bt!>S4g8n|55iVKP?oGJ1U!OxH zE24Tubw1S5n$1ct=fr;Oc{t%oCZc;*x2=DY2|yfuq}cookL91I*FfkA**4$%<(=%U zdRuYV_ZDl|dA!LWo5@SLbRv=h8jsETG_xE5)M5=%f}A9Oq5#VZ{QWwCj{rvoHXd?R zE{K&JBg{AEp%HJ0K6s=r`(|5kNKgJ%S`O^Cpy!(Bd4ERD$T-;QeEiSM|NBNKVRgqH z9w_(cPngqX=yxy;BV!2QFt4BxedbdPxcUD{q#ANM?I+4arWwsq;^M`bUMinQn=}9t?vn;@B>15~``{lyFk77o;jjq&Gsa~M zq?dfMZ%akkqBvckCSIN&R;+uFApNtQ=dS&*Coa1Li@_G-Y5AFTRnt2G@;Gr!{6SA)6F+Pn@6gtNS$EYAS2R6HQ?I@G%3%iy!U3TId)+CZG+BIDoO&$_wixXqanMSTRThlLf%+Uu-EM zau+vrpMPHY*6ktt_Jyw>V;B*du$oYuDyXLaK=u3AO=7{o*ZM*2%a_u}MM3W;5U3My zX95WWec7}M&;R)$+1MaQBEoFDw5e!m;oOL+e&lF%c?9f}034?n#C$5nn;;fc zSVVExDE#J96X-*^_%LLoE{9H1E^@DZ!8q)FP==Jq1$zc{V#w4a>Z2BO<5Yvj4Q^SI z&<)A8lZz8*7jhkjq8V`niiXYpxXzpFqfm(!iL!xA180^LcDmFM4e#Qco##IelB6AB z4VNFtZqgJeSUFC!{0rsbn}Iv3sHg~4;0`e40)gsnt6yr%%gTEHwa*anynC?KskcB~ zwc+x(IWU?CkQpw}l*6IMnX|}KvEBj_eh|4@LtYMAsI0N3UEx>4bXXi~w5pn9522cs zJOn3Np}0#-sWwa^-$bVvEV>T#4R`Q+$Oa%ThPzRBb20Ip__6@w441mFHQTy9lSD68 zERScy_$KVPsYUd24x1El56wH<7oDr^kOdep%fn`IvW?@q%g3`(KKo^k#6Ah7fe)L@O@6V1NBr0#J*F~R(h)|^bEy}X zj?jOFW2a>Mq%EvB?l8Ai7!wC`>dS*i`s-ao5?CRWf6SF@nvA7$G(T)ds;H|6-5xLO zWP6_VgrSnzP0LV$K`=;oK@kz~t3WHhe|k{+&2I3j=Xpo--(($}IWm#d`E8N*#u^Fv z>`1~#*W4^ex=g7%?HpQ?hfr50?dM8!5CUPd2ex4-`op1G_cPZct-tne6`r@1Wb&42 zv~r&LkFw9_&tiA-^p+>VE)woQA`9B%b7Sa`Cl8~CF*Wb}JA$?S2hXWx+iXIaj$9O~ zJJq1TW%^vQAO@9JF2j}R`GK5WWlC+W9(gV2BLt<(Ki#lR-KA>!n@RowNAJNyd~k}D zFY&arDMFAHS*S1V;?Ri{MxP*^+x*9|L9b`nIkQF_!$orsiB*Zh;(Kz~mh9N^Kgdp@ za#v0VfpLZcXW_p)B8%6#m!WAj;Q733qbqvmupbaH+dZE)?ErlhrGU;TRb6i${D8S5 zoGy>dSMh@29^+rurm$>}kc8X{;{6_!hy@6C0J$hR-rL!=8t7tCS{hCMWM-O#CS9r? z85_bk*>HsRethU8?dI11rTO&K4AfKITQJ52uvG|gpP<8M58^OH(5auUqPlRxK0(rD zH#8!HnxBwJx{%tPITmYoJe`&vV6Q{V_CKF`yzZH7j@$?A;qw{lVjjf#v7QWRS_$=} z?SGtE`VChv0QnofG!_%HBA&f;_8n(6)kKn9g^}(#Hd#C-OU+7rqYG}UQSn>)-MI3! zBFN=@ozQB&f@STjFj2Ahf_A~6RiWjsv3Ulw6Wwp0fs41+ocUDL$`{#qHiOB! zp!oQrMfcYb0;HNsX?jA$y7z5qqX~O|Z=rU9wlFZ;=EH6AQ6zMlzkZ}-vgnNsb*!1T z7Gy=qda~3hhq9&VuMHGB*eG4-(a|I``-FD$hE@0`HBh0YPEX)i035 z(G#f}TY-s_2RPTleVe<*EHlj?^y@wvQl`>K1fTbz!r z48a#;LIYtn2@}h);TKxBfmUum$^e!ehgy%Cl6V~!0wbJ3ryq?rMWf-Ok&GCPah7rW zyghI%eoEPD>U-KAE&CLqwb&^tpPIIL>ui7AY5TMaQ;}xVSx{~OJKjq9;?i+rE>=14 zqXWA32fYg8l%pwmb~tmpPjTEwl279Jb?*IcEBjZzy-W$0eaQQhGlxI>Fy}X7skYg*5Z#H1*IP_&9=-FTp{pmcOJJCgf zB*+xc>^kf#sP4FJ>&oC2=JS^g&`Jt;B!_dc;L-2-Q_|_>Fw)xPrUBQ^BSOW(S>S2K)Kw0>cHU2R!THi6lRWIxry^p_6bF5#V6 z`2_yE7~62hH@V05oFC5$(sd)&rORerKROUB;(Iy(Ygty+^r`Das-wx>Y>?T9K*Ysi znA>J`J|HZgNwe9V1vg6IsUK&g2)!cPdNmS;#&DR_m}D6{5T+)tsUT-w7H-3t7d+JQ zpN+YI4|KXWX}Vw9zOTDF{gA%1M0$Z;KBX!d|QoDEjsaV$YN5{LYO>QYJ>B50PHG8Dmov z&IH=}_?xMiZCQ)xiB}_id;^Vq-X(XbEt8k_{{6J7P4+)+XvC(CxC?kBUhV;~v}^be zEUCMnvSCPqfXB_c_XC{n%{B}*ooZAmxSxD_GYGrb_YyYi_0cABsiY2y8Av)mYy35C z=aDSfPl#sPU|S;D^xm=4&d5Y9uQyw>=~E3UBujd|Pw452(*h)oaTrpjM3-cJblN`? z`g;$BG-&vdVq{w^5(udWQIEeFW?bww1&eumtI~|&uz8&qoE7{SME`sd4qq+((>E*u z(b-QsYtXMzSaG1%(c>-H@Mnh^`LE9dZiIx|52`GQUNDo2dF_*ls=+LqjoLPpf4_Ue3^hN0<8_#2K7O*k4~ ze&m!_b_1zN3kAqD`pcir1-fjL{rrI%{~>eEh6@piS<1SwG2sJ99OxTV(sXiW%D-_8DlmRkN~2@2hN7|yg! zVp=bZLeNGRk367ezkLc&82ke~*O|)mpaNUE!{STC6ZX~rWh>*E(FBHR=7$#AaFEmC z0nMeZW~xrb!{rj;Ryg`E0+D_D*$4gdH*~NPTTSopPAZXIEPMp@KVaSKki#$$A%6qr zBVQ=NG@PFN?_OO}PwuQ)CwUU^iqDJuu&K{<*QYn5UFcBN8z&Hy{etpppP1RT6rXmE z@ovw+dr>g7b3$jlgi(FPG-OMnZDQfzPK@RKIzOL#x^0pr=19e1{Y|EVANR2z{0B!n zY;Oh31^zP79L`QI43z9FhIKQ}`!Yek`3RA|@k^*CVU-*3J=`1!(1Ec$!`>+I3)%nPOg1736nT1_T>Amh_M5XY!< z@Y~5F3Xhi}MxV3W7P4)dhgg$>U09;PfctIDke!WO35iZ4gz`-bPjD>zC)~)PdE$f` zyL0WI$!1dcR|GXIV9%V8P8DQ+=YQ*E@O(j{08I|5MAN4DHIG_BM!jO!ynWu>ycf1N z-)z_Mqt_hyiCm1f^ySsTsX;%O&`(6otJFODH7HzYgI6u-iP)bLsPn=U^x7`Jx84q5 zSEm0`T8?h56|pCmRHWU30wJW7cX%uDdD!IY!9JQ}3N=_H96u=df|&yODA?0-<(@%m(u2*+lu)8bnI`T}+u4c?DVRgU zxO?myHOfk!JWo9plczQjnOu@YAPcXXiUD*7{pD)}BLVLPYE5|weNq*3slnJo45u4#j z2HDi^MVn}mMgP+RbT29}sH}Zbf;iuxzFT}j_v>1V2%{G>{u+%|8~U|-Uq)$G8`D?# zNODAVs*AZ#CY`A%sE|LL=&xzt<$|@)rqVOa+SzHunnU;{4yVldM7Uy4yB=y~t3cp%wuL@!50N01$I%wL}d;Efvgyo+j+0`VBOy9yz7%X{=OAae%_$gKS@6 zR5`*Q8kSSMb8bNAWX{cNs8lHwF@ucN1gvxMBx!ujgz#>dY({L=7YZH>zo5nNbog3U zSdQ?Rt|rBD8{~^#e*mS^ynk#Pe`E{^nL>_6Xv3?OFDY{T@C!TDlWo(9=6Iz6t7TvJ zuN)$kTh>Yn4MeMPkTC)}LJTqb%2`Hipl@}%XsyST1PpDpMt{MF%kKeUyOGkH`!eJK z)SgL~{+&#KsSn>~r}gmr+{)Q{=JIxIA%Q#?-Iyy}F*t}ws9OD-k-(L~z;>@81CU^0 zw{`7~?6U|K@(kI8-#4e0&>P7L{wphxt?|V5!&cBnW@o_RNsOI+o|a~870uUF1>(m7 z^CTw+AF+jCeoJI(&C55#8NOkwNvH<9jG)<6D6tqT1$!qFoCh#j&*r`zV zZA^Xt$iyXY=kuF&#?(un*nJTe+J2HfD?jA4O+|EraSNPKU4W zJp7s%W3Na$ON?!-HWxpoMi@3^tEx*6AVzBoRKqT^4m}v$?YUx6ndP!M>+0b7@Ox|5oxr!RG7P3_Ga=2c%v8D4%a)8GVa5qYk;!d8`)gF9q z!|(7y$|m~KQo_?)W&P>-VuMn+#JwunTT;Z+0RArb!DlBxsb8G%5z=mc0?>g{PmL>j z`**q?6)TA?C^zBTVTyOb2#hxqJUoeApF+&!b;uD%8Lu zF)MVTx(vQq(}u-F2dlB78GKS9p`%%86_6F!<|4K#j&W8C`qsa9|ASZb01w%55uS@-)FmgtydX*sTgKq*xe;7C*j z(_!}jOD*LZaoY4YbP#PvcDSg^tpBZXasb=t=3NN-Hyw0{{OA7D?F}8z?`zqM6*359 zm$1|UMI*t+K7ol21&2WD19i){vOavnGE7S(Pf6e?@eWfG=25`nLya zLC_?h{zN53k{EtUprUCo&m-(j{t$jZ?jb5ck}PGn6omIEL*bxJmor$aQ{L!h4e68exvXN(ipBDR1DzB*Ozu+MOmkwK`yEj-{0byyS=i9 z5vkLdT6>I83<*U5BrB32TV?$rot2elBc2yv(X_*%_roSkjaavaf-O> zk1ta5#Y@(ZD{L?hSF++CWw$i2WxWJx(LE&Chi|#9IxBtCjKXpNQ?|i&VZyfeci9Yi6 zubLm=syJn}Kg}nzSPH6bGYGp(-U6i93r}kA>Yqbf*@GXT4A9w07u)6((*=E>tR|r* z1|jyJfo8-#4)09klgFhoDs4xr)h82E>?gP)4dV|-L~@G#nWffJ5~k}}xLT^uR-hhq z_oMU;$VmR4Oat%`7KHXexJP;Q6V{o@Joh=@f0fAEixQ`fXET@n@|&if!Q5a#MEV&rCo*&|Xu=EWB~ba=gzna_E%ZC_r9i z58BJgRU60}aP|VTF;45{6%_E*-MrCu81T&W;V{iVqDXj}kU2vVCvb8K2hl&9Lhdn91?4 zl<3v+%6y%V1}#sX9~ZhSQ(02+(c{=Xd)5MCLppkTF99Ylx9%U?8Dh~IHXBN%+0^w` zpe*3hKbk?}YPsNiZlW1(26Z4PSwK!}?khS}Vjk<*cz!)wHCDynU%n%jm38X_9I>0B z2PqlrhEFOpTADCNdZ*bkFcn{jIdwSYW{>1M*mavcT5k;8FEL7WN##dqa!qbHjj=XY zRK^9WP%7QsQ!Gr${6N|3s!T=61$vhz>vaoz!#mAw$S~zl1d!hh4i0(((6P73_%;dM zO~^0#Q$aJoeZ7I9AzTQkIKV6}F8*loM{<5)VVmAV)0ZeJp1H3}=~mQnkA(;KsAt93 z%AFLX24gq!yaELjg5ME)7q~HBdHl6#tD!Vxj?2L7rRU^GaYf{GX0k|@>7K_V!NIyJ zIC{z|=my9TEz3x@pcr7pI(aoD`ZCT!-s|mM??rm!Z&!Ra6o3^;d`couMIv!*J5~oj z=@=TKc6YD04*XY$4dd8fVy;jq_+X2p)nk(Jz*iBPO!v>%Bj7#ME;al^NX^M=fA_ca4) zf}_X5?qjA4eirQ{ruf++(mPFGKGXO1=y1aW->BoH>gei*xNiinDMdy_%{qV8*43S# z&U0D%sWhG+TToD-lqhW4axgwJ5&;5$ms`)o|=I1=UCyOF4A6P6z0l&#mXh}{y zIX~H79{v2`_XQ`P>^qKb=ieKdVMV+`!0|mMo!wAF=l=5WUATb)zS-b!lY8=`< zT}^Bs;^m(@(IUBhsi&;;p+V6B^@7>L0a>aM{eh@@jz%#dDEl;+prbOk7uEQ}9B*0} zU%pOb2FKl%`_w>MZ>L4qeDC)w0}0X-H(7S`1`*0A?o~#UR0@05l0gyaGWM~bPhfU8 zp5o6WiCQ^Lx((AiP%)JCXBQTdJRdG5t=ae|a&(}2+||`})~ooo-scck(Ey{34XDxG zc1XKC92+xoT_4f0)d(Gd6=u=uiy)qjVa`)C1Povs_u#|4?83xdK~bB7w5=f@Ruv@U zN)+zje;pM2>p5Q9xfoYhLAh1#aYM_tUwqxVm+~1=?0vEEjx5CiDslJN4l4HM_@c+C zx?CR{F(eU~&4h%6tS?^%68!Y^^k%WOiqhqLemB(L7b~~zWe4?SK;XNzu?N)9=^Yrr zPwf6PomW?9^3b*hY|s=X*xWtAY}$B}I80w&jY@m)b8+fKd7b@!9-3GM4beKrqbS9g zxiY-5apuXAoTtO;j;KNv%DC?5**~ssO8>~<7zNPpz1A**L*5?deFfZUzpH0!%prs; z(3I*Psv$O=f4b@dx=Me)oaiyocq3n)Qn_zV5CILOkt%7?pQn*uQbGtJVGxJX(9l%x zbTICK81>Bi%QK$M`a`n`=Wd~kI!VZo@Aop5@g zW#{A3q~4o-`eu1<*M>d19NDZPeCS7r2~aG^UU$yCHGedq*5*#bYfI9IXhXr3E74rL z*FS;HAsC0o-3CnYav;zgrpn@lzrVk~JXFMp{RwE=A&@jpp6h}Jfq<nI(QyGLl3(lQz-PqZ-~vKk78hs7VdGexYtZ2P zHAaBrY3$@=m41X9rlpWde<7IDdtLUm^R>@Lo$~BG)ZYV1btE~;n2`KB1C~5-dD%_n zJT#1n5vt3_q4P6*s8f;+qv!JXwDz^4Rb$v~XkO!^(Etw&jk6uT@Ejmj_EDmIw{$vd ze^Qc)D4I{)iYnq^zDYUAzK_m~ALqD?c|?KJudDKt#4(M6t%TI+r`v373~-4JpF!|u z3oX$%?%yI%M@%5E0BM7y1bMFe_hVIJX;zvfyeHw$m}57^V%b;YjY&+zy2D(b6jG=s z8fkDXz9*mc_T5kQvNu|lKb@E=ANpN^*Zf-R)uwJ?Ap0@Ns6+(^Xn+Wb3l5@f(T{h? z@Ya$29q3iBd!e1wA;TKtC(Z{I@yYzLX}RiRFQk0qKTFN>LsC}pZ4ABUX3v1BFblp_>K8~+ZR3Oamc8Hi;k#gWRe^yx!|%gL7XjruShVv z@6XI79?W^t!;d*fv4*1s%C#v7KM@XOG8H-xxL%f5*1~?EI*d3mZl5W0Ur4>xScG2v z^gGHY!}EC2Dz|cbS^oJN>w$@)c(3Av2hot6D)BZG!biWUH+F2xZeEa4Dqa7TXm(F} z`<$-F;Ohyian?IGpEvm#lkta-W3#9zd4SU)8sc_$5pLB@c~WB-)Azs(M`{XJzD6wo zV{Acq9_8~$+T}NE;MPOjfUiVS?%#Yj{5ttN34hoSIhtoir`Gz0SvtBbGF|!ezp8&=`M)LEXg!Nb85u z=LFQDIRm7^G)%L!h@7qZ$5Eg)n}1tlI4`U-x^(-@kgL-^{{5WYSZ%qi0^im_^!KTx zHCb6aU*)}hS&$;$T1ADN?a0O`<|MZ+A3tMzMzFxMEk>h6q{OW{MTEiyz6Si!WSnS% z$cemuJ+#^g$6mAdx+f~S51z`6@y5okC-~x8XlNu)t5EhfVa!i;D*Q|4uA0Mjnr_yV zGA+yV2c!6+>!>J6!M=%TsbTXY$wz^O=P;A26U%P1|9GyCV$H9?l>cn?_COWZhefl>zqtBjo(OS(n*j5C zYDOmywIv()KazlTV{dwN|%aTB^J+JB1ak$G?72@VFHs~-Vxp+ zm7hxG({D1DKBs13!vWs}EV#^Nv&^XT`u88EMFX~Q{}6eL>h0zuQz>P&8(LonOn$%z z|1g9vIjC0Ms+ZhHEq2qfUBSL*M2;#oq@a4n%n0db*Iu(^E&GE~r0&v$ufczvzCD)g zjj)A?25h=V-0olEUGY)L6La^c=itN#YmXpy&)I_&(BWX}byuJ?Ei;y^_V~PJ^C!~g z83XJL@y30(5=WqSDeRS~J66ArvrWO%t@7N?#?Gyy3(oYj=xW6C!JZl(3r`G)kgQN zRE)x8xtrsnLEH=bs!ObLs-$q8)(YMAij-ca{=Bh9&faSIT7sDLYu2}-`M<1v?R%~p z6eG&n@pr;XeKyN%U9;>TKBx7QD=TwT+KpL@3eONtGxdEQg>)^<^!$9SwlSK5GMKYF zi!6=v4LBo#(o?hBv#q>>g6bG&XxX(MBqK$Ra8-%6oxl$|iD~&+@>q%&-)p!_R7FG0 zWSFJg^Zy*clPm~}`9^=Lew?{2M=0JHZEb0vqw$|f-|=5MUJ+LfXL}|jD~kdEwjry@ z*6y7tt>eCl-=1jclbVhzM3f{uo|`MLOwBtGr=*n76lfYW(6gcr7&+_Ph0`8E&V*lQ~{lN~#fj z7!)O^FAeYKvbSyT6hfbWur{RocBv_(cYQbbN%nn6vDr( zFQ@xu-WM%MKNa{hP0PPQkq`v$!x4(i{I>g|<4;#oy}*+;M+Rs{TIz&l#xHwCv(%Z> zIUyAywv^w5H?J;pz$0RgG_na88QI^lprHXZ1}D`|-87aGcrRIGemfi2Nf%TMy&k?I z^%pB%u~0?hnl{?w~Jq1M^b>>7nb8HeM-;T-wVIh7IObtM|tGSO=;PrzGnlwe-(Uo zeH8UX6d&K4-HK|8+9bF-#%M>bO!&0sw4dw#Ox~wzZcdF%fOStI_7TyoL}wU2-lum{ zWf1+7?}g)WZ%?*Musyv3R%k^<8g6MhD3`i<;fkWJUJ))PLW)UUeHG`*VahJ5zepIB zW%QvgfQp)ej*d$MFF;yvW@t0W9e-qafs!~V^_vwHOt2ODSB|pfz+xEof^@~*r1rj4 zkzUTez~seWp*hrFf>5}X@vn2*9NjD_QAmkTRJBNnC?)}0uN@k9ZF~cEU&y?h9SnbV zUq+c=2Aj4;Kz#iXI4C=PHIZ^%)*g{WQ=83;S#^+1c&`;*Oy72#iWar%cr;n##>>ao z>=4>uUEeCA-_fBFOppAUs;>B#@*#E_t)=MaESshK9+Dep_{WWDE=pH(eIh zfm8B8Uw;lO&*hg~I3N)vQpF)c8d>(jm7r{#LWni)I540LkjS?5&V$9w>ko}*z1gMT zr-vmfjsE8|?zQJtq%5*@*ivwS&#>fcBXDN{HgM&f96ivMg$gEzA-Z0pDHJJKeAY!x zyjOAomeQ_pd8`%9s=#u3u+a*Vp7A01z##?>NeD}Sv8l|ZpJ|ON(fAT@JI{MnVF+}q zv^Wgf%LUxP9OP^D_Q8|=wcgJ*TAAksuxpT?a)&06rtDaG23H^3l!qJPy=s@5fa-R> zBWCZ?3}oHBVwSmD6i!a5DlVhbO_NGFq(BKn>_VHsux4u3ip3_l#Vu`Kf~3R@Fv$uR zM;v1n&%?{hZw&w+&Hl5;mKj7SzDaw+!9%+%i5wkzB$IKMglyo>xAj2o(6|MPK#<_a zD>T&d+kDW0MINx`wourfV76*kqgRjXSL3H!fEeLP26{t)9Py$_)iW8?$6gay$ zZ0syF{Cw8vu{H$QN&z7-W^0;tbaXUH-cK5MJ%lC0Q6PVrK34vOce8q)?9vJpyDIhE zv7C6($qbMI9)M$rI!si9`^PXuWW2CT91$C5N6rFg+~Xk4xlm5}@rRJl!eY|^8fBoN zLN{-pyvyQy1lBD_*F1Ne*4vs1eJin2ciOW!k{pI6!y5lD-2#?~R5Rw+&> zIeG_c!TN~Z$eb-sXU2)UpW@twvdIH~HIy7iGRyQB1{DpZP=rC*LgPq6z#oW{W*w(c za!XM1AT$mGVb9Gn*~<6wpy7KL-zQ(5uT2c?-4`DUzBCUZB%{7xM~ZZ4p~CM0cK(Cc{)` z;t_rvIqVieUI+4))w743eD2Do;X88A@vw(NG!it4rqSF*34ll^m?X{}AfXsLrT_D9 zCs6bTXkjp`h`CwL_tl_s5Oz)%0^OBggn%xS!=OkO+lSP&*ueqGCP2{Q->!fk7XL^L zeN2aK709N?Dr~H*FzkF|pZ~u+;zWs{{#H%`$uBC>*uIB-jXlzPQom$A8A|Yo8q}f2 zfk?ZrC(XRYHqplK=H|xB&wmed3!GbQ%Fkjb!G@iz^~lc1fS@_KKx!E_#SVPzmLP}v zpL0ya4Ozzm!e55ZTJ{pW@zXyC2jc>%nRRtcWU5c}TSal{2*|?mKrLy@tV9aktHi{| zok9e&UTSilKkrkeR}I{ivq@$+*8Q$Ns`htK&Hs-3C&=>FxQAg!IM2CC_cjIuJhm>o zf8*`Uf4v*BR7fBhgzY()rhiuBf0-}zO_u+TO4n2@O3HX_wt-U_Q1kitFKVJC2}v15<1GHB~RKJAg7_ z`r@D}TtH{(bx*`>>y&1I&y{c6|FJ=io!)=j<7dg ze%@JPsyo~5PB~QAAJFv#Nc8q@w}=(MCV2$}S^@X-xmYLi%&^jq9;>2&I=h0!Z-5B| zRlsk6hT9sk9ey!~;sO8Dn*aoat*dI{{GF>BNIhqdUHTEO9zo_Y7P5C#vu-CV-=sy0Mx~8tK0^K>=Ls2 z&RkBe?RQyQTkle7$<8(wWo9Y~^Yf$4z5cv~3&z`)0=q#USO-cg8zy*7-AB#MSsqsm zo6X-L4x~`DOa>Xy+2!SwfUo^x{K_?!Xkaw$CaOh)1iIBh`Tf!t^C|#@<6S;b3b|r2 z_)(9@h^DONU}GF$%2cjolMc6m1?+T5f`e>QI*9iD`?!HiLNwc+vPp72lGwVkV42cC zLwF%5YrtgwyV$fgWBgwf`gMk$wJl2rGtJQ~X)9!xB( zXl=~}Nw0eR1n?x=4t}Hoc%MW4zP|5vGhu#y{tOre?#;VN;!i0#k+;r9OD#gSFF27` zYc&$Ad&ZHzP`?c?`TN(>TNkVW@ADB@!5uKOVUwME3BGCmCo5Rn21=rbj62klW~;=& z+}tWI{nNz)Teok8{%e)7SUK#JA1pht#~}_fp4&H4Qd3(S^x{W!jf}2-=%+u}aNC-y zmu2OH85+_-+G(RYuiC5Q5&;EkKcsu}Lo#fB zr5iN*%jIdLh7q!OLLk5Bo1l+6v_ael%oM`~FyYV*kfndsxYDi}0JvvWLLdy{P{kWXo;E@C zemtNIZd!Ly3mTT=V>f$oA_qzYK%@D^#VSDN1?Gc7rpMM4Hm(J>lu?xfDZqdWbU(~t z`nAG4=bJ%Q-<{TL3Nry0O99}FM^%3oz3@tAvq@&FF655OVg^v5SZO6C;r%OccXvrn z>FLp**m&OgG*7QkxC2$7asJ~u>3J9 zAQjw{`qmmo`r5_C_(SGvH94yRNaIaIq8X46X(}PVD9aeVugFQ$mMusU_I@ z7h^?qms|4fe&dM!2EM`a@r?wLnq_vd<~=A=*RX822FN$;xC0o|s}|-LQymX3g=9g9 zZ9z?>{(;#S+j#7LBS0ot-?=D%{Z~nIULE>tCjS>DjkTozKOWh+eE3PFj((Ue0|Ndb Ml{MkTut&lF0r@5=MF0Q* literal 0 HcmV?d00001 diff --git a/assignment-1/submission/17307100038/img/data_zscore.png b/assignment-1/submission/17307100038/img/data_zscore.png new file mode 100644 index 0000000000000000000000000000000000000000..c79fe49fa23ed2cf8aec87519e4770fd9b3930aa GIT binary patch literal 40457 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 z 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 NlvS0fcwzePe*hN^VD$h1 literal 0 HcmV?d00001 diff --git a/assignment-1/submission/17307100038/img/test_g2.png b/assignment-1/submission/17307100038/img/test_g2.png new file mode 100644 index 0000000000000000000000000000000000000000..2155370c1ac0fa5544e7e9e4c9baee3b53fb834e GIT binary patch literal 30935 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≪B#GM~x8Yr!9Y_515ijo} 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 E0JUGbn*aa+ literal 0 HcmV?d00001 diff --git a/assignment-1/submission/17307100038/img/train_g1.png b/assignment-1/submission/17307100038/img/train_g1.png new file mode 100644 index 0000000000000000000000000000000000000000..1b1c264c47eadb1f85822cf8ab1364ced2405f8d GIT binary patch literal 40063 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 AT>t<8 literal 0 HcmV?d00001 diff --git a/assignment-1/submission/17307100038/img/train_g2.png b/assignment-1/submission/17307100038/img/train_g2.png new file mode 100644 index 0000000000000000000000000000000000000000..5530bce8dde2a7a3787fa58ee3e9a37b45726b02 GIT binary patch literal 51676 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

RqI_!b*iJM_pq&mi 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 max_score: + max_score, max_score_K = score, k + + # 5、确立参数 + self.X = X + self.y = y + self.k = max_score_K + # print('k:%d' % self.k) + + def predict(self, test_data): + # preprocessing + if self.preprocess == 'Min_Max': #标准化 + test_data = (test_data -self.min)/(self.max - self.min) + elif self.preprocess == 'Z_score': # 归一化 + test_data = (test_data - self.mean) / self.std + else: + test_data = test_data + + y_pred = [] + for i in range(len(test_data)): + dist_arr = [self.distance(test_data[i], self.X[j]) for j in range(len(self.X))] + first_k_index = np.argsort(dist_arr)[:self.k] + first_k_label = self.y[first_k_index] + y_pred.append(np.argmax(np.bincount(first_k_label))) + return np.array(y_pred) + + +def generate(): + mean = (2, 5) + cov = np.array([[20, 0], [0, 750]]) + x = np.random.multivariate_normal(mean, cov, (800,)) + + mean = (10, -60) + cov = np.array([[25, 0], [0, 2500]]) + y = np.random.multivariate_normal(mean, cov, (600,)) + + mean = (-5, 72) + cov = np.array([[10, 0], [0, 650]]) + z = np.random.multivariate_normal(mean, cov, (1000,)) + + idx = np.arange(2400) + np.random.shuffle(idx) + data = np.concatenate([x, y, z]) + label = np.concatenate([ + np.zeros((800,), dtype=int), + np.ones((600,), dtype=int), + np.ones((1000,), dtype=int) * 2 + ]) + data = data[idx] + label = label[idx] + + train_data, test_data = data[:1920, ], data[1920:, ] + train_label, test_label = label[:1920, ], label[1920:, ] + np.save("data.npy", ( + (train_data, train_label), (test_data, test_label) + )) + + +def read(): + (train_data, train_label), (test_data, test_label) = np.load("data.npy", allow_pickle=True) + return (train_data, train_label), (test_data, test_label) + + +def display(data, label, name): + datas = [[], [], []] + for i in range(len(data)): + datas[label[i]].append(data[i]) + + for each in datas: + each = np.array(each) + plt.scatter(each[:, 0], each[:, 1]) + plt.savefig(f'img/{name}') + plt.show() + + +'''测试改变方差对结果的影响''' +def generate_ball(r=1): + mean = (2, 5) + cov = np.array([[40, 0], [0, 30]]) + x = np.random.multivariate_normal(mean, cov*r, (800,)) + + mean = (20, 16) + cov = np.array([[25, 0], [0, 35.1]]) + y = np.random.multivariate_normal(mean, cov*r, (600,)) + + mean = (-5, 22) + cov = np.array([[30, 0], [0, 25]]) + z = np.random.multivariate_normal(mean, cov*r, (1000,)) + + idx = np.arange(2400) + np.random.shuffle(idx) + data = np.concatenate([x, y, z]) + label = np.concatenate([ + np.zeros((800,), dtype=int), + np.ones((600,), dtype=int), + np.ones((1000,), dtype=int) * 2 + ]) + data = data[idx] + label = label[idx] + + train_data, test_data = data[:1920, ], data[1920:, ] + train_label, test_label = label[:1920, ], label[1920:, ] + return train_data, train_label, test_data, test_label + +def change_cov(): + acc_1 = [] + acc_2 = [] + for each in np.arange(1, 2.1, 0.1): + train_data, train_label, test_data, test_label = generate_ball(r=each) + # euclidean + model = KNN() + model.fit(train_data, train_label, cate='euclidean', metric='accuracy') + res = model.predict(test_data) + acc1 = np.mean(np.equal(res, test_label)) + acc_1.append(acc1) + # manhattan + model = KNN() + model.fit(train_data, train_label, cate='manhattan', metric='accuracy') + res = model.predict(test_data) + acc2 = np.mean(np.equal(res, test_label)) + acc_2.append(acc2) + plt.plot(np.arange(1,2.1,0.1), acc_1,color = 'r') + plt.plot(np.arange(1,2.1,0.1), acc_2,color = 'b') + plt.title('accuracy at different cov') + plt.legend(['euclidean','manhattan']) + plt.savefig('change_cov.png') + + +if __name__ == "__main__": + if len(sys.argv) > 1 and sys.argv[1] == "g": + generate() + if len(sys.argv) > 1 and sys.argv[1] == "d": + (train_data, train_label), (test_data, test_label) = read() + display(train_data, train_label, 'train') + display(test_data, test_label, 'test') + else: + (train_data, train_label), (test_data, test_label) = read() + + model = KNN() + # 选择距离计算公式、评估公式 + model.fit(train_data, train_label, cate='manhattan',metric='accuracy') + res = model.predict(test_data) + print("acc =", np.mean(np.equal(res, test_label))) \ No newline at end of file -- Gitee From d312869c7e02e3ff04ee84589e393ebf2db9d748 Mon Sep 17 00:00:00 2001 From: XYH Date: Tue, 30 Mar 2021 17:32:24 +0800 Subject: [PATCH 06/13] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=96=87=E4=BB=B6=20as?= =?UTF-8?q?signment-1/submission/17307100038/README.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assignment-1/submission/17307100038/README.md | 364 ------------------ 1 file changed, 364 deletions(-) delete mode 100644 assignment-1/submission/17307100038/README.md diff --git a/assignment-1/submission/17307100038/README.md b/assignment-1/submission/17307100038/README.md deleted file mode 100644 index b529143..0000000 --- a/assignment-1/submission/17307100038/README.md +++ /dev/null @@ -1,364 +0,0 @@ -# 课程报告 - -## KNN类实现 - -### fit()函数 - -fit(X, y,cate = 'euclidean',metric='accuracy',preprocess =None) - -X: 训练集 - -y:训练集标签 - -cate:距离计算方式,如euclidean、manhattan距离 - -metric:模型评估方式,如accuracy - -preprocess:预处理方式,包含min_max归一化、z_score标准化、不处理 - - - -fit函数包含以下功能: - -​ 1、预处理; - -​ 2、随机打乱数据集顺序 - -​ 3、以8:2的比例划分train_data,dev_data,训练选出评估结果最优的k值 - -### predict()函数 - -predict用于预测测试集样本 - -### 辅助函数 - -distance( d1, d2,cate ='eulidean') - -d1,d2表示计算距离的点,cate默认为euclidean距离,可以选择manhattan距离 - - - -## 实验1 - -### Group1:各个类别相差较大,成较为明显的线性位置 - -$$ -\Sigma = - \left[ - \begin{matrix} - 52 & 0 \\ - 0 & 22 - \end{matrix} - \right] - \Sigma = - \left[ - \begin{matrix} - 21.1 & 0 \\ - 0 & 32.1 - \end{matrix} - \right] - \Sigma = - \left[ - \begin{matrix} - 10 & 0 \\ - 0 & 10 - \end{matrix} - \right] -$$ - -$$ -\mu = - \left[ - \begin{matrix} - 2 &5 - \end{matrix} - \right] - \mu = - \left[ - \begin{matrix} - 20 & -5 - \end{matrix} - \right] - \mu = - \left[ - \begin{matrix} - -5 & 22 - \end{matrix} - \right] -$$ - -train_data - - - -train_g1 - -测试集 - -test_g1 - -测试在两种距离下的准确率如下: - -| k | distance | acc | -| ---- | --------- | ------- | -| 8 | euclidean | 96.250% | -| 9 | euclidean | 95.625% | -| 3 | euclidean | 95.833% | -| 13 | euclidean | 96.458% | -| 3 | manhattan | 95.417% | -| 13 | manhattan | 96.250% | -| 5 | manhattan | 95.625% | -| 5 | manhattan | 95.625% | - -### Group2:各个类别之间相差较大,成较为明显的分散位置 - -$$ -\Sigma = - \left[ - \begin{matrix} - 52 & 0 \\ - 0 & 22 - \end{matrix} - \right] - \Sigma = - \left[ - \begin{matrix} - 21.1 & 0 \\ - 0 & 32.1 - \end{matrix} - \right] - \Sigma = - \left[ - \begin{matrix} - 10 & 0 \\ - 0 & 10 - \end{matrix} - \right] -$$ - -$$ -\mu = - \left[ - \begin{matrix} - 2 &5 - \end{matrix} - \right] - \mu = - \left[ - \begin{matrix} - 20 & 16 - \end{matrix} - \right] - \mu = - \left[ - \begin{matrix} - -5 & 22 - \end{matrix} - \right] -$$ - -train_data: - -train_g2 - -test_data: - -test_g2 - -测试在两种距离下的准确率如下: - -| k | distance | acc | -| ---- | --------- | ------- | -| 7 | euclidean | 96.875% | -| 7 | euclidean | 96.875% | -| 9 | euclidean | 97.083% | -| 8 | euclidean | 97.083% | -| 12 | manhattan | 97.708% | -| 14 | manhattan | 97.500% | -| 5 | manhattan | 97.083% | -| 12 | manhattan | 97.708% | - -*可见不同群之间的几何分布类型对knn的效果影响不明显* - -## 实验2 - -控制均值不变,倍数扩大协方差的各个数值至2倍 -$$ -\Sigma = - \left[ - \begin{matrix} - 52 & 0 \\ - 0 & 22 - \end{matrix} - \right] - \Sigma = - \left[ - \begin{matrix} - 21.1 & 0 \\ - 0 & 32.1 - \end{matrix} - \right] - \Sigma = - \left[ - \begin{matrix} - 10 & 0 \\ - 0 & 10 - \end{matrix} - \right] -$$ - -$$ -\left[ - \begin{matrix} - 2 &5 - \end{matrix} - \right] - \mu = - \left[ - \begin{matrix} - 20 & 16 - \end{matrix} - \right] - \mu = - \left[ - \begin{matrix} - -5 & 22 - \end{matrix} - \right] -$$ - -得到准确率改变如下图: - -change_cov - -*方差对于KNN的准确率影响显著,随着方差增大,模型准确率下降* - -## 实验3 - -对比采用归一化、标准化前后 -$$ -\Sigma = - \left[ - \begin{matrix} - 20 & 0 \\ - 0 & 1250 - \end{matrix} - \right] - \Sigma = - \left[ - \begin{matrix} - 25 & 0 \\ - 0 & 2500 - \end{matrix} - \right] - \Sigma = - \left[ - \begin{matrix} - 10 & 0 \\ - 0 & 950 - \end{matrix} - \right] -$$ - -$$ -\mu= -\left[ - \begin{matrix} - 2 &5 - \end{matrix} - \right] - \mu = - \left[ - \begin{matrix} - 10 & -60 - \end{matrix} - \right] - \mu = - \left[ - \begin{matrix} - -5 & 72 - \end{matrix} - \right] -$$ - -无预处理: - -data_original - -min_max 归一化: - -data_minmax - -Z_score标准化: - -data_zscore - -得到对应的准确率如下: - -| preprocessing | accuracy | -| ------------- | -------- | -| None | 82.917% | -| min_max | 83.542% | -| z_score | 84.17% | - -通过变小均值和方差的差距,重新实验得到如下结果: -$$ -\Sigma = - \left[ - \begin{matrix} - 20 & 0 \\ - 0 & 750 - \end{matrix} - \right] - \Sigma = - \left[ - \begin{matrix} - 25 & 0 \\ - 0 & 1200 - \end{matrix} - \right] - \Sigma = - \left[ - \begin{matrix} - 10 & 0 \\ - 0 & 650 - \end{matrix} - \right] -$$ - -$$ -\mu= -\left[ - \begin{matrix} - 2 &5 - \end{matrix} - \right] - \mu = - \left[ - \begin{matrix} - 10 & -50 - \end{matrix} - \right] - \mu = - \left[ - \begin{matrix} - -5 & 55 - \end{matrix} - \right] -$$ - -| preprocessing | accuracy | -| ------------- | -------- | -| None | 90.417% | -| min_max | 90.625# | -| z_score | 90.833% | - -*标准化、归一化对于KNN模型的准确率有一定提升,数据集各个feature的数量级差别越大,效果越明显* - -## 总结 - -1、KNN模型中不同类别点的几何分布类型对模型预测准确率影响不明显 - -2、方差对于KNN的准确率影响显著,随着方差增大,模型准确率下降 - -3、标准化、归一化对于KNN模型的准确率有一定提升,数据集各个feature的数量级差别越大,效果越明显;在数量级相差不大的情况下,性能提升不明显 \ No newline at end of file -- Gitee From 99e320c6e3d7550ae8814034f932d58e9853118b Mon Sep 17 00:00:00 2001 From: XYH Date: Tue, 30 Mar 2021 17:32:53 +0800 Subject: [PATCH 07/13] 11 --- assignment-1/submission/17307100038/README.md | 362 ++++++++++++++++++ 1 file changed, 362 insertions(+) create mode 100644 assignment-1/submission/17307100038/README.md diff --git a/assignment-1/submission/17307100038/README.md b/assignment-1/submission/17307100038/README.md new file mode 100644 index 0000000..dae8975 --- /dev/null +++ b/assignment-1/submission/17307100038/README.md @@ -0,0 +1,362 @@ +# 课程报告 + +## KNN类实现 + +### fit()函数 + +fit(X, y,cate = 'euclidean',metric='accuracy',preprocess =None) + +X: 训练集 + +y:训练集标签 + +cate:距离计算方式,如euclidean、manhattan距离 + +metric:模型评估方式,如accuracy + +preprocess:预处理方式,包含min_max归一化、z_score标准化、不处理 + + + +fit函数包含以下功能: + +​ 1、预处理; + +​ 2、随机打乱数据集顺序 + +​ 3、以8:2的比例划分train_data,dev_data,训练选出评估结果最优的k值 + +### predict()函数 + +predict用于预测测试集样本 + +### 辅助函数 + +distance( d1, d2,cate ='eulidean') + +d1,d2表示计算距离的点,cate默认为euclidean距离,可以选择manhattan距离 + + + +## 实验1 + +### Group1:各个类别相差较大,成较为明显的线性位置 + +$$ +\Sigma = + \left[ + \begin{matrix} + 52 & 0 \\ + 0 & 22 + \end{matrix} + \right] + \Sigma = + \left[ + \begin{matrix} + 21.1 & 0 \\ + 0 & 32.1 + \end{matrix} + \right] + \Sigma = + \left[ + \begin{matrix} + 10 & 0 \\ + 0 & 10 + \end{matrix} + \right] +$$ + +$$ +\mu = + \left[ + \begin{matrix} + 2 &5 + \end{matrix} + \right] + \mu = + \left[ + \begin{matrix} + 20 & -5 + \end{matrix} + \right] + \mu = + \left[ + \begin{matrix} + -5 & 22 + \end{matrix} + \right] +$$ + +train_data + +test_g1 + +测试集 + +test_g1 + +测试在两种距离下的准确率如下: + +| k | distance | acc | +| ---- | --------- | ------- | +| 8 | euclidean | 96.250% | +| 9 | euclidean | 95.625% | +| 3 | euclidean | 95.833% | +| 13 | euclidean | 96.458% | +| 3 | manhattan | 95.417% | +| 13 | manhattan | 96.250% | +| 5 | manhattan | 95.625% | +| 5 | manhattan | 95.625% | + +### Group2:各个类别之间相差较大,成较为明显的分散位置 + +$$ +\Sigma = + \left[ + \begin{matrix} + 52 & 0 \\ + 0 & 22 + \end{matrix} + \right] + \Sigma = + \left[ + \begin{matrix} + 21.1 & 0 \\ + 0 & 32.1 + \end{matrix} + \right] + \Sigma = + \left[ + \begin{matrix} + 10 & 0 \\ + 0 & 10 + \end{matrix} + \right] +$$ + +$$ +\mu = + \left[ + \begin{matrix} + 2 &5 + \end{matrix} + \right] + \mu = + \left[ + \begin{matrix} + 20 & 16 + \end{matrix} + \right] + \mu = + \left[ + \begin{matrix} + -5 & 22 + \end{matrix} + \right] +$$ + +train_data: + +train_g2 + +test_data: + +test_g2 + +测试在两种距离下的准确率如下: + +| k | distance | acc | +| ---- | --------- | ------- | +| 7 | euclidean | 96.875% | +| 7 | euclidean | 96.875% | +| 9 | euclidean | 97.083% | +| 8 | euclidean | 97.083% | +| 12 | manhattan | 97.708% | +| 14 | manhattan | 97.500% | +| 5 | manhattan | 97.083% | +| 12 | manhattan | 97.708% | + +*可见不同群之间的几何分布类型对knn的效果影响不明显* + +## 实验2 + +控制均值不变,倍数扩大协方差的各个数值至2倍 +$$ +\Sigma = + \left[ + \begin{matrix} + 52 & 0 \\ + 0 & 22 + \end{matrix} + \right] + \Sigma = + \left[ + \begin{matrix} + 21.1 & 0 \\ + 0 & 32.1 + \end{matrix} + \right] + \Sigma = + \left[ + \begin{matrix} + 10 & 0 \\ + 0 & 10 + \end{matrix} + \right] +$$ + +$$ +\left[ + \begin{matrix} + 2 &5 + \end{matrix} + \right] + \mu = + \left[ + \begin{matrix} + 20 & 16 + \end{matrix} + \right] + \mu = + \left[ + \begin{matrix} + -5 & 22 + \end{matrix} + \right] +$$ + +得到准确率改变如下图: + +change_cov + +*方差对于KNN的准确率影响显著,随着方差增大,模型准确率下降* + +## 实验3 + +对比采用归一化、标准化前后 +$$ +\Sigma = + \left[ + \begin{matrix} + 20 & 0 \\ + 0 & 1250 + \end{matrix} + \right] + \Sigma = + \left[ + \begin{matrix} + 25 & 0 \\ + 0 & 2500 + \end{matrix} + \right] + \Sigma = + \left[ + \begin{matrix} + 10 & 0 \\ + 0 & 950 + \end{matrix} + \right] +$$ + +$$ +\mu= +\left[ + \begin{matrix} + 2 &5 + \end{matrix} + \right] + \mu = + \left[ + \begin{matrix} + 10 & -60 + \end{matrix} + \right] + \mu = + \left[ + \begin{matrix} + -5 & 72 + \end{matrix} + \right] +$$ + +无预处理: + +data_original + +min_max 归一化: + +data_minmax + +Z_score标准化: + +data_zscore + +得到对应的准确率如下: + +| preprocessing | accuracy | +| ------------- | -------- | +| None | 82.917% | +| min_max | 83.542% | +| z_score | 84.17% | + +通过变小均值和方差的差距,重新实验得到如下结果: +$$ +\Sigma = + \left[ + \begin{matrix} + 20 & 0 \\ + 0 & 750 + \end{matrix} + \right] + \Sigma = + \left[ + \begin{matrix} + 25 & 0 \\ + 0 & 1200 + \end{matrix} + \right] + \Sigma = + \left[ + \begin{matrix} + 10 & 0 \\ + 0 & 650 + \end{matrix} + \right] +$$ + +$$ +\mu= +\left[ + \begin{matrix} + 2 &5 + \end{matrix} + \right] + \mu = + \left[ + \begin{matrix} + 10 & -50 + \end{matrix} + \right] + \mu = + \left[ + \begin{matrix} + -5 & 55 + \end{matrix} + \right] +$$ + +| preprocessing | accuracy | +| ------------- | -------- | +| None | 90.417% | +| min_max | 90.625# | +| z_score | 90.833% | + +*标准化、归一化对于KNN模型的准确率有一定提升,数据集各个feature的数量级差别越大,效果越明显* + +## 总结 + +1、KNN模型中不同类别点的几何分布类型对模型预测准确率影响不明显 + +2、方差对于KNN的准确率影响显著,随着方差增大,模型准确率下降 + +3、标准化、归一化对于KNN模型的准确率有一定提升,数据集各个feature的数量级差别越大,效果越明显;在数量级相差不大的情况下,性能提升不明显 \ No newline at end of file -- Gitee From 9f1559b172b88e204d129df658978304b5a048c8 Mon Sep 17 00:00:00 2001 From: XYH Date: Tue, 30 Mar 2021 17:34:01 +0800 Subject: [PATCH 08/13] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=96=87=E4=BB=B6=20as?= =?UTF-8?q?signment-1/submission/17307100038/README.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assignment-1/submission/17307100038/README.md | 362 ------------------ 1 file changed, 362 deletions(-) delete mode 100644 assignment-1/submission/17307100038/README.md diff --git a/assignment-1/submission/17307100038/README.md b/assignment-1/submission/17307100038/README.md deleted file mode 100644 index dae8975..0000000 --- a/assignment-1/submission/17307100038/README.md +++ /dev/null @@ -1,362 +0,0 @@ -# 课程报告 - -## KNN类实现 - -### fit()函数 - -fit(X, y,cate = 'euclidean',metric='accuracy',preprocess =None) - -X: 训练集 - -y:训练集标签 - -cate:距离计算方式,如euclidean、manhattan距离 - -metric:模型评估方式,如accuracy - -preprocess:预处理方式,包含min_max归一化、z_score标准化、不处理 - - - -fit函数包含以下功能: - -​ 1、预处理; - -​ 2、随机打乱数据集顺序 - -​ 3、以8:2的比例划分train_data,dev_data,训练选出评估结果最优的k值 - -### predict()函数 - -predict用于预测测试集样本 - -### 辅助函数 - -distance( d1, d2,cate ='eulidean') - -d1,d2表示计算距离的点,cate默认为euclidean距离,可以选择manhattan距离 - - - -## 实验1 - -### Group1:各个类别相差较大,成较为明显的线性位置 - -$$ -\Sigma = - \left[ - \begin{matrix} - 52 & 0 \\ - 0 & 22 - \end{matrix} - \right] - \Sigma = - \left[ - \begin{matrix} - 21.1 & 0 \\ - 0 & 32.1 - \end{matrix} - \right] - \Sigma = - \left[ - \begin{matrix} - 10 & 0 \\ - 0 & 10 - \end{matrix} - \right] -$$ - -$$ -\mu = - \left[ - \begin{matrix} - 2 &5 - \end{matrix} - \right] - \mu = - \left[ - \begin{matrix} - 20 & -5 - \end{matrix} - \right] - \mu = - \left[ - \begin{matrix} - -5 & 22 - \end{matrix} - \right] -$$ - -train_data - -test_g1 - -测试集 - -test_g1 - -测试在两种距离下的准确率如下: - -| k | distance | acc | -| ---- | --------- | ------- | -| 8 | euclidean | 96.250% | -| 9 | euclidean | 95.625% | -| 3 | euclidean | 95.833% | -| 13 | euclidean | 96.458% | -| 3 | manhattan | 95.417% | -| 13 | manhattan | 96.250% | -| 5 | manhattan | 95.625% | -| 5 | manhattan | 95.625% | - -### Group2:各个类别之间相差较大,成较为明显的分散位置 - -$$ -\Sigma = - \left[ - \begin{matrix} - 52 & 0 \\ - 0 & 22 - \end{matrix} - \right] - \Sigma = - \left[ - \begin{matrix} - 21.1 & 0 \\ - 0 & 32.1 - \end{matrix} - \right] - \Sigma = - \left[ - \begin{matrix} - 10 & 0 \\ - 0 & 10 - \end{matrix} - \right] -$$ - -$$ -\mu = - \left[ - \begin{matrix} - 2 &5 - \end{matrix} - \right] - \mu = - \left[ - \begin{matrix} - 20 & 16 - \end{matrix} - \right] - \mu = - \left[ - \begin{matrix} - -5 & 22 - \end{matrix} - \right] -$$ - -train_data: - -train_g2 - -test_data: - -test_g2 - -测试在两种距离下的准确率如下: - -| k | distance | acc | -| ---- | --------- | ------- | -| 7 | euclidean | 96.875% | -| 7 | euclidean | 96.875% | -| 9 | euclidean | 97.083% | -| 8 | euclidean | 97.083% | -| 12 | manhattan | 97.708% | -| 14 | manhattan | 97.500% | -| 5 | manhattan | 97.083% | -| 12 | manhattan | 97.708% | - -*可见不同群之间的几何分布类型对knn的效果影响不明显* - -## 实验2 - -控制均值不变,倍数扩大协方差的各个数值至2倍 -$$ -\Sigma = - \left[ - \begin{matrix} - 52 & 0 \\ - 0 & 22 - \end{matrix} - \right] - \Sigma = - \left[ - \begin{matrix} - 21.1 & 0 \\ - 0 & 32.1 - \end{matrix} - \right] - \Sigma = - \left[ - \begin{matrix} - 10 & 0 \\ - 0 & 10 - \end{matrix} - \right] -$$ - -$$ -\left[ - \begin{matrix} - 2 &5 - \end{matrix} - \right] - \mu = - \left[ - \begin{matrix} - 20 & 16 - \end{matrix} - \right] - \mu = - \left[ - \begin{matrix} - -5 & 22 - \end{matrix} - \right] -$$ - -得到准确率改变如下图: - -change_cov - -*方差对于KNN的准确率影响显著,随着方差增大,模型准确率下降* - -## 实验3 - -对比采用归一化、标准化前后 -$$ -\Sigma = - \left[ - \begin{matrix} - 20 & 0 \\ - 0 & 1250 - \end{matrix} - \right] - \Sigma = - \left[ - \begin{matrix} - 25 & 0 \\ - 0 & 2500 - \end{matrix} - \right] - \Sigma = - \left[ - \begin{matrix} - 10 & 0 \\ - 0 & 950 - \end{matrix} - \right] -$$ - -$$ -\mu= -\left[ - \begin{matrix} - 2 &5 - \end{matrix} - \right] - \mu = - \left[ - \begin{matrix} - 10 & -60 - \end{matrix} - \right] - \mu = - \left[ - \begin{matrix} - -5 & 72 - \end{matrix} - \right] -$$ - -无预处理: - -data_original - -min_max 归一化: - -data_minmax - -Z_score标准化: - -data_zscore - -得到对应的准确率如下: - -| preprocessing | accuracy | -| ------------- | -------- | -| None | 82.917% | -| min_max | 83.542% | -| z_score | 84.17% | - -通过变小均值和方差的差距,重新实验得到如下结果: -$$ -\Sigma = - \left[ - \begin{matrix} - 20 & 0 \\ - 0 & 750 - \end{matrix} - \right] - \Sigma = - \left[ - \begin{matrix} - 25 & 0 \\ - 0 & 1200 - \end{matrix} - \right] - \Sigma = - \left[ - \begin{matrix} - 10 & 0 \\ - 0 & 650 - \end{matrix} - \right] -$$ - -$$ -\mu= -\left[ - \begin{matrix} - 2 &5 - \end{matrix} - \right] - \mu = - \left[ - \begin{matrix} - 10 & -50 - \end{matrix} - \right] - \mu = - \left[ - \begin{matrix} - -5 & 55 - \end{matrix} - \right] -$$ - -| preprocessing | accuracy | -| ------------- | -------- | -| None | 90.417% | -| min_max | 90.625# | -| z_score | 90.833% | - -*标准化、归一化对于KNN模型的准确率有一定提升,数据集各个feature的数量级差别越大,效果越明显* - -## 总结 - -1、KNN模型中不同类别点的几何分布类型对模型预测准确率影响不明显 - -2、方差对于KNN的准确率影响显著,随着方差增大,模型准确率下降 - -3、标准化、归一化对于KNN模型的准确率有一定提升,数据集各个feature的数量级差别越大,效果越明显;在数量级相差不大的情况下,性能提升不明显 \ No newline at end of file -- Gitee From 9c7162bb1f8e89cd981865455587404c2d56b0a4 Mon Sep 17 00:00:00 2001 From: XYH Date: Tue, 30 Mar 2021 17:34:18 +0800 Subject: [PATCH 09/13] 545 --- assignment-1/submission/17307100038/README.md | 362 ++++++++++++++++++ 1 file changed, 362 insertions(+) create mode 100644 assignment-1/submission/17307100038/README.md diff --git a/assignment-1/submission/17307100038/README.md b/assignment-1/submission/17307100038/README.md new file mode 100644 index 0000000..f224fae --- /dev/null +++ b/assignment-1/submission/17307100038/README.md @@ -0,0 +1,362 @@ +# 课程报告 + +## KNN类实现 + +### fit()函数 + +fit(X, y,cate = 'euclidean',metric='accuracy',preprocess =None) + +X: 训练集 + +y:训练集标签 + +cate:距离计算方式,如euclidean、manhattan距离 + +metric:模型评估方式,如accuracy + +preprocess:预处理方式,包含min_max归一化、z_score标准化、不处理 + + + +fit函数包含以下功能: + +​ 1、预处理; + +​ 2、随机打乱数据集顺序 + +​ 3、以8:2的比例划分train_data,dev_data,训练选出评估结果最优的k值 + +### predict()函数 + +predict用于预测测试集样本 + +### 辅助函数 + +distance( d1, d2,cate ='eulidean') + +d1,d2表示计算距离的点,cate默认为euclidean距离,可以选择manhattan距离 + + + +## 实验1 + +### Group1:各个类别相差较大,成较为明显的线性位置 + +$$ +\Sigma = + \left[ + \begin{matrix} + 52 & 0 \\ + 0 & 22 + \end{matrix} + \right] + \Sigma = + \left[ + \begin{matrix} + 21.1 & 0 \\ + 0 & 32.1 + \end{matrix} + \right] + \Sigma = + \left[ + \begin{matrix} + 10 & 0 \\ + 0 & 10 + \end{matrix} + \right] +$$ + +$$ +\mu = + \left[ + \begin{matrix} + 2 &5 + \end{matrix} + \right] + \mu = + \left[ + \begin{matrix} + 20 & -5 + \end{matrix} + \right] + \mu = + \left[ + \begin{matrix} + -5 & 22 + \end{matrix} + \right] +$$ + +train_data + +test_g1 + +测试集 + +test_g1 + +测试在两种距离下的准确率如下: + +| k | distance | acc | +| ---- | --------- | ------- | +| 8 | euclidean | 96.250% | +| 9 | euclidean | 95.625% | +| 3 | euclidean | 95.833% | +| 13 | euclidean | 96.458% | +| 3 | manhattan | 95.417% | +| 13 | manhattan | 96.250% | +| 5 | manhattan | 95.625% | +| 5 | manhattan | 95.625% | + +### Group2:各个类别之间相差较大,成较为明显的分散位置 + +$$ +\Sigma = + \left[ + \begin{matrix} + 52 & 0 \\ + 0 & 22 + \end{matrix} + \right] + \Sigma = + \left[ + \begin{matrix} + 21.1 & 0 \\ + 0 & 32.1 + \end{matrix} + \right] + \Sigma = + \left[ + \begin{matrix} + 10 & 0 \\ + 0 & 10 + \end{matrix} + \right] +$$ + +$$ +\mu = + \left[ + \begin{matrix} + 2 &5 + \end{matrix} + \right] + \mu = + \left[ + \begin{matrix} + 20 & 16 + \end{matrix} + \right] + \mu = + \left[ + \begin{matrix} + -5 & 22 + \end{matrix} + \right] +$$ + +train_data: + +train_g2 + +test_data: + +test_g2 + +测试在两种距离下的准确率如下: + +| k | distance | acc | +| ---- | --------- | ------- | +| 7 | euclidean | 96.875% | +| 7 | euclidean | 96.875% | +| 9 | euclidean | 97.083% | +| 8 | euclidean | 97.083% | +| 12 | manhattan | 97.708% | +| 14 | manhattan | 97.500% | +| 5 | manhattan | 97.083% | +| 12 | manhattan | 97.708% | + +*可见不同群之间的几何分布类型对knn的效果影响不明显* + +## 实验2 + +控制均值不变,倍数扩大协方差的各个数值至2倍 +$$ +\Sigma = + \left[ + \begin{matrix} + 52 & 0 \\ + 0 & 22 + \end{matrix} + \right] + \Sigma = + \left[ + \begin{matrix} + 21.1 & 0 \\ + 0 & 32.1 + \end{matrix} + \right] + \Sigma = + \left[ + \begin{matrix} + 10 & 0 \\ + 0 & 10 + \end{matrix} + \right] +$$ + +$$ +\left[ + \begin{matrix} + 2 &5 + \end{matrix} + \right] + \mu = + \left[ + \begin{matrix} + 20 & 16 + \end{matrix} + \right] + \mu = + \left[ + \begin{matrix} + -5 & 22 + \end{matrix} + \right] +$$ + +得到准确率改变如下图: + +change_cov + +*方差对于KNN的准确率影响显著,随着方差增大,模型准确率下降* + +## 实验3 + +对比采用归一化、标准化前后 +$$ +\Sigma = + \left[ + \begin{matrix} + 20 & 0 \\ + 0 & 1250 + \end{matrix} + \right] + \Sigma = + \left[ + \begin{matrix} + 25 & 0 \\ + 0 & 2500 + \end{matrix} + \right] + \Sigma = + \left[ + \begin{matrix} + 10 & 0 \\ + 0 & 950 + \end{matrix} + \right] +$$ + +$$ +\mu= +\left[ + \begin{matrix} + 2 &5 + \end{matrix} + \right] + \mu = + \left[ + \begin{matrix} + 10 & -60 + \end{matrix} + \right] + \mu = + \left[ + \begin{matrix} + -5 & 72 + \end{matrix} + \right] +$$ + +无预处理: + +data_original + +min_max 归一化: + +data_minmax + +Z_score标准化: + +data_zscore + +得到对应的准确率如下: + +| preprocessing | accuracy | +| ------------- | -------- | +| None | 82.917% | +| min_max | 83.542% | +| z_score | 84.17% | + +通过变小均值和方差的差距,重新实验得到如下结果: +$$ +\Sigma = + \left[ + \begin{matrix} + 20 & 0 \\ + 0 & 750 + \end{matrix} + \right] + \Sigma = + \left[ + \begin{matrix} + 25 & 0 \\ + 0 & 1200 + \end{matrix} + \right] + \Sigma = + \left[ + \begin{matrix} + 10 & 0 \\ + 0 & 650 + \end{matrix} + \right] +$$ + +$$ +\mu= +\left[ + \begin{matrix} + 2 &5 + \end{matrix} + \right] + \mu = + \left[ + \begin{matrix} + 10 & -50 + \end{matrix} + \right] + \mu = + \left[ + \begin{matrix} + -5 & 55 + \end{matrix} + \right] +$$ + +| preprocessing | accuracy | +| ------------- | -------- | +| None | 90.417% | +| min_max | 90.625# | +| z_score | 90.833% | + +*标准化、归一化对于KNN模型的准确率有一定提升,数据集各个feature的数量级差别越大,效果越明显* + +## 总结 + +1、KNN模型中不同类别点的几何分布类型对模型预测准确率影响不明显 + +2、方差对于KNN的准确率影响显著,随着方差增大,模型准确率下降 + +3、标准化、归一化对于KNN模型的准确率有一定提升,数据集各个feature的数量级差别越大,效果越明显;在数量级相差不大的情况下,性能提升不明显 \ No newline at end of file -- Gitee From dd878d297441f8df6d81146eb4632980fac34fd8 Mon Sep 17 00:00:00 2001 From: XYH Date: Tue, 30 Mar 2021 17:38:07 +0800 Subject: [PATCH 10/13] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=96=87=E4=BB=B6=20as?= =?UTF-8?q?signment-1/submission/17307100038/img/test=5Fg3.png?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../submission/17307100038/img/test_g3.png | Bin 37522 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 assignment-1/submission/17307100038/img/test_g3.png diff --git a/assignment-1/submission/17307100038/img/test_g3.png b/assignment-1/submission/17307100038/img/test_g3.png deleted file mode 100644 index 0ac8577e072b5d3554de9a7ca563ff8f8d42fd90..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37522 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 E0JUGbn*aa+ -- Gitee From d4ca413ecc11511dcd477a9921459a16bd9a27b4 Mon Sep 17 00:00:00 2001 From: XYH Date: Tue, 30 Mar 2021 17:38:12 +0800 Subject: [PATCH 11/13] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=96=87=E4=BB=B6=20as?= =?UTF-8?q?signment-1/submission/17307100038/img/train=5Fg3.png?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../submission/17307100038/img/train_g3.png | Bin 57640 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 assignment-1/submission/17307100038/img/train_g3.png diff --git a/assignment-1/submission/17307100038/img/train_g3.png b/assignment-1/submission/17307100038/img/train_g3.png deleted file mode 100644 index 9458a571272292b07389cb4d5e49c85fd3052e57..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 57640 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 Date: Tue, 30 Mar 2021 17:39:49 +0800 Subject: [PATCH 12/13] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=96=87=E4=BB=B6=20as?= =?UTF-8?q?signment-1/submission/17307100038/README.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assignment-1/submission/17307100038/README.md | 362 ------------------ 1 file changed, 362 deletions(-) delete mode 100644 assignment-1/submission/17307100038/README.md diff --git a/assignment-1/submission/17307100038/README.md b/assignment-1/submission/17307100038/README.md deleted file mode 100644 index f224fae..0000000 --- a/assignment-1/submission/17307100038/README.md +++ /dev/null @@ -1,362 +0,0 @@ -# 课程报告 - -## KNN类实现 - -### fit()函数 - -fit(X, y,cate = 'euclidean',metric='accuracy',preprocess =None) - -X: 训练集 - -y:训练集标签 - -cate:距离计算方式,如euclidean、manhattan距离 - -metric:模型评估方式,如accuracy - -preprocess:预处理方式,包含min_max归一化、z_score标准化、不处理 - - - -fit函数包含以下功能: - -​ 1、预处理; - -​ 2、随机打乱数据集顺序 - -​ 3、以8:2的比例划分train_data,dev_data,训练选出评估结果最优的k值 - -### predict()函数 - -predict用于预测测试集样本 - -### 辅助函数 - -distance( d1, d2,cate ='eulidean') - -d1,d2表示计算距离的点,cate默认为euclidean距离,可以选择manhattan距离 - - - -## 实验1 - -### Group1:各个类别相差较大,成较为明显的线性位置 - -$$ -\Sigma = - \left[ - \begin{matrix} - 52 & 0 \\ - 0 & 22 - \end{matrix} - \right] - \Sigma = - \left[ - \begin{matrix} - 21.1 & 0 \\ - 0 & 32.1 - \end{matrix} - \right] - \Sigma = - \left[ - \begin{matrix} - 10 & 0 \\ - 0 & 10 - \end{matrix} - \right] -$$ - -$$ -\mu = - \left[ - \begin{matrix} - 2 &5 - \end{matrix} - \right] - \mu = - \left[ - \begin{matrix} - 20 & -5 - \end{matrix} - \right] - \mu = - \left[ - \begin{matrix} - -5 & 22 - \end{matrix} - \right] -$$ - -train_data - -test_g1 - -测试集 - -test_g1 - -测试在两种距离下的准确率如下: - -| k | distance | acc | -| ---- | --------- | ------- | -| 8 | euclidean | 96.250% | -| 9 | euclidean | 95.625% | -| 3 | euclidean | 95.833% | -| 13 | euclidean | 96.458% | -| 3 | manhattan | 95.417% | -| 13 | manhattan | 96.250% | -| 5 | manhattan | 95.625% | -| 5 | manhattan | 95.625% | - -### Group2:各个类别之间相差较大,成较为明显的分散位置 - -$$ -\Sigma = - \left[ - \begin{matrix} - 52 & 0 \\ - 0 & 22 - \end{matrix} - \right] - \Sigma = - \left[ - \begin{matrix} - 21.1 & 0 \\ - 0 & 32.1 - \end{matrix} - \right] - \Sigma = - \left[ - \begin{matrix} - 10 & 0 \\ - 0 & 10 - \end{matrix} - \right] -$$ - -$$ -\mu = - \left[ - \begin{matrix} - 2 &5 - \end{matrix} - \right] - \mu = - \left[ - \begin{matrix} - 20 & 16 - \end{matrix} - \right] - \mu = - \left[ - \begin{matrix} - -5 & 22 - \end{matrix} - \right] -$$ - -train_data: - -train_g2 - -test_data: - -test_g2 - -测试在两种距离下的准确率如下: - -| k | distance | acc | -| ---- | --------- | ------- | -| 7 | euclidean | 96.875% | -| 7 | euclidean | 96.875% | -| 9 | euclidean | 97.083% | -| 8 | euclidean | 97.083% | -| 12 | manhattan | 97.708% | -| 14 | manhattan | 97.500% | -| 5 | manhattan | 97.083% | -| 12 | manhattan | 97.708% | - -*可见不同群之间的几何分布类型对knn的效果影响不明显* - -## 实验2 - -控制均值不变,倍数扩大协方差的各个数值至2倍 -$$ -\Sigma = - \left[ - \begin{matrix} - 52 & 0 \\ - 0 & 22 - \end{matrix} - \right] - \Sigma = - \left[ - \begin{matrix} - 21.1 & 0 \\ - 0 & 32.1 - \end{matrix} - \right] - \Sigma = - \left[ - \begin{matrix} - 10 & 0 \\ - 0 & 10 - \end{matrix} - \right] -$$ - -$$ -\left[ - \begin{matrix} - 2 &5 - \end{matrix} - \right] - \mu = - \left[ - \begin{matrix} - 20 & 16 - \end{matrix} - \right] - \mu = - \left[ - \begin{matrix} - -5 & 22 - \end{matrix} - \right] -$$ - -得到准确率改变如下图: - -change_cov - -*方差对于KNN的准确率影响显著,随着方差增大,模型准确率下降* - -## 实验3 - -对比采用归一化、标准化前后 -$$ -\Sigma = - \left[ - \begin{matrix} - 20 & 0 \\ - 0 & 1250 - \end{matrix} - \right] - \Sigma = - \left[ - \begin{matrix} - 25 & 0 \\ - 0 & 2500 - \end{matrix} - \right] - \Sigma = - \left[ - \begin{matrix} - 10 & 0 \\ - 0 & 950 - \end{matrix} - \right] -$$ - -$$ -\mu= -\left[ - \begin{matrix} - 2 &5 - \end{matrix} - \right] - \mu = - \left[ - \begin{matrix} - 10 & -60 - \end{matrix} - \right] - \mu = - \left[ - \begin{matrix} - -5 & 72 - \end{matrix} - \right] -$$ - -无预处理: - -data_original - -min_max 归一化: - -data_minmax - -Z_score标准化: - -data_zscore - -得到对应的准确率如下: - -| preprocessing | accuracy | -| ------------- | -------- | -| None | 82.917% | -| min_max | 83.542% | -| z_score | 84.17% | - -通过变小均值和方差的差距,重新实验得到如下结果: -$$ -\Sigma = - \left[ - \begin{matrix} - 20 & 0 \\ - 0 & 750 - \end{matrix} - \right] - \Sigma = - \left[ - \begin{matrix} - 25 & 0 \\ - 0 & 1200 - \end{matrix} - \right] - \Sigma = - \left[ - \begin{matrix} - 10 & 0 \\ - 0 & 650 - \end{matrix} - \right] -$$ - -$$ -\mu= -\left[ - \begin{matrix} - 2 &5 - \end{matrix} - \right] - \mu = - \left[ - \begin{matrix} - 10 & -50 - \end{matrix} - \right] - \mu = - \left[ - \begin{matrix} - -5 & 55 - \end{matrix} - \right] -$$ - -| preprocessing | accuracy | -| ------------- | -------- | -| None | 90.417% | -| min_max | 90.625# | -| z_score | 90.833% | - -*标准化、归一化对于KNN模型的准确率有一定提升,数据集各个feature的数量级差别越大,效果越明显* - -## 总结 - -1、KNN模型中不同类别点的几何分布类型对模型预测准确率影响不明显 - -2、方差对于KNN的准确率影响显著,随着方差增大,模型准确率下降 - -3、标准化、归一化对于KNN模型的准确率有一定提升,数据集各个feature的数量级差别越大,效果越明显;在数量级相差不大的情况下,性能提升不明显 \ No newline at end of file -- Gitee From 5a5681df68e4706b00709484fbb5d4352be5a62b Mon Sep 17 00:00:00 2001 From: XYH Date: Tue, 30 Mar 2021 17:40:17 +0800 Subject: [PATCH 13/13] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assignment-1/submission/17307100038/README.md | 362 ++++++++++++++++++ 1 file changed, 362 insertions(+) create mode 100644 assignment-1/submission/17307100038/README.md diff --git a/assignment-1/submission/17307100038/README.md b/assignment-1/submission/17307100038/README.md new file mode 100644 index 0000000..7e209eb --- /dev/null +++ b/assignment-1/submission/17307100038/README.md @@ -0,0 +1,362 @@ +# 课程报告 + +## KNN类实现 + +### fit()函数 + +fit(X, y,cate = 'euclidean',metric='accuracy',preprocess =None) + +X: 训练集 + +y:训练集标签 + +cate:距离计算方式,如euclidean、manhattan距离 + +metric:模型评估方式,如accuracy + +preprocess:预处理方式,包含min_max归一化、z_score标准化、不处理 + + + +fit函数包含以下功能: + +​ 1、预处理; + +​ 2、随机打乱数据集顺序 + +​ 3、以8:2的比例划分train_data,dev_data,训练选出评估结果最优的k值 + +### predict()函数 + +predict用于预测测试集样本 + +### 辅助函数 + +distance( d1, d2,cate ='eulidean') + +d1,d2表示计算距离的点,cate默认为euclidean距离,可以选择manhattan距离 + + + +## 实验1 + +### Group1:各个类别相差较大,成较为明显的线性位置 + +$$ +\Sigma = + \left[ + \begin{matrix} + 52 & 0 \\ + 0 & 22 + \end{matrix} + \right] + \Sigma = + \left[ + \begin{matrix} + 21.1 & 0 \\ + 0 & 32.1 + \end{matrix} + \right] + \Sigma = + \left[ + \begin{matrix} + 10 & 0 \\ + 0 & 10 + \end{matrix} + \right] +$$ + +$$ +\mu = + \left[ + \begin{matrix} + 2 &5 + \end{matrix} + \right] + \mu = + \left[ + \begin{matrix} + 20 & -5 + \end{matrix} + \right] + \mu = + \left[ + \begin{matrix} + -5 & 22 + \end{matrix} + \right] +$$ + +train_data + +test_g1 + +测试集 + + + +测试在两种距离下的准确率如下: + +| k | distance | acc | +| ---- | --------- | ------- | +| 8 | euclidean | 96.250% | +| 9 | euclidean | 95.625% | +| 3 | euclidean | 95.833% | +| 13 | euclidean | 96.458% | +| 3 | manhattan | 95.417% | +| 13 | manhattan | 96.250% | +| 5 | manhattan | 95.625% | +| 5 | manhattan | 95.625% | + +### Group2:各个类别之间相差较大,成较为明显的分散位置 + +$$ +\Sigma = + \left[ + \begin{matrix} + 52 & 0 \\ + 0 & 22 + \end{matrix} + \right] + \Sigma = + \left[ + \begin{matrix} + 21.1 & 0 \\ + 0 & 32.1 + \end{matrix} + \right] + \Sigma = + \left[ + \begin{matrix} + 10 & 0 \\ + 0 & 10 + \end{matrix} + \right] +$$ + +$$ +\mu = + \left[ + \begin{matrix} + 2 &5 + \end{matrix} + \right] + \mu = + \left[ + \begin{matrix} + 20 & 16 + \end{matrix} + \right] + \mu = + \left[ + \begin{matrix} + -5 & 22 + \end{matrix} + \right] +$$ + +train_data: + +train_g2 + +test_data: + + + +测试在两种距离下的准确率如下: + +| k | distance | acc | +| ---- | --------- | ------- | +| 7 | euclidean | 96.875% | +| 7 | euclidean | 96.875% | +| 9 | euclidean | 97.083% | +| 8 | euclidean | 97.083% | +| 12 | manhattan | 97.708% | +| 14 | manhattan | 97.500% | +| 5 | manhattan | 97.083% | +| 12 | manhattan | 97.708% | + +*可见不同群之间的几何分布类型对knn的效果影响不明显* + +## 实验2 + +控制均值不变,倍数扩大协方差的各个数值至2倍 +$$ +\Sigma = + \left[ + \begin{matrix} + 52 & 0 \\ + 0 & 22 + \end{matrix} + \right] + \Sigma = + \left[ + \begin{matrix} + 21.1 & 0 \\ + 0 & 32.1 + \end{matrix} + \right] + \Sigma = + \left[ + \begin{matrix} + 10 & 0 \\ + 0 & 10 + \end{matrix} + \right] +$$ + +$$ +\left[ + \begin{matrix} + 2 &5 + \end{matrix} + \right] + \mu = + \left[ + \begin{matrix} + 20 & 16 + \end{matrix} + \right] + \mu = + \left[ + \begin{matrix} + -5 & 22 + \end{matrix} + \right] +$$ + +得到准确率改变如下图: + +change_cov + +*方差对于KNN的准确率影响显著,随着方差增大,模型准确率下降* + +## 实验3 + +对比采用归一化、标准化前后 +$$ +\Sigma = + \left[ + \begin{matrix} + 20 & 0 \\ + 0 & 1250 + \end{matrix} + \right] + \Sigma = + \left[ + \begin{matrix} + 25 & 0 \\ + 0 & 2500 + \end{matrix} + \right] + \Sigma = + \left[ + \begin{matrix} + 10 & 0 \\ + 0 & 950 + \end{matrix} + \right] +$$ + +$$ +\mu= +\left[ + \begin{matrix} + 2 &5 + \end{matrix} + \right] + \mu = + \left[ + \begin{matrix} + 10 & -60 + \end{matrix} + \right] + \mu = + \left[ + \begin{matrix} + -5 & 72 + \end{matrix} + \right] +$$ + +无预处理: + +data_original + +min_max 归一化: + +data_minmax + +Z_score标准化: + +data_zscore + +得到对应的准确率如下: + +| preprocessing | accuracy | +| ------------- | -------- | +| None | 82.917% | +| min_max | 83.542% | +| z_score | 84.17% | + +通过变小均值和方差的差距,重新实验得到如下结果: +$$ +\Sigma = + \left[ + \begin{matrix} + 20 & 0 \\ + 0 & 750 + \end{matrix} + \right] + \Sigma = + \left[ + \begin{matrix} + 25 & 0 \\ + 0 & 1200 + \end{matrix} + \right] + \Sigma = + \left[ + \begin{matrix} + 10 & 0 \\ + 0 & 650 + \end{matrix} + \right] +$$ + +$$ +\mu= +\left[ + \begin{matrix} + 2 &5 + \end{matrix} + \right] + \mu = + \left[ + \begin{matrix} + 10 & -50 + \end{matrix} + \right] + \mu = + \left[ + \begin{matrix} + -5 & 55 + \end{matrix} + \right] +$$ + +| preprocessing | accuracy | +| ------------- | -------- | +| None | 90.417% | +| min_max | 90.625# | +| z_score | 90.833% | + +*标准化、归一化对于KNN模型的准确率有一定提升,数据集各个feature的数量级差别越大,效果越明显* + +## 总结 + +1、KNN模型中不同类别点的几何分布类型对模型预测准确率影响不明显 + +2、方差对于KNN的准确率影响显著,随着方差增大,模型准确率下降 + +3、标准化、归一化对于KNN模型的准确率有一定提升,数据集各个feature的数量级差别越大,效果越明显;在数量级相差不大的情况下,性能提升不明显 \ No newline at end of file -- Gitee