Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 129 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
129
Dung lượng
2,65 MB
Nội dung
I H C QU C GIA TP HCM TR NG I H C BÁCH KHOA NGUY N MINH TRÍ XÁC NH TH I GIAN TH C HI N GịI TH U THI CƠNG XÂY D NG CƠNG TRÌNH TH Y L I TRểN THÀNH PH H CHệ MINH Chuyên ngành: QU N LÝ XÂY D NG Mã ngành: 60.58.03.02 LU N V N TH C S Tp H Chí Minh, tháng 08 n m 2021 A BÀN Cơng trình đ Cán b h c hoàn thành t i: Tr ng i h c Bách khoa - HQG TP.HCM ng d n khoa h c: TS INH CÔNG T NH Cán b ch m nh n xét 1: TS PH M V H NG S N Cán b ch m nh n xét 2: TS Lu n v n th c s đ NG TH TRANG c b o v t i tr ng i h c Bách Khoa, HGQ Tp HCM ngày 21 tháng n m 2021 (tr c n) Thành ph n H i đ ng đánh giá lu n v n th c s g m: PGS TS Ph m H ng Luân (Ch t ch H i đ ng) PGS TS Tr n (Th ký H i đ ng) cH c TS Ph m V H ng S n (Giáo viên Ph n bi n 1) TS (Giáo viên Ph n bi n 2) ng Th Trang TS Chu Vi t C ng ( y viên) Xác nh n c a Ch t ch H i đ ng đánh giá lu n v n vƠ Tr ngành sau lu n v n đƣ đ CH T CH H I ng khoa qu n lý chuyên c s a ch a (n u có) NG TR NG KHOA K THU T XÂY D NG PGS TS PH M H NG LUÂN i I H C QU C GIA TP.HCM NG I H C BÁCH KHOA TR C NG HÒA XÃ H I CH NGH A VI T NAM c l p - T - H nh phúc NHI M V LU N V N TH C S H tên h c viên: Nguy n Minh Trí MSHV: 1770432 NgƠy, tháng, n m sinh: 09/03/1988 N i sinh: Tp HCM Chuyên ngƠnh: Qu n lý xây d ng Mã ngành : 60.58.03.02 I TểN XÁC TÀI: NH TH I GIAN TH C HI N GịI TH U THI CỌNG XÂY D NG CÔNG TRỊNH TH Y L I TRÊN A BÀN TP H CHệ MINH II NHI M V VÀ N I DUNG: - Xác đ nh nhân t nh h ng đ n th i gian hoàn thành gói th u thi cơng cơng trình th y l i - Phân tích vƠ đánh giá nhân t xu t mơ hình ANN c tính th i gian hồn thành gói th u thi cơng cơng trình th y l i - Phân tích l a ch n nhân t phù h p v i mô hình nghiên c u ánh giá hi u su t mơ hình lƠm c s áp d ng th nghi m vào th c t III NGÀY GIAO NHI M V : 11/07/2020 IV NGÀY HOÀN THÀNH NHI M V : 10/7/2021 V CÁN B H NG D N: TS INH CÔNG T NH Tp HCM, ngày CÁN B H NG D N TS inh Công T nh TR tháng n m 2021 CH NHI M B MỌN ÀO T O TS NG KHOA K THU T XÂY D NG Ti n S ii L IC M N L i đ u tiên, tơi xin th hi n lịng bi t n sâu s c đ n TS inh Công T nh, ng i th y đƣ t n tình h ng d n vƠ đ a nh ng góp ý r t thi t th c, cơng tâm giúp ti p c n nh ng tri th c khoa h c m t cách b n h n Trong trình th c hi n lu n v n, th y đƣ ch b o chia s cho nhi u ki n th c l n kinh nghi m chuyên môn quý báu đ t tơi có th v n d ng t t có đ ng l c v ng vƠng đ t ng b c hoàn thành lu n v n v i đ tài nghiên c u “Xác đ nh th i gian th c hi n gói th u thi cơng xây d ng cơng trình Th y l i đ a bƠn Tp HCM” NgoƠi c ng xin c m n vƠ tri ân đ n th y cô b môn Thi công Qu n lý xây d ng đƣ t n tình gi ng d y truy n đ t cho nhi u ki n th c b ích su t th i gian đ ch c tr ng Tôi c ng xin c m n đ n b n bè, gia đình đƣ ln khơng ng ng giúp đ , đ ng viên k p th i đ tơi an tâm hồn thành t t lu n v n Tp H Chí Minh, ngày 10 tháng n m 2021 Ng i th c hi n lu n v n Nguy n Minh Trí iii TÓM T T LU N V N TH C S c tính th i gian thi cơng hồn thành cơng trình xây d ng tốn ph c t p ph i xem xét k t h p nhi u y u t Lu n v n áp d ng mơ hình m ng ANN, c th m ng MLP (multi layer perceptron) nh m đánh giá ng x c a mơ hình qua giai đo n khác theo ph ng pháp phát hi n l a ch n có ki m sốt đ c tr ng c a d li u b ng thu t tốn Kennard Stone, giúp mơ hình c i thi n hi u su t t i đa Nghiên c u s d ng d li u t 137 gói th u kênh BTCT t i thành ph H Chí Minh K t qu nghiên c u cho th y mơ hình m ng MLP có hi u qu t t nh t s n ron đ t đ m i l p (layer) m ng l n l c t 7-23-8-8-8-1 (MAPE 13%) Ch đ u t vƠ nhƠ qu n lý có th áp d ng mơ hình đ đ a quy t đ nh nhanh chóng cho k t qu xác vƠ đ m b o tin c y ABSTRACT Construction time estimation is a complex problem that considers a variety of factors The article applies the ANN network model, specifically the MLP network (multi-layer perceptron), to evaluate the behavior of the model over different periods through the detection and representative selection of data using the KennardậStone algorithm, which helps to optimize performance This research uses data from 137 reinforced concrete irrigation channel construction projects in Ho Chi Minh City The MLP network model performs best when the number of neurons on each network layer is 7-23-8-8-8-1 (MAPE 13%), respectively Investors and managers can apply the model to make prompt decisions with accurate and reliable results iv L I CAM OAN Tôi xin cam đoan lu n v n th c s tơi t th c hi n d is h ng d n khoa h c c a TS inh Công T nh Các s li u lu n v n lƠ trung th c Các thơng tin trích d n lu n v n nƠy đ u đƣ đ c ch rõ ngu n g c N u có sai sót tơi xin ch u hồn tồn trách nhi m TP.HCM, ngày 10 tháng 07 n m 2021 H c viên Nguy n Minh Trí v M CL C NHI M V LU N V N TH C S i L I CÁM N ii TÓM T T iii ABSTRACT iii L I CAM OAN .iv M C L C v DANH M C HÌNH NH viii DANH M C B NG BI U xi DANH M C CÁC KÝ HI U VÀ T CH NG ậ TV N VI T T T xii 1.1 Gi i thi u chung 1.2 Xác đ nh v n đ nghiên c u 1.3 M c tiêu nghiên c u 1.4 Ph m vi vƠ đ i t óng góp d ki n c a nghiên c u 1.5 CH NG ậ C 2.1 ng nghiên c u S LÝ THUY T Các khái ni m 2.1.1 Khái ni m cơng trình th y l i: 2.1.2 Nguyên t c t ch c thi công công trình th y l i: 2.1.3 D án đ u t xây d ng 2.1.4 Quy đ nh th c hi n ch 2.2 ng trình d án đ u t công M ng n ron th n kinh: 2.2.1 nh ngh a M ng N ron nhân t o 2.2.2 C u t o c b n c a m t n ron sinh h c: 10 2.2.3 C u t o c b n c a m t n ron nhân t o: 11 2.2.4 Ki n trúc c a m ng n ron nhân t o: 12 2.2.5 Phân lo i m ng n -ron nhân t o: 13 2.2.6 Các hình th c h c c a m ng n ron 14 2.3 Mơ hình m ng MLP, c ch ho t đ ng thu c tính c a m ng 15 2.3.1 Thu t toán lan truy n ng c 16 vi 2.3.2 Gradient 17 2.3.3 Hàm kích ho t 18 2.3.4 T i u Adam (Adaptive Moment Estimation) 20 Ph 2.4 2.4.1 2.4.2 2.4.3 ng pháp Kennard stone 21 Gi i thi u trình xây d ng ph c tr ng c a ph ng pháp 21 ng pháp 23 Quy trình thi t k thu t toán: 23 2.5 Ch a phù h p phù h p m c (Underfit overfit) 25 2.6 ánh giá hi u qu mơ hình 27 2.7 Tình hình nghiên c u tr 2.8 K t lu n ch CH NG ậ PH c 27 ng 30 NG PHÁP NGHIÊN C U 31 3.1 Quy trình nghiên c u .31 3.2 Mô t ph 3.2.1 ng pháp nghiên c u 32 Giai đo n 1: Xác đ nh nhân t nh h ng 32 3.2.2 Giai đo n 2: Xây d ng mơ hình xác đ nh th i gian thi cơng c a lo i cơng trình th y l i kh o sát 32 3.3 Thu th p d li u 33 3.3.1 Thu th p d li u cho giai đo n 1: 33 3.3.2 Thu th p d li u cho giai đo n 2: 35 3.4 Ki m đ nh ch t l ng c a thang đo 36 3.5 Cơng c phân tích 37 3.5.1 Ph n m m th ng kê STATA 37 3.5.2 Ngơn ng l p trình Python 38 K t lu n ch 3.6 CH ng 38 NG ậ THU TH P VÀ PHÂN TÍCH D 4.1 LI U 39 T ch c u tra ch n m u 39 4.1.1 Kh o sát s b .39 4.1.2 Kh o sát đ i trà 39 4.2 c tr ng m u kh o sát .39 4.2.1 S n m kinh nghi m: 39 4.2.2 n v công tác: 40 4.2.3 S d án tham gia 41 vii 4.3 L u đ x lý d li u b ng STATA 41 4.4 Giai đo n 1: X lý d li u thu th p b ng STATA 42 4.5 Giai đo n 2: Thu th p d li u đ th c hi n mô hình m ng MLP 47 4.6 Thu th p d li u 49 4.7 K t lu n ch CH ng 50 NG ậ XÂY D NG MƠ HÌNH M NG TRUY N TH NG MLP 51 xu t m ng MLP đ d đoán vƠ giai đo n tham gia h c c a m ng 51 5.1 5.1.1 xu t m ng MLP: 51 5.1.2 Giai đo n h c c a mơ hình 53 5.2 Giai đo n 1: ánh giá s phù h p mô hình theo hai hình th c chia d li u 54 Khái quát quy trình qua l u đ sau: 54 5.2.1 c tr ng c a d li u: 55 5.2.2 K t qu mơ hình hu n luy n v i d li u ng u nhiên 59 5.2.3 K t qu mơ hình hu n luy n v i d li u chia theo KS: 66 5.3 Giai đo n 2: T t p d li u đƣ ch n v i thu t tốn KS (Kennard stone) tìm c u trúc m ng thích h p h n mang l i hi u su t ch p nh n đ 5.4 t 5.5 Giai đo n 3: T c u trúc m ng đƣ tìm nh h c 75 giai đo n ch y l p ki m tra đ tìm nhân ng đ c tr ng có th đ i di n cho mơ hình MLP ph m vi nghiên c u 79 ng d ng mơ hình vƠo tr ng h p th c t 85 5.6 K t lu n ch ng 89 CH NG ậ K T LU N VÀ KI N NGH 90 6.1 K t lu n .90 6.2 Ki n ngh 91 TÀI LI U THAM KH O 92 PH L C CODE PYTHON 99 PH L C D LI U MƠ HÌNH MLP 111 viii DANH M C HÌNH NH Hình 2.1 ậ C u t o m t n ron sinh h c 10 Hình 2.2 ậ C u t o m t n ron nhân t o 11 Hình 2.3 ậ Ki n trúc m ng n ron nhân t o 13 Hình 2.4 ậ C ch ho t đ ng m ng MLP 16 Hình 2.5 ậ T i u đ d c c c ti u thu t toán Adam 21 Hình 2.6 ậ Quy trình l a ch n m thi t k c a Kennard Stone 25 Hình 2.7 ậ Quan h gi a đ ph c t p mơ hình d li u 26 Hình 3.1 ậ Quy trình nghiên c u 31 Hình 4.1 ậ Bi u đ t ng h p s n m kinh nghi m đ i t Hình 4.2 ậ Bi u đ c c u đ n v công tác đ i t Hình 4.3 ậ Bi u đ c c u s d án tham gia đ i t ng kh o sát 40 ng kh o sát 40 ng kh o sát 41 Hình 4.4 ậ L u đ x lý d li u b ng Stata 42 Hình 4.5 ậ L u đ thu th p d li u m ng MLP 47 Hình 5.1 ậ L u đ t ng quát giai đo n h c c a mơ hình MLP 54 Hình 5.2 ậ L u đ đánh s phù h p mơ hình theo hai hình th c chia d li u 55 Hình 5.3 ậ Bi u đ mơ t d li u u ki n th i ti t 56 Hình 5.4 ậ Bi u đ mô t d li u u ki n đ a ch t 56 Hình 5.5 ậ Bi u đ mơ t d li u u ki n v trí cơng trình 57 Hình 5.6 ậ Bi u đ mô t d li u chi u dài n kênh 57 Hình 5.7 ậ Bi u đ mơ t d li u chi u r ng kênh BTCT ch nh t 58 Hình 5.8 ậ Bi u đ mô t d li u chi u cao kênh BTCT ch nh t 58 Hình 5.9 ậ Bi u đ mô t d li u th i gian thi cơng gói th u kênh th y l i 58 Hình 5.10 ậ Bi u đ sai s t n th t MSE (loss) c a hai mơ hình v i d li u chia ng u nhiên t p hu n luy n 59 Hình 5.11 ậ Bi u đ RMSE c a hai mơ hình v i d li u chia ng u nhiên t p hu n luy n 60 Hình 5.12 ậ Bi u đ sai s t n th t MSE (loss) c a hai mơ hình v i d li u chia ng u nhiên t p ki m tra 61 Lu n v n th c s Trang 101 GVHD: TS inh Công T nh plt.rcParams['figure.figsize'] = (15, 5) sns.distplot(data['B'], color = 'chartreuse') plt.xlabel('Value Range for B', fontsize = 16) plt.ylabel('Frequency', fontsize = 16) plt.title(' b r ng kênh BTCT ch nh t ', fontsize = 20) plt.xticks(rotation = 90) plt.show() # Bi u đ chi u cao kênh BTCT ch nh t plt.rcParams['figure.figsize'] = (15, 5) sns.distplot(data['H'], color = 'lightcoral') plt.xlabel('Value Range for H', fontsize = 16) plt.ylabel('Frequency', fontsize = 16) plt.title(' chi u cao kênh BTCT ch ', fontsize = 20) plt.xticks(rotation = 90) plt.show() # Mã hóa bi n đ nh tính encoder = LabelEncoder() np_data[:,4] = encoder.fit_transform(np_data[:,4]) np_data[:,5] = encoder.fit_transform(np_data[:,5]) np_data[:,6] = encoder.fit_transform(np_data[:,6]) # chia bi n nh h ng bi n ph thu c X = np_data[:,[0,1,2,4,5,6]] X = np.asarray(X).astype('float32') y = np_data[:,3] y = np.asarray(y).astype('float32') Ph l c Thu t toán Kennar Stone class _KennardStone: def init (self, scale = True, prior = 'test'): self.scale = scale self.prior = prior def _get_indexes(self, X): X = np.array(X) if self.scale: scaler = StandardScaler() X = scaler.fit_transform(X) self._original_X = X.copy() distance_to_ave = np.sum((X X.mean(axis = 0)) ** 2, axis = 1) i_farthest = np.argmax(distance_to_ave) i_selected = [i_farthest] i_remaining = np.arange(len(X)) X = np.delete(X, i_selected, axis = 0) i_remaining = np.delete(i_remaining, i_selected, axis = 0) indexes = self._sort(X, i_selected, i_remaining) HVTH: Nguy n Minh Trí MSHV: 1770432 Lu n v n th c s Trang 102 GVHD: TS inh Công T nh if self.prior == 'test': return list(reversed(indexes)) elif self.prior == 'train': return indexes else: raise NotImplementedError def _sort(self, X, i_selected, i_remaining): samples_selected = self._original_X[i_selected] min_distance_to_samples_selected = np.min(np.sum((np.expand _dims(samples_selected, 1) np.expand_dims(X, 0)) ** 2, axis = 2), axis = 0) i_farthest = np.argmax(min_distance_to_samples_selected) i_selected.append(i_remaining[i_farthest]) X = np.delete(X, i_farthest, axis = 0) i_remaining = np.delete(i_remaining, i_farthest, 0) if len(i_remaining): return self._sort(X, i_selected, i_remaining) else: return i_selected class KSSplit(BaseShuffleSplit): @_deprecate_positional_args def init (self, n_splits=10, *, test_size=None, train_size=N one): super(). init (n_splits=n_splits, test_size=test_size, tr ain_size=train_size) self._default_test_size = 0.1 def _iter_indices(self, X, y=None, groups=None): _ks = _KennardStone() inds = _ks._get_indexes(X) n_samples = _num_samples(X) n_train, n_test = _validate_shuffle_split(n_samples, self.t est_size, self.train_size, default_test_size = self._default_test_s ize) for _ in range(self.n_splits): ind_test = inds[:n_test] ind_train = inds[n_test:(n_test + n_train)] yield ind_train, ind_test def train_test_split_byKS(*arrays, test_size=None, train_size=None, **kwargs): n_arrays = len(arrays) if n_arrays == 0: HVTH: Nguy n Minh Trí MSHV: 1770432 Lu n v n th c s Trang 103 GVHD: TS inh Công T nh raise ValueError("At least one array required as input") arrays = indexable(*arrays) n_samples = _num_samples(arrays[0]) n_train, n_test = _validate_shuffle_split(n_samples, test_size, train_size, default_test_size = 0.25) CVClass = KSSplit cv = CVClass(test_size=n_test, train_size=n_train) train, test = next(cv.split(X = arrays[0])) return list(chain.from_iterable((_safe_indexing(a, train), _saf e_indexing(a, test)) for a in arrays)) Ph c l c G i ch s đánh giá hi u su t mơ hình def root_mean_squared_error(y_true, y_pred): return K.sqrt(K.mean(K.square(y_pred - y_true), axis=-1)) def MAPE(Y_actual,Y_Predicted): mape = np.mean(np.abs((Y_actual - Y_Predicted)/Y_actual))*100 return mape Ph l c Chia d li u random v i kích th c 80% train, 20% test X_train_r, X_test_r, y_train_r, y_test_r = train_test_split(X, y, t est_size = 0.2) Ph c l c Mơ hình bi u đ , bi u di n hi u su t mơ hình # m c đ nh giá tr kh i t o mơ hình import tensorflow as tf tf.random.set_seed(1) from numpy.random import seed seed(1) # mơ hình model1 = Sequential() model1.add(Dense(7,activation='relu')) model1.add(Dense(8,activation='relu')) model1.add(Dense(8,activation='relu')) model1.add(Dense(8,activation='relu')) model1.add(Dense(1)) model1.compile(optimizer='Adam',loss='mean_squared_error', metrics =root_mean_squared_error) result1 = model1.fit(X_train_r, y_train_r, epochs=30, batch_size=50 HVTH: Nguy n Minh Trí MSHV: 1770432 Lu n v n th c s Trang 104 GVHD: TS inh Công T nh , validation_data=(X_test_r, y_test_r), verbose=2, shuffle=False) # mơ hình model2 = Sequential() model2.add(Dense(7, activation='relu')) model2.add(Dense(8, activation='relu')) model2.add(Dense(1)) model2.compile(loss='mean_squared_error', metrics=root_mean_square d_error) result2 = model2.fit(X_train_r, y_train_r, epochs=30, batch_size=50 , validation_data=(X_test_r, y_test_r), verbose=2, shuffle=False) # xu t bi u đ fig, ax = plt.subplots(2,2) fig.suptitle('Train model with full features', fontsize=16) ax[0][0].plot(result1.history['loss'], '-o',label='train') ax[0][0].plot(result2.history['loss'], '-o', label='train') ax[0, 0].set_title('train_MSE model1 & model2') ax[0, 0].set_ylabel('loss') ax[0, 0].set_xlabel('epoch') ax[0, 0].legend(['model1', 'model2']) ax[0][1].plot(result1.history['root_mean_squared_error'], 'o', label='train') ax[0][1].plot(result2.history['root_mean_squared_error'], 'o', label='train') ax[0, 1].set_title('train_RMSE model1 & model2') ax[0, 1].set_ylabel('loss') ax[0, 1].set_xlabel('epoch') ax[0, 1].legend(['model1', 'model2']) ax[1][0].plot(result1.history['val_loss'], '-o', label='test') ax[1][0].plot(result2.history['val_loss'], '-o', label='test') ax[1, 0].set_title('test_MSE model1 & model2') ax[1, 0].set_ylabel('loss') ax[1, 0].set_xlabel('epoch') ax[1, 0].legend(['model1', 'model2']) ax[1][1].plot(result1.history['val_root_mean_squared_error'], 'o', label='test') ax[1][1].plot(result2.history['val_root_mean_squared_error'], 'o', label='test') ax[1, 1].set_title('test_RMSE model1 & model2') ax[1, 1].set_ylabel('loss') ax[1, 1].set_xlabel('epoch') ax[1, 1].legend(['model1', 'model2']) HVTH: Nguy n Minh Trí MSHV: 1770432 Lu n v n th c s Trang 105 GVHD: TS inh Công T nh fig.set_figwidth(25) fig.set_figheight(20) fig, ax = plt.subplots(2,2) ax[0][0].plot(result1.history['loss'], '-o',label='train') ax[0][0].plot(result1.history['val_loss'], '-o',label='test') ax[0, 0].set_title('MSE model1') ax[0, 0].set_ylabel('loss') ax[0, 0].set_xlabel('epoch') ax[0, 0].legend(['train_loss', 'test_loss']) ax[0][1].plot(result1.history['root_mean_squared_error'], 'o',label='train') ax[0][1].plot(result1.history['val_root_mean_squared_error'], 'o',label='test') ax[0, 1].set_title('RMSE model1') ax[0, 1].set_ylabel('loss') ax[0, 1].set_xlabel('epoch') ax[0, 1].legend(['train_loss', 'test_loss']) ax[1][0].plot(result2.history['loss'],'-o', label='train') ax[1][0].plot(result2.history['val_loss'], '-o',label='test') ax[1, 0].set_title('MSE model2') ax[1, 0].set_ylabel('loss') ax[1, 0].set_xlabel('epoch') ax[1, 0].legend(['train_loss', 'test_loss']) ax[1][1].plot(result2.history['root_mean_squared_error'], 'o',label='train') ax[1][1].plot(result2.history['val_root_mean_squared_error'], 'o', label='test') ax[1, 1].set_title('RMSE model2') ax[1, 1].set_ylabel('loss') ax[1, 1].set_xlabel('epoch') ax[1, 1].legend(['train_loss', 'test_loss']) fig.set_figwidth(25) fig.set_figheight(20) # xu t hi u su t print("MODEL - full features") y_pre = model1.predict(X_test_r) y_pred=y_pre[:,0] print("MSE:", end=" ") mse_model1_3_feature = result1.history['val_loss'][-1] HVTH: Nguy n Minh Trí MSHV: 1770432 Lu n v n th c s Trang 106 GVHD: TS inh Công T nh print(mse_model1_3_feature) print("RMSE:", end=" ") rmse_model1_3_feature = result1.history['val_root_mean_squared_erro r'][-1] print(rmse_model1_3_feature) print("R2:", end=" ") r2_model1_3_feature = r2_score(y_test_r,y_pred) print(r2_model1_3_feature) print("MAPE :", end=" ") r2_model1_3_feature = MAPE(y_test_r,y_pred) print(r2_model1_3_feature) print() print("MODEL - full features") y_pre = model2.predict(X_test_r) y_pred=y_pre[:,0] print("MSE:", end=" ") mse_model2_3_feature = result2.history['val_loss'][-1] print(mse_model2_3_feature) print("RMSE:", end=" ") rmse_model2_3_feature = result2.history['val_root_mean_squared_erro r'][-1] print(rmse_model2_3_feature) print("R2:", end=" ") r2_model2_3_feature = r2_score(y_test_r, y_pred) print(r2_model2_3_feature) print("MAPE :", end=" ") r2_model2_3_feature = MAPE(y_test_r, y_pred) print(r2_model2_3_feature) Ph l c Chia d li u Kennard Stone v i kích th c 80% train, 20% test X_train, X_test, y_train, y_test = train_test_split_byKS(X, y, test _size = 0.2) Ph c l c Mơ hình bi u đ , bi u di n hi u su t mơ hình # Mơ hình model1 = Sequential() model1.add(Dense(7,activation='relu')) model1.add(Dense(8,activation='relu')) model1.add(Dense(8,activation='relu')) model1.add(Dense(8,activation='relu')) model1.add(Dense(1)) model1.compile(optimizer='Adam',loss='mean_squared_error', =root_mean_squared_error) HVTH: Nguy n Minh Trí metrics MSHV: 1770432 Lu n v n th c s Trang 107 GVHD: TS inh Công T nh result1 = model1.fit(X_train, y_train, epochs=30, batch_size=50, va lidation_data=(X_test, y_test), verbose=2, shuffle=False) # Mơ hình model2 = Sequential() model2.add(Dense(7, activation='relu')) model2.add(Dense(8, activation='relu')) model2.add(Dense(1)) model2.compile(loss='mean_squared_error', metrics=root_mean_square d_error) result2 = model2.fit(X_train, y_train, epochs=30, batch_size=50, va lidation_data=(X_test, y_test), verbose=2, shuffle=False) # Bi u đ k t qu fig, ax = plt.subplots(2,2) fig.suptitle('Train model with full features using KN', fontsize=16 ) ax[0][0].plot(result1.history['loss'], '-o', label='train') ax[0][0].plot(result2.history['loss'], '-o', label='train') ax[0, 0].set_title('train_MSE model1 & model2') ax[0, 0].set_ylabel('loss') ax[0, 0].set_xlabel('epoch') ax[0, 0].legend(['model1', 'model2']) ax[0][1].plot(result1.history['root_mean_squared_error'], 'o', label='train') ax[0][1].plot(result2.history['root_mean_squared_error'], 'o', label='train') ax[0, 1].set_title('train_RMSE model1 & model2') ax[0, 1].set_ylabel('loss') ax[0, 1].set_xlabel('epoch') ax[0, 1].legend(['model1', 'model2']) ax[1][0].plot(result1.history['val_loss'], '-o', label='test') ax[1][0].plot(result2.history['val_loss'], '-o', label='test') ax[1, 0].set_title('test_MSE model1 & model2') ax[1, 0].set_ylabel('loss') ax[1, 0].set_xlabel('epoch') ax[1, 0].legend(['model1', 'model2']) ax[1][1].plot(result1.history['val_root_mean_squared_error'], 'o', label='test') ax[1][1].plot(result2.history['val_root_mean_squared_error'], 'o', label='test') ax[1, 1].set_title('test_RMSE model1 & model2') ax[1, 1].set_ylabel('loss') ax[1, 1].set_xlabel('epoch') HVTH: Nguy n Minh Trí MSHV: 1770432 Lu n v n th c s Trang 108 GVHD: TS inh Công T nh ax[1, 1].legend(['model1', 'model2']) fig.set_figwidth(25) fig.set_figheight(20) fig, ax = plt.subplots(2,2) ax[0][0].plot(result1.history['loss'], '-o',label='train') ax[0][0].plot(result1.history['val_loss'], '-o',label='test') ax[0, 0].set_title('MSE model1') ax[0, 0].set_ylabel('loss') ax[0, 0].set_xlabel('epoch') ax[0, 0].legend(['train_loss', 'test_loss']) ax[0][1].plot(result1.history['root_mean_squared_error'], 'o',label='train') ax[0][1].plot(result1.history['val_root_mean_squared_error'], 'o',label='test') ax[0, 1].set_title('RMSE model4') ax[0, 1].set_ylabel('loss') ax[0, 1].set_xlabel('epoch') ax[0, 1].legend(['train_loss', 'test_loss']) ax[1][0].plot(result2.history['loss'],'-o', label='train') ax[1][0].plot(result2.history['val_loss'], '-o',label='test') ax[1, 0].set_title('MSE model2') ax[1, 0].set_ylabel('loss') ax[1, 0].set_xlabel('epoch') ax[1, 0].legend(['train_loss', 'test_loss']) ax[1][1].plot(result2.history['root_mean_squared_error'], 'o',label='train') ax[1][1].plot(result2.history['val_root_mean_squared_error'], 'o', label='test') ax[1, 1].set_title('RMSE model2') ax[1, 1].set_ylabel('loss') ax[1, 1].set_xlabel('epoch') ax[1, 1].legend(['train_loss', 'test_loss']) fig.set_figwidth(25) fig.set_figheight(20) # Xu t hi u su t print("MODEL - full features") y_pre = model1.predict(X_test) y_pred=y_pre[:,0] HVTH: Nguy n Minh Trí MSHV: 1770432 Lu n v n th c s Trang 109 GVHD: TS inh Công T nh print("MSE:", end=" ") mse_model1_3_feature = result1.history['val_loss'][-1] print(mse_model1_3_feature) print("RMSE:", end=" ") rmse_model1_3_feature = result1.history['val_root_mean_squared_erro r'][-1] print(rmse_model1_3_feature) print("R2:", end=" ") r2_model1_3_feature = r2_score(y_test,y_pred) print(r2_model1_3_feature) print("MAPE :", end=" ") r2_model1_3_feature = MAPE(y_test,y_pred) print(r2_model1_3_feature) print() print("MODEL - full features") y_pre = model2.predict(X_test) y_pred=y_pre[:,0] print("MSE:", end=" ") mse_model2_3_feature = result2.history['val_loss'][-1] print(mse_model2_3_feature) print("RMSE:", end=" ") rmse_model2_3_feature = result2.history['val_root_mean_squared_erro r'][-1] print(rmse_model2_3_feature) print("R2:", end=" ") r2_model2_3_feature = r2_score(y_test,y_pred) print(r2_model2_3_feature) print("MAPE :", end=" ") r2_model1_3_feature = MAPE(y_test,y_pred) print(r2_model1_3_feature) Ph c l c Gi m chi u d li u - minh h a tr ng h p # truy xu t d li u chi u dài n kênh, chi u r ng, chi u cao t t p hu n luy n X_train = X_train[:,[0,1,2]] X_test = X_test[:,[0,1,2]] y_train = y_train y_test = y_test # mơ hình model3 = Sequential() model3.add(Dense(23,activation='relu')) model3.add(Dense(8,activation='relu')) model3.add(Dense(8,activation='relu')) model3.add(Dense(8,activation='relu')) HVTH: Nguy n Minh Trí MSHV: 1770432 Lu n v n th c s Trang 110 GVHD: TS inh Công T nh model3.add(Dense(1)) model3.compile(optimizer='Adam',loss='mean_squared_error', metrics =root_mean_squared_error) result3 = model3.fit(X_train, y_train, epochs=30, batch_size=50, va lidation_data=(X_test, y_test), verbose=0, shuffle=False) # bi u đ k t qu fig, ax = plt.subplots(2,2) ax[0][0].plot(result3.history['loss'], '-o',label='train') ax[0][0].plot(result3.history['val_loss'], '-o',label='test') ax[0, 0].set_title('MSE model1') ax[0, 0].set_ylabel('loss') ax[0, 0].set_xlabel('epoch') ax[0, 0].legend(['train_loss', 'test_loss']) ax[0][1].plot(result3.history['root_mean_squared_error'], 'o',label='train') ax[0][1].plot(result3.history['val_root_mean_squared_error'], 'o',label='test') ax[0, 1].set_title('RMSE model TH2') ax[0, 1].set_ylabel('loss') ax[0, 1].set_xlabel('epoch') ax[0, 1].legend(['train_loss', 'test_loss']) fig.set_figwidth(25) fig.set_figheight(20) # xu t hi u su t print("MODEL - full features") y_pre = model3.predict(X_test) y_pred=y_pre[:,0] print("MSE:", end=" ") mse_model1_3_feature = result3.history['val_loss'][-1] print(mse_model1_3_feature) print("RMSE:", end=" ") rmse_model1_3_feature = result3.history['val_root_mean_squared_erro r'][-1] print(rmse_model1_3_feature) print("R2:", end=" ") r2_model1_3_feature = r2_score(y_test,y_pred) print(r2_model1_3_feature) print("MAPE :", end=" ") r2_model1_3_feature = MAPE(y_test,y_pred) print(r2_model1_3_feature) HVTH: Nguy n Minh Trí MSHV: 1770432 Lu n v n th c s PH L C D D li u chia theo ph STT 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 GVHD: TS inh Công T nh Trang 111 Chi u dài kênh (m) 1190 1098 1390 945 1781 1660 1390 1654 1040 851 917 1108 900 800 1750 1330 723 1476 1690 711 1690 1507 1109 1166 1140 1719 1719 910 1912 1690 910 1000 1969 970 1530 HVTH: Nguy n Minh Trí Chi u r ng kênh (m) 4,5 8,8 11 12,4 10,3 11 11 9,6 10,2 8,5 10,2 4,5 13 14 12 2,7 10,3 6,9 6,9 3,3 10,5 9,7 6,7 11,2 11,2 4,3 11,1 4,1 4,3 10,2 12 LI U MƠ HÌNH MLP ng pháp Kennard Stone dùng đ hu n luy n (80%) Chi u cao kênh (m) 2,7 2,5 2,7 2,7 2,7 1,8 2,2 2,7 2,1 1,7 3,6 3,1 2,3 2,3 1,6 2,5 2,2 2,9 2,6 2,6 1,6 2,5 1,8 1,6 2,7 2,9 1,7 3,5 kv trí 2 1 2 2 2 2 2 2 0 0 1 kđa ch t k th i ti t 2 1 2 2 2 2 1 1 1 1 2 1 2 0 2 0 2 2 2 2 0 1 2 Th i gian thi công (tháng) 12 17 15 12 19 18 14 15 11 10 11 10 11 24 18 16 16 17 12 14 11 13 19 18 19 14 21 19 MSHV: 1770432 Lu n v n th c s 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 GVHD: TS inh Công T nh Trang 112 963 1733 940 1200 863 1243 1005 1332 1778 1212 1132 957 700 2133 1150 1476 1005 1897 1842 1371 1108 945 1806 1971 795 863 1040 1130 1877 1350 1440 968 1479 759 986 1034 832 1826 2500 1781 1140 701 1650 HVTH: Nguy n Minh Trí 10,2 4,8 3,2 9,8 9,8 6,2 10,4 2,1 1,6 10 12,8 13 8,4 10,3 6,2 6,6 13 9,3 4,5 12,4 10 4,2 2,1 9,8 10,2 5,8 8,9 11,5 12,7 5,5 2,6 12 2,9 12 11,4 10,3 6,7 5,8 2,7 3,2 3 2,2 2,6 3,2 2,3 1,7 1,9 3,5 2,5 2,7 3,1 2,6 3,1 3,1 2,1 1,7 2,3 2,2 2,5 3,1 3,2 1,6 1,8 2,9 2,3 1,5 1,6 2,7 2,7 2,9 1,7 2,7 1 2 2 0 1 2 1 2 1 0 0 2 2 1 2 2 2 1 1 2 2 2 2 1 1 1 0 2 2 2 1 2 2 1 0 2 2 2 2 2 1 2 1 0 2 2 11 18 15 11 13 11 16 15 14 11 12 11 18 10 20 24 16 10 13 16 18 10 11 11 20 11 18 13 10 10 16 26 19 13 16 MSHV: 1770432 Lu n v n th c s 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 1877 774 1923 1033 1507 1733 545 1916 795 1877 957 1332 1971 700 1131 1550 1879 1468 774 1923 1565 2249 893 1009 1479 2346 778 980 1880 1860 12,1 9,8 10,6 3,3 4,8 12,4 2,1 8,9 12,8 10,4 4,2 11,7 7,3 2,1 9,8 11,6 13 13,9 9,8 3,4 5,5 10,7 3,5 13 0,8 D li u chia theo ph Chi u dài kênh (m) STT GVHD: TS inh Công T nh Trang 113 829 1240 1877 1912 650 950 HVTH: Nguy n Minh Trí Chi u r ng kênh (m) 12 12,1 11,1 11 2,5 3,2 3,5 2,1 1,6 3,2 3,1 2,3 3,1 1,9 3,2 1,7 2,7 3,2 1,9 2,3 3,2 1,7 3,5 2,7 1,1 1,5 1,8 2,7 0,9 2 1 0 1 2 0 2 2 2 2 2 0 2 1 2 2 1 2 2 2 20 11 22 10 11 19 20 21 10 15 17 12 16 19 13 11 18 20 20 13 24 10 24 13 1 2 2 1 1 2 2 2 0 2 ng pháp Kennard Stone dùng đ ki m tra (20%) Chi u cao kênh (m) 2,7 2,5 2,5 1,7 kv trí 1 2 kđa ch t k th i ti t 2 2 2 1 1 Th i gian thi công (tháng) 11 12 19 20 12 MSHV: 1770432 Lu n v n th c s 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 GVHD: TS inh Công T nh Trang 114 714 714 1000 968 1350 986 1243 1759 833 963 1131 1388 800 890 1690 883 1635 851 1897 1780 1118 829 HVTH: Nguy n Minh Trí 10,9 10,9 11 12,7 12 9,8 13 4,1 10,2 11,7 5,9 11 2,5 4,1 4,5 9,9 8,5 6,6 7,6 12 3 1,6 2,7 2,3 2,2 3,7 2,3 2,7 2,7 2,5 3,5 1,7 1,8 2,7 3,1 2,5 1 2 1 1 2 2 2 2 2 1 2 2 1 1 2 2 2 1 1 2 0 10 12 13 11 12 22 11 13 13 12 15 10 15 10 21 18 11 11 MSHV: 1770432 LÝ L CH TRÍCH NGANG H tên: Nguy n Minh Trí Phái : Nam N m Sinh: 09-03-1988 N i sinh: Tp HCM a ch liên l c: 581 T nh l 10, ph ng Bình Tr ơng B, qu n Bình Tân, Tp HCM i n Tho i: 0938.020.479 Email: widetriocean@gmail.com Quá Trình T o 2006-2011: Tr ng i H c Ki n Trúc Tp.HCM 2017 - nay: H c viên cao h c Khoa Qu n Lý Xây D ng, Tr ng iH c Bách Khoa, Tp.HCM Quá Trình Công Tác Tháng 01/2012 - Tháng 7/2017: y ban nhân dân qu n Bình Tân Tháng 7/2017 - nay: Ban QLDA đ u t xây d ng cơng trình NN PTNT Tp.HCM ... nhân t nh h ng đ n th i gian hồn thành gói th u thi cơng cơng trình th y l i Phân tích vƠ đánh giá nhân t xu t mơ hình ANN c tính th i gian hồn thành gói th u thi cơng cơng trình th y l i Phân tích... gian thi công Vi c tính tốn phân b th i gian hồn thành h p lý k đ n y u t nh h ng góp ph n đem đ n s thành công cho d án, đ m b o hi u qu v đ u t Các ph ng pháp xác đ nh th i gian thi công r... GịI TH U THI CỌNG XÂY D NG CÔNG TRỊNH TH Y L I TRÊN A BÀN TP H CHệ MINH II NHI M V VÀ N I DUNG: - Xác đ nh nhân t nh h ng đ n th i gian hồn thành gói th u thi cơng cơng trình th y l i - Phân tích