{"id":56870,"date":"2025-08-15T00:14:43","date_gmt":"2025-08-14T16:14:43","guid":{"rendered":"https:\/\/www.wsisp.com\/helps\/56870.html"},"modified":"2025-08-15T00:14:43","modified_gmt":"2025-08-14T16:14:43","slug":"%e6%9c%ba%e5%99%a8%e5%ad%a6%e4%b9%a0-kaggle%e9%a1%b9%e7%9b%ae%e5%ae%9e%e8%b7%b5%ef%bc%883%ef%bc%89digit-recognizer-%e6%89%8b%e5%86%99%e6%95%b0%e5%ad%97%e8%af%86%e5%88%ab","status":"publish","type":"post","link":"https:\/\/www.wsisp.com\/helps\/56870.html","title":{"rendered":"\u673a\u5668\u5b66\u4e60 - Kaggle\u9879\u76ee\u5b9e\u8df5\uff083\uff09Digit Recognizer \u624b\u5199\u6570\u5b57\u8bc6\u522b"},"content":{"rendered":"<p>Digit Recognizer | Kaggle \u9898\u9762<\/p>\n<p>Digit Recognizer-CNN | Kaggle \u4e0b\u9762\u4ee3\u7801\u7684kaggle\u7248\u672c<\/p>\n<p>\u4f7f\u7528CNN\u8fdb\u884c\u624b\u5199\u6570\u5b57\u8bc6\u522b<\/p>\n<p>\u5b66\u4e60\u5230\u4e86\u7f51\u7edc\u642d\u5efa\u624b\u6cd5&#043;\u5b66\u4e60\u7387\u9000\u706b&#043;\u6570\u636e\u589e\u5e7f \u63d0\u9ad8\u8bad\u7ec3\u6548\u679c\u3002<\/p>\n<p>\u4f7f\u7528\u6df7\u6dc6\u77e9\u9635 \u4ee5\u53ca\u5bf9\u5206\u7c7b\u51fa\u9519\u6982\u7387\u6700\u5927\u7684\u4f8b\u5b50\u5355\u72ec\u62ce\u51fa\u6765\u5206\u6790\u3002<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" height=\"206\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2025\/08\/20250814161438-689e0b6ecf3c0.png\" width=\"1409\" \/><\/p>\n<p>\u6700\u7ec8\u4ee599.546%\u6b63\u786e\u7387 \u6392\u5728 86\/1035<\/p>\n<h2>1. \u6570\u636e\u51c6\u5907<\/h2>\n<p>\u62c6\u6210X\u548cY \u8f93\u51fa\u6bcf\u4e2a\u6570\u5b57 train\u4e2d\u7684\u6570\u636e\u91cf<\/p>\n<p>import pandas as pd<br \/>\nimport seaborn as sns<br \/>\ntrain &#061; pd.read_csv(&#034;\/kaggle\/input\/digit-recognizer\/train.csv&#034;)<br \/>\ntest &#061; pd.read_csv(&#034;\/kaggle\/input\/digit-recognizer\/test.csv&#034;)<br \/>\nY_train &#061; train[&#034;label&#034;]<br \/>\nX_train &#061; train.drop(labels &#061; [&#034;label&#034;],axis &#061; 1)<br \/>\ndel train <\/p>\n<p>g &#061; sns.countplot(x&#061;Y_train)<br \/>\nY_train.value_counts() <\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" height=\"318\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2025\/08\/20250814161439-689e0b6f806cb.png\" width=\"427\" \/><\/p>\n<p>1.\u786e\u8ba4\u6570\u636e\u5e72\u51c0 \u2192 \u6ca1\u6709\u7f3a\u5931\u503c\u3002<\/p>\n<p>print(X_train.isnull().any().describe()) # \u4e0b\u9762\u4ee3\u8868\u6240\u6709\u5217 \u90fd\u662fFalse<br \/>\nprint(test.isnull().any().describe()) <\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" height=\"199\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2025\/08\/20250814161440-689e0b707049a.png\" width=\"142\" \/><\/p>\n<p>2.\u7070\u5ea6\u5f52\u4e00\u5316&#xff08;\u9664\u4ee5255&#xff09; \u2192 \u63d0\u5347\u8bad\u7ec3\u901f\u5ea6\u548c\u7a33\u5b9a\u6027\u3002<\/p>\n<p>reshape \u2192 \u8f6c\u6362\u6210 CNN \u6240\u9700\u7684 (height, width, channel) \u683c\u5f0f\u3002 \u00a0<\/p>\n<p>\u539f\u6765\u662f(\u6837\u672c\u6570, 784) -&gt; (\u6837\u672c\u6570, \u9ad8\u5ea6, \u5bbd\u5ea6, \u901a\u9053\u6570)\u00a0 \u6837\u672c\u6570, 28, 28, 1<\/p>\n<p>X_train, test &#061; X_train \/ 255.0, test \/ 255.0<br \/>\nX_train &#061; X_train.values.reshape(-1, 28, 28, 1)<br \/>\ntest &#061; test.values.reshape(-1, 28, 28, 1) <\/p>\n<p>3.One-Hot \u7f16\u7801 \u53ea\u6709\u4e00\u4e2a\u4f4d\u7f6e\u4e3a1\u7684\u6807\u7b7e \u2192 \u540e\u7eed softmax \u8f93\u51fa10\u4e2a\u7c7b\u522b\u7684\u6982\u7387\u3002<\/p>\n<p>from tensorflow.keras.utils import to_categorical<br \/>\nY_train &#061; to_categorical(Y_train, num_classes&#061;10) <\/p>\n<p>4.\u5212\u5206\u9a8c\u8bc1\u96c6 \u2192 \u7528\u4e8e\u8c03\u53c2\u3001\u9632\u6b62\u8fc7\u62df\u5408\u3002<\/p>\n<p>from sklearn.model_selection import train_test_split<br \/>\nX_train, X_val, Y_train, Y_val &#061; train_test_split(X_train, Y_train, test_size&#061;0.1, random_state&#061;2) <\/p>\n<p>5.\u53ef\u89c6\u5316\u4e00\u4e2a\u6837\u672c \u2192 \u68c0\u67e5\u6570\u636e\u662f\u5426\u6b63\u786e\u52a0\u8f7d\u3002<\/p>\n<p>import matplotlib.pyplot as plt<br \/>\nplt.imshow(X_train[0][:,:,0], cmap&#061;&#039;gray&#039;)<br \/>\nplt.title(&#034;Example Image&#034;)<br \/>\nplt.show() <\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" height=\"297\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2025\/08\/20250814161440-689e0b70a73d5.png\" width=\"281\" \/><\/p>\n<\/p>\n<h2>2. CNN\u6a21\u578b\u5efa\u6784<\/h2>\n<p>\u5377\u79ef\u5757&#xff1a;2\u4e2aConv(5 * 5)&#043; BN &#043; \u6c60\u5316\u00a0 \u00a0 \u00a0 ~\u00a0 \u00a0 \u00a02\u4e2aConv(3 * 3) &#043; BN &#043; \u6c60\u5316\u3002<\/p>\n<p>Dropout\u820d\u5f03\u4e00\u4e9b\u795e\u7ecf\u5143\u9632\u6b62\u8fc7\u62df\u5408\u3002<\/p>\n<p>import numpy as np<br \/>\nimport tensorflow as tf<\/p>\n<p>from tensorflow.keras.models import Sequential<br \/>\nfrom tensorflow.keras.layers import Conv2D, MaxPooling2D as MaxPool2D<br \/>\nfrom tensorflow.keras.layers import Dense, Dropout, Flatten, BatchNormalization<br \/>\nfrom tensorflow.keras.optimizers import Adam<br \/>\nfrom tensorflow.keras.callbacks import ReduceLROnPlateau<br \/>\nfrom tensorflow.keras.preprocessing.image import ImageDataGenerator<\/p>\n<p>model &#061; Sequential()<\/p>\n<p># \u5377\u79ef\u5757 1<br \/>\nmodel.add(Conv2D(32, (5,5), padding&#061;&#039;same&#039;, activation&#061;&#039;relu&#039;, input_shape&#061;(28,28,1)))<br \/>\nmodel.add(BatchNormalization())   # \u6279\u5f52\u4e00\u5316<br \/>\nmodel.add(Conv2D(32, (5,5), padding&#061;&#039;same&#039;, activation&#061;&#039;relu&#039;))<br \/>\nmodel.add(BatchNormalization())<br \/>\nmodel.add(MaxPool2D(pool_size&#061;(2,2)))<br \/>\nmodel.add(Dropout(0.25))<\/p>\n<p># \u5377\u79ef\u5757 2<br \/>\nmodel.add(Conv2D(64, (3,3), padding&#061;&#039;same&#039;, activation&#061;&#039;relu&#039;))<br \/>\nmodel.add(BatchNormalization())<br \/>\nmodel.add(Conv2D(64, (3,3), padding&#061;&#039;same&#039;, activation&#061;&#039;relu&#039;))<br \/>\nmodel.add(BatchNormalization())<br \/>\nmodel.add(MaxPool2D(pool_size&#061;(2,2), strides&#061;(2,2)))<br \/>\nmodel.add(Dropout(0.25)) <\/p>\n<p>\u8f93\u51fa\u5c42&#xff1a;Flatten &#043; Dense &#043; Softmax<\/p>\n<p>model.add(Flatten())<br \/>\nmodel.add(Dense(256, activation&#061;&#039;relu&#039;))<br \/>\nmodel.add(BatchNormalization())<br \/>\nmodel.add(Dropout(0.5))<br \/>\nmodel.add(Dense(10, activation&#061;&#039;softmax&#039;)) <\/p>\n<p>model.compile\u00a0 \u00a0 \u00a0Adam\u4f18\u5316\u5668 &#043; \u4ea4\u53c9\u71b5\u635f\u5931 &#043; accuracy\u8bc4\u4f30<\/p>\n<p>optimizer &#061; Adam(learning_rate&#061;0.001)<\/p>\n<p>model.compile(optimizer&#061;optimizer,<br \/>\n              loss&#061;&#039;categorical_crossentropy&#039;,<br \/>\n              metrics&#061;[&#039;accuracy&#039;]) <\/p>\n<p>\u5b66\u4e60\u7387\u9000\u706b \u82e5 3 \u4e2a epoch \u5185\u6ca1\u63d0\u5347&#xff0c;\u5c31\u628a lr \u51cf\u534a<\/p>\n<p>learning_rate_reduction &#061; ReduceLROnPlateau(<br \/>\n    monitor&#061;&#039;val_accuracy&#039;, patience&#061;3, verbose&#061;1,<br \/>\n    factor&#061;0.5, min_lr&#061;1e-5<br \/>\n) <\/p>\n<p>\u6570\u636e\u589e\u5e7f&#xff08;ImageDataGenerator&#xff09; \u8f7b\u5fae\u65cb\u8f6c\u3001\u7f29\u653e\u3001\u5e73\u79fb\u7b49\u6269\u5145\u6570\u636e<\/p>\n<p>datagen &#061; ImageDataGenerator(<br \/>\n    rotation_range&#061;10,<br \/>\n    zoom_range&#061;0.1,<br \/>\n    width_shift_range&#061;0.1,<br \/>\n    height_shift_range&#061;0.1<br \/>\n) <\/p>\n<p>\u8bad\u7ec3 \u8bbe\u7f6e epoch\u00a0 batch_size\u00a0 steps<\/p>\n<p>datagen.fit(X_train)<\/p>\n<p># &#061;&#061;&#061;&#061;&#061; \u8bad\u7ec3 &#061;&#061;&#061;&#061;&#061;<br \/>\nepochs &#061; 30<br \/>\nbatch_size &#061; 86<br \/>\nsteps &#061; int(np.ceil(len(X_train) \/ batch_size)) # \u4e00\u6b21\u8bad\u7ec3\u8986\u76d6\u6240\u6709\u6837\u672c<\/p>\n<p>history &#061; model.fit(<br \/>\n    datagen.flow(X_train, Y_train, batch_size&#061;batch_size), # \u6570\u636e\u589e\u5f3a<br \/>\n    epochs&#061;epochs,<br \/>\n    steps_per_epoch&#061;steps,<br \/>\n    validation_data&#061;(X_val, Y_val), # \u9a8c\u8bc1\u6570\u636e<br \/>\n    callbacks&#061;[learning_rate_reduction], # \u56de\u8c03\u5b66\u4e60\u7387<br \/>\n    verbose&#061;2 # \u6bcf\u4e2a epoch \u8f93\u51fa\u4e00\u6b21<br \/>\n)<br \/>\n440\/440 &#8211; 144s &#8211; 327ms\/step &#8211; accuracy: 0.9950 &#8211; loss: 0.0170 &#8211; val_accuracy: 0.9957 &#8211; val_loss: 0.0134 &#8211; learning_rate: 6.2500e-05<br \/>\nEpoch 30\/30<\/p>\n<p>Epoch 30: ReduceLROnPlateau reducing learning rate to 3.125000148429535e-05.<br \/>\n440\/440 &#8211; 145s &#8211; 329ms\/step &#8211; accuracy: 0.9952 &#8211; loss: 0.0153 &#8211; val_accuracy: 0.9955 &#8211; val_loss: 0.0141 &#8211; learning_rate: 6.2500e-05 <\/p>\n<p>\u8fd9\u662f\u8bad\u7ec3\u65e5\u5fd7\u7684\u6700\u540e\u4e00\u90e8\u5206\u8f93\u51fa \u51c6\u786e\u7387\u8fbe\u5230 99.5%<\/p>\n<\/p>\n<h2 style=\"background-color:transparent\">3. \u6a21\u578b\u8bc4\u4f30 evaluation<\/h2>\n<p>1. history\u62a5\u544a\u4e2d \u8bad\u7ec3\u96c6\u548c\u9a8c\u8bc1\u96c6\u7684 Loss \u548c Accuracy \u53ef\u89c6\u5316\u3002<\/p>\n<p>val\u4e3a\u9a8c\u8bc1&#xff0c;\u9a8c\u8bc1\u4e0d\u6bd4\u8bad\u7ec3\u5dee \u8bf4\u660e\u6ca1\u6709\u592a\u8fc7\u62df\u5408\u3002<\/p>\n<p>fig, ax &#061; plt.subplots(2,1)<\/p>\n<p># \u7ed8\u5236\u8bad\u7ec3\u96c6\u548c\u9a8c\u8bc1\u96c6\u7684 Loss<br \/>\nax[0].plot(history.history[&#039;loss&#039;], color&#061;&#039;b&#039;, label&#061;&#034;Training loss&#034;)<br \/>\nax[0].plot(history.history[&#039;val_loss&#039;], color&#061;&#039;r&#039;, label&#061;&#034;validation loss&#034;)<br \/>\nax[0].legend(loc&#061;&#039;best&#039;, shadow&#061;True)<\/p>\n<p># \u7ed8\u5236\u8bad\u7ec3\u96c6\u548c\u9a8c\u8bc1\u96c6\u7684 Accuracy<br \/>\nax[1].plot(history.history[&#039;accuracy&#039;], color&#061;&#039;b&#039;, label&#061;&#034;Training accuracy&#034;)<br \/>\nax[1].plot(history.history[&#039;val_accuracy&#039;], color&#061;&#039;r&#039;, label&#061;&#034;Validation accuracy&#034;)<br \/>\nax[1].legend(loc&#061;&#039;best&#039;, shadow&#061;True) <\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" height=\"312\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2025\/08\/20250814161441-689e0b7126ff3.png\" width=\"420\" \/><\/p>\n<\/p>\n<p>2. \u6df7\u6dc6\u77e9\u9635 confusion_matrix<\/p>\n<p>from sklearn.metrics import confusion_matrix<br \/>\nimport itertools<\/p>\n<p>def plot_confusion_matrix(cm, classes,<br \/>\n                          normalize&#061;False,<br \/>\n                          title&#061;&#039;Confusion matrix&#039;,<br \/>\n                          cmap&#061;plt.cm.Blues):<\/p>\n<p>    plt.imshow(cm, interpolation&#061;&#039;nearest&#039;, cmap&#061;cmap)<br \/>\n    plt.title(title)<br \/>\n    plt.colorbar()<br \/>\n    tick_marks &#061; np.arange(len(classes))<br \/>\n    plt.xticks(tick_marks, classes, rotation&#061;45)<br \/>\n    plt.yticks(tick_marks, classes)<\/p>\n<p>    if normalize:<br \/>\n        cm &#061; cm.astype(&#039;float&#039;) \/ cm.sum(axis&#061;1)[:, np.newaxis]<\/p>\n<p>    thresh &#061; cm.max() \/ 2.<br \/>\n    for i, j in itertools.product(range(cm.shape[0]), range(cm.shape[1])):<br \/>\n        plt.text(j, i, cm[i, j],<br \/>\n                 horizontalalignment&#061;&#034;center&#034;,<br \/>\n                 color&#061;&#034;white&#034; if cm[i, j] &gt; thresh else &#034;black&#034;)<\/p>\n<p>    plt.tight_layout()<br \/>\n    plt.ylabel(&#039;True label&#039;)<br \/>\n    plt.xlabel(&#039;Predicted label&#039;)<\/p>\n<p>Y_pred &#061; model.predict(X_val) # \u9884\u6d4b\u503c<br \/>\nY_pred_classes &#061; np.argmax(Y_pred, axis &#061; 1) # \u9884\u6d4b\u5bf9\u5e94\u7c7b\u522b<br \/>\nY_true &#061; np.argmax(Y_val,axis &#061; 1) # \u771f\u5b9e\u7c7b\u522b<\/p>\n<p>confusion_mtx &#061; confusion_matrix(Y_true, Y_pred_classes)<br \/>\nplot_confusion_matrix(confusion_mtx, classes &#061; range(10)) <\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" height=\"387\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2025\/08\/20250814161441-689e0b71a4be6.png\" width=\"436\" \/><\/p>\n<\/p>\n<p>3. \u5bf9\u4e8e\u5206\u7c7b\u9519\u8bef\u7684\u4f4d\u7f6e \u7528\u9884\u6d4b&#xff08;\u9519\u8bef\u6570\u5b57\u7684\u6982\u7387 &#8211; \u6b63\u786e\u6807\u7b7e\u7684\u6982\u7387&#xff09;<\/p>\n<p>\u8f93\u51fa\u9884\u6d4b\u9519\u8bef\u5dee\u522b\u6700\u5927\u7684\u56fe\u7247 \u662f\u4ec0\u4e48\u6837\u7684\u3002<\/p>\n<p># \u627e\u51fa\u9884\u6d4b\u9519\u8bef\u7684\u4f4d\u7f6e \u5e03\u5c14\u6570\u7ec4<br \/>\nerrors &#061; (Y_pred_classes !&#061; Y_true )<\/p>\n<p># \u63d0\u53d6\u9519\u8bef\u9884\u6d4b\u7684\u8be6\u7ec6\u6570\u636e<br \/>\nY_pred_classes_errors &#061; Y_pred_classes[errors]<br \/>\nY_pred_errors &#061; Y_pred[errors]<br \/>\nY_true_errors &#061; Y_true[errors]<br \/>\nX_val_errors &#061; X_val[errors]<\/p>\n<p># \u9519\u8bef\u9884\u6d4b\u7684\u6700\u5927\u6982\u7387<br \/>\nY_pred_errors_prob &#061; np.max(Y_pred_errors,axis &#061; 1)<\/p>\n<p># \u6b63\u786e\u6807\u7b7e\u5bf9\u5e94\u7684\u9884\u6d4b\u6982\u7387<br \/>\ntrue_prob_errors &#061; np.diagonal(np.take(Y_pred_errors, Y_true_errors, axis&#061;1))<\/p>\n<p># \u5dee\u503c&#xff1a;\u9884\u6d4b\u7684\u6700\u5927\u6982\u7387 &#8211; \u6b63\u786e\u6807\u7b7e\u6982\u7387<br \/>\ndelta_pred_true_errors &#061; Y_pred_errors_prob &#8211; true_prob_errors<\/p>\n<p># \u627e\u51fa\u6982\u7387\u5dee\u6700\u5927\u7684\u9519\u8bef<br \/>\nmost_important_errors &#061; np.argsort(delta_pred_true_errors)[-6:]<\/p>\n<p>def display_errors(errors_index,img_errors,pred_errors, obs_errors):<br \/>\n    &#034;&#034;&#034; This function shows 6 images with their predicted and real labels&#034;&#034;&#034;<br \/>\n    n &#061; 0<br \/>\n    nrows &#061; 2<br \/>\n    ncols &#061; 3<br \/>\n    fig, ax &#061; plt.subplots(nrows,ncols,sharex&#061;True,sharey&#061;True)<br \/>\n    for row in range(nrows):<br \/>\n        for col in range(ncols):<br \/>\n            error &#061; errors_index[n]<br \/>\n            ax[row,col].imshow((img_errors[error]).reshape((28,28)))<br \/>\n            ax[row,col].set_title(&#034;Predicted label :{}\\\\nTrue label :{}&#034;.format(pred_errors[error],obs_errors[error]))<br \/>\n            n &#043;&#061; 1<\/p>\n<p>display_errors(most_important_errors, X_val_errors, Y_pred_classes_errors, Y_true_errors) <\/p>\n<p>\u53d1\u73b0\u9884\u6d4b\u9519\u8bef\u7684\u51e0\u5f20\u56fe\u7247 \u672c\u8eab\u5c31\u5f88\u5bb9\u6613\u8bef\u89e3<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" height=\"375\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2025\/08\/20250814161442-689e0b7252134.png\" width=\"468\" \/><\/p>\n<\/p>\n<p>4. \u9884\u6d4b&amp;\u63d0\u4ea4\u7ed3\u679c<\/p>\n<p>results &#061; model.predict(test)<br \/>\nresults &#061; np.argmax(results,axis &#061; 1)  # \u6982\u7387\u8f6c\u7c7b\u522b<br \/>\nresults &#061; pd.Series(results,name&#061;&#034;Label&#034;)<\/p>\n<p>submission &#061; pd.concat([pd.Series(range(1,28001),name &#061; &#034;ImageId&#034;),results],axis &#061; 1)<br \/>\nsubmission.to_csv(&#034;cnn_mnist_datagen.csv&#034;,index&#061;False) <\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u6587\u7ae0\u6d4f\u89c8\u9605\u8bfb173\u6b21\u3002\u672c\u6587\u4ecb\u7ecd\u4e86\u4f7f\u7528\u5377\u79ef\u795e\u7ecf\u7f51\u7edc(CNN)\u8fdb\u884c\u624b\u5199\u6570\u5b57\u8bc6\u522b\u7684\u5b8c\u6574\u6d41\u7a0b\u3002\u9996\u5148\u5bf9MNIST\u6570\u636e\u96c6\u8fdb\u884c\u9884\u5904\u7406\uff0c\u5305\u62ec\u5f52\u4e00\u5316\u3001reshape\u548cone-hot\u7f16\u7801\u3002\u7136\u540e\u6784\u5efa\u5305\u542b\u4e24\u4e2a\u5377\u79ef\u5757(5&#215;5\u548c3&#215;3\u5377\u79ef\u6838)\u7684CNN\u6a21\u578b\uff0c\u91c7\u7528\u6279\u5f52\u4e00\u5316\u548cDropout\u9632\u6b62\u8fc7\u62df\u5408\u3002\u8bad\u7ec3\u8fc7\u7a0b\u4e2d\u4f7f\u7528\u5b66\u4e60\u7387\u9000\u706b\u548c\u6570\u636e\u589e\u5f3a\u7b56\u7565\uff0c\u6700\u7ec8\u5728\u9a8c\u8bc1\u96c6\u4e0a\u8fbe\u5230\u4e8699.5%\u7684\u51c6\u786e\u7387\u3002\u6587\u7ae0\u8fd8\u5c55\u793a\u4e86\u635f\u5931\/\u51c6\u786e\u7387\u66f2\u7ebf\u3001\u6df7\u6dc6\u77e9\u9635\u5206\u6790\u4ee5\u53ca\u5178\u578b\u9519\u8bef\u6837\u672c\u7684\u53ef\u89c6\u5316\uff0c\u6700\u540e\u751f\u6210\u6d4b\u8bd5\u96c6\u9884\u6d4b\u7ed3\u679c\u5e76\u63d0\u4ea4\u3002\u6574\u4e2a\u6d41\u7a0b\u6db5\u76d6\u4e86\u6570\u636e\u9884\u5904\u7406\u3001\u6a21\u578b\u6784\u5efa\u3001\u8bad\u7ec3\u4f18\u5316\u548c\u7ed3\u679c\u8bc4\u4f30\u7b49\u5173\u952e\u73af\u8282\u3002<\/p>\n","protected":false},"author":2,"featured_media":56863,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[5347,50,5349,2863,5923,5924,207,5346],"topic":[],"class_list":["post-56870","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-server","tag-kaggle","tag-50","tag-5349","tag-2863","tag-5923","tag-5924","tag-207","tag-5346"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u673a\u5668\u5b66\u4e60 - Kaggle\u9879\u76ee\u5b9e\u8df5\uff083\uff09Digit Recognizer \u624b\u5199\u6570\u5b57\u8bc6\u522b - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.wsisp.com\/helps\/56870.html\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u673a\u5668\u5b66\u4e60 - Kaggle\u9879\u76ee\u5b9e\u8df5\uff083\uff09Digit Recognizer \u624b\u5199\u6570\u5b57\u8bc6\u522b - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\" \/>\n<meta property=\"og:description\" content=\"\u6587\u7ae0\u6d4f\u89c8\u9605\u8bfb173\u6b21\u3002\u672c\u6587\u4ecb\u7ecd\u4e86\u4f7f\u7528\u5377\u79ef\u795e\u7ecf\u7f51\u7edc(CNN)\u8fdb\u884c\u624b\u5199\u6570\u5b57\u8bc6\u522b\u7684\u5b8c\u6574\u6d41\u7a0b\u3002\u9996\u5148\u5bf9MNIST\u6570\u636e\u96c6\u8fdb\u884c\u9884\u5904\u7406\uff0c\u5305\u62ec\u5f52\u4e00\u5316\u3001reshape\u548cone-hot\u7f16\u7801\u3002\u7136\u540e\u6784\u5efa\u5305\u542b\u4e24\u4e2a\u5377\u79ef\u5757(5x5\u548c3x3\u5377\u79ef\u6838)\u7684CNN\u6a21\u578b\uff0c\u91c7\u7528\u6279\u5f52\u4e00\u5316\u548cDropout\u9632\u6b62\u8fc7\u62df\u5408\u3002\u8bad\u7ec3\u8fc7\u7a0b\u4e2d\u4f7f\u7528\u5b66\u4e60\u7387\u9000\u706b\u548c\u6570\u636e\u589e\u5f3a\u7b56\u7565\uff0c\u6700\u7ec8\u5728\u9a8c\u8bc1\u96c6\u4e0a\u8fbe\u5230\u4e8699.5%\u7684\u51c6\u786e\u7387\u3002\u6587\u7ae0\u8fd8\u5c55\u793a\u4e86\u635f\u5931\/\u51c6\u786e\u7387\u66f2\u7ebf\u3001\u6df7\u6dc6\u77e9\u9635\u5206\u6790\u4ee5\u53ca\u5178\u578b\u9519\u8bef\u6837\u672c\u7684\u53ef\u89c6\u5316\uff0c\u6700\u540e\u751f\u6210\u6d4b\u8bd5\u96c6\u9884\u6d4b\u7ed3\u679c\u5e76\u63d0\u4ea4\u3002\u6574\u4e2a\u6d41\u7a0b\u6db5\u76d6\u4e86\u6570\u636e\u9884\u5904\u7406\u3001\u6a21\u578b\u6784\u5efa\u3001\u8bad\u7ec3\u4f18\u5316\u548c\u7ed3\u679c\u8bc4\u4f30\u7b49\u5173\u952e\u73af\u8282\u3002\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.wsisp.com\/helps\/56870.html\" \/>\n<meta property=\"og:site_name\" content=\"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\" \/>\n<meta property=\"article:published_time\" content=\"2025-08-14T16:14:43+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2025\/08\/20250814161438-689e0b6ecf3c0.png\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/56870.html\",\"url\":\"https:\/\/www.wsisp.com\/helps\/56870.html\",\"name\":\"\u673a\u5668\u5b66\u4e60 - Kaggle\u9879\u76ee\u5b9e\u8df5\uff083\uff09Digit Recognizer \u624b\u5199\u6570\u5b57\u8bc6\u522b - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\",\"isPartOf\":{\"@id\":\"https:\/\/www.wsisp.com\/helps\/#website\"},\"datePublished\":\"2025-08-14T16:14:43+00:00\",\"dateModified\":\"2025-08-14T16:14:43+00:00\",\"author\":{\"@id\":\"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.wsisp.com\/helps\/56870.html#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.wsisp.com\/helps\/56870.html\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/56870.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.wsisp.com\/helps\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u673a\u5668\u5b66\u4e60 - Kaggle\u9879\u76ee\u5b9e\u8df5\uff083\uff09Digit Recognizer \u624b\u5199\u6570\u5b57\u8bc6\u522b\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/#website\",\"url\":\"https:\/\/www.wsisp.com\/helps\/\",\"name\":\"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\",\"description\":\"\u9999\u6e2f\u670d\u52a1\u5668_\u9999\u6e2f\u4e91\u670d\u52a1\u5668\u8d44\u8baf_\u670d\u52a1\u5668\u5e2e\u52a9\u6587\u6863_\u670d\u52a1\u5668\u6559\u7a0b\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.wsisp.com\/helps\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery\",\"contentUrl\":\"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery\",\"caption\":\"admin\"},\"sameAs\":[\"http:\/\/wp.wsisp.com\"],\"url\":\"https:\/\/www.wsisp.com\/helps\/author\/admin\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u673a\u5668\u5b66\u4e60 - Kaggle\u9879\u76ee\u5b9e\u8df5\uff083\uff09Digit Recognizer \u624b\u5199\u6570\u5b57\u8bc6\u522b - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.wsisp.com\/helps\/56870.html","og_locale":"zh_CN","og_type":"article","og_title":"\u673a\u5668\u5b66\u4e60 - Kaggle\u9879\u76ee\u5b9e\u8df5\uff083\uff09Digit Recognizer \u624b\u5199\u6570\u5b57\u8bc6\u522b - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","og_description":"\u6587\u7ae0\u6d4f\u89c8\u9605\u8bfb173\u6b21\u3002\u672c\u6587\u4ecb\u7ecd\u4e86\u4f7f\u7528\u5377\u79ef\u795e\u7ecf\u7f51\u7edc(CNN)\u8fdb\u884c\u624b\u5199\u6570\u5b57\u8bc6\u522b\u7684\u5b8c\u6574\u6d41\u7a0b\u3002\u9996\u5148\u5bf9MNIST\u6570\u636e\u96c6\u8fdb\u884c\u9884\u5904\u7406\uff0c\u5305\u62ec\u5f52\u4e00\u5316\u3001reshape\u548cone-hot\u7f16\u7801\u3002\u7136\u540e\u6784\u5efa\u5305\u542b\u4e24\u4e2a\u5377\u79ef\u5757(5x5\u548c3x3\u5377\u79ef\u6838)\u7684CNN\u6a21\u578b\uff0c\u91c7\u7528\u6279\u5f52\u4e00\u5316\u548cDropout\u9632\u6b62\u8fc7\u62df\u5408\u3002\u8bad\u7ec3\u8fc7\u7a0b\u4e2d\u4f7f\u7528\u5b66\u4e60\u7387\u9000\u706b\u548c\u6570\u636e\u589e\u5f3a\u7b56\u7565\uff0c\u6700\u7ec8\u5728\u9a8c\u8bc1\u96c6\u4e0a\u8fbe\u5230\u4e8699.5%\u7684\u51c6\u786e\u7387\u3002\u6587\u7ae0\u8fd8\u5c55\u793a\u4e86\u635f\u5931\/\u51c6\u786e\u7387\u66f2\u7ebf\u3001\u6df7\u6dc6\u77e9\u9635\u5206\u6790\u4ee5\u53ca\u5178\u578b\u9519\u8bef\u6837\u672c\u7684\u53ef\u89c6\u5316\uff0c\u6700\u540e\u751f\u6210\u6d4b\u8bd5\u96c6\u9884\u6d4b\u7ed3\u679c\u5e76\u63d0\u4ea4\u3002\u6574\u4e2a\u6d41\u7a0b\u6db5\u76d6\u4e86\u6570\u636e\u9884\u5904\u7406\u3001\u6a21\u578b\u6784\u5efa\u3001\u8bad\u7ec3\u4f18\u5316\u548c\u7ed3\u679c\u8bc4\u4f30\u7b49\u5173\u952e\u73af\u8282\u3002","og_url":"https:\/\/www.wsisp.com\/helps\/56870.html","og_site_name":"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","article_published_time":"2025-08-14T16:14:43+00:00","og_image":[{"url":"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2025\/08\/20250814161438-689e0b6ecf3c0.png"}],"author":"admin","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"admin","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"4 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.wsisp.com\/helps\/56870.html","url":"https:\/\/www.wsisp.com\/helps\/56870.html","name":"\u673a\u5668\u5b66\u4e60 - Kaggle\u9879\u76ee\u5b9e\u8df5\uff083\uff09Digit Recognizer \u624b\u5199\u6570\u5b57\u8bc6\u522b - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","isPartOf":{"@id":"https:\/\/www.wsisp.com\/helps\/#website"},"datePublished":"2025-08-14T16:14:43+00:00","dateModified":"2025-08-14T16:14:43+00:00","author":{"@id":"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41"},"breadcrumb":{"@id":"https:\/\/www.wsisp.com\/helps\/56870.html#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.wsisp.com\/helps\/56870.html"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.wsisp.com\/helps\/56870.html#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.wsisp.com\/helps"},{"@type":"ListItem","position":2,"name":"\u673a\u5668\u5b66\u4e60 - Kaggle\u9879\u76ee\u5b9e\u8df5\uff083\uff09Digit Recognizer \u624b\u5199\u6570\u5b57\u8bc6\u522b"}]},{"@type":"WebSite","@id":"https:\/\/www.wsisp.com\/helps\/#website","url":"https:\/\/www.wsisp.com\/helps\/","name":"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","description":"\u9999\u6e2f\u670d\u52a1\u5668_\u9999\u6e2f\u4e91\u670d\u52a1\u5668\u8d44\u8baf_\u670d\u52a1\u5668\u5e2e\u52a9\u6587\u6863_\u670d\u52a1\u5668\u6559\u7a0b","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.wsisp.com\/helps\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"zh-Hans"},{"@type":"Person","@id":"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41","name":"admin","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/image\/","url":"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery","contentUrl":"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery","caption":"admin"},"sameAs":["http:\/\/wp.wsisp.com"],"url":"https:\/\/www.wsisp.com\/helps\/author\/admin"}]}},"_links":{"self":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/posts\/56870","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/comments?post=56870"}],"version-history":[{"count":0,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/posts\/56870\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/media\/56863"}],"wp:attachment":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/media?parent=56870"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/categories?post=56870"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/tags?post=56870"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/topic?post=56870"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}