版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第8章人工智能教學(xué)目標(biāo)熟悉人工智能基本概念和發(fā)展學(xué)派理解機(jī)器學(xué)習(xí)基本方法初步理解深度學(xué)習(xí)與人工神經(jīng)網(wǎng)絡(luò)理解大模型等人工智能概念8.1人工智能的基本概念8.1.1人工智能的定義AI是模擬、延伸人類(lèi)智能的科學(xué)技術(shù)發(fā)展歷程:初期階段→知識(shí)時(shí)代→特征時(shí)代→數(shù)據(jù)時(shí)代核心問(wèn)題:定義與算法8.1人工智能的基本概念8.1.2圖靈測(cè)試通過(guò)文字問(wèn)答判斷機(jī)器是否具備人類(lèi)智能2014年"尤金·古茲曼"首次通過(guò)測(cè)試8.1人工智能的基本概念8.1.3人工智能的發(fā)展與學(xué)派符號(hào)主義學(xué)派:基于邏輯推理(如專(zhuān)家系統(tǒng))行為主義學(xué)派:強(qiáng)調(diào)環(huán)境交互(如控制論機(jī)器人)連接主義學(xué)派:仿生神經(jīng)網(wǎng)絡(luò)(如深度學(xué)習(xí))8.2機(jī)器學(xué)習(xí)8.2.1機(jī)器學(xué)習(xí)的概念流程:數(shù)據(jù)預(yù)處理→模型訓(xùn)練→評(píng)價(jià)優(yōu)化工具:scikit-learn(分類(lèi)、回歸、聚類(lèi)等)8.2機(jī)器學(xué)習(xí)8.2.2機(jī)器學(xué)習(xí)的基本方法有監(jiān)督學(xué)習(xí):分類(lèi)(KNN、SVM)、回歸(線(xiàn)性回歸)無(wú)監(jiān)督學(xué)習(xí):聚類(lèi)(K-Means)、降維(PCA)案例:藥用植物分類(lèi)、血糖預(yù)測(cè)、數(shù)據(jù)聚類(lèi)與可視化某藥用植物由于原產(chǎn)地不同,藥性有所差異。在“藥材.csv”文件中記錄了原產(chǎn)地分別為A(分類(lèi)代碼0)、B(分類(lèi)代碼1)和C(分類(lèi)代碼2)的藥用植物葉片數(shù)據(jù),包括葉長(zhǎng)、葉寬、葉尖長(zhǎng)和葉柄長(zhǎng)數(shù)據(jù)(單位cm),局部數(shù)據(jù)如圖所示。用sklearn進(jìn)行分類(lèi)建模。
①引用機(jī)器學(xué)習(xí)工具包并讀入數(shù)據(jù)。importnumpyasnpimportpandasaspdfilename='./藥材.csv'data=pd.read_csv(filename)X=data.iloc[1:,:-1] #數(shù)據(jù)集習(xí)慣上用大寫(xiě)形式,不含標(biāo)題行,前4列數(shù)據(jù)y=data.iloc[1:,-1] #標(biāo)簽習(xí)慣上用小寫(xiě)形式,不含標(biāo)題行,最后一列為標(biāo)簽列②劃分?jǐn)?shù)據(jù)。將已知數(shù)據(jù)分成2組:訓(xùn)練集(60%)和測(cè)試集(40%)。fromsklearn.model_selectionimporttrain_test_splitX_train,X_test,y_train,y_test=train_test_split(X,y,test_size=0.4)③訓(xùn)練建模。使用訓(xùn)練集來(lái)構(gòu)建相關(guān)特征的模型。fromsklearn.neighborsimportKNeighborsClassifierclf=KNeighborsClassifier(n_neighbors=3)clf.fit(X_train,y_train)④驗(yàn)證調(diào)優(yōu)。使用測(cè)試集來(lái)驗(yàn)證模型的表現(xiàn),通過(guò)調(diào)整參數(shù)或使用更多的特征來(lái)提升算法的性能。準(zhǔn)確率(Accuracy)用預(yù)測(cè)結(jié)果中正確預(yù)測(cè)的數(shù)量與樣本總數(shù)的比值表示。y_train_pred=clf.predict(X_train)y_test_pred=clf.predict(X_test)#預(yù)測(cè)模型的準(zhǔn)確率importsklearn.metricsprint('訓(xùn)練集',sklearn.metrics.accuracy_score(y_train,y_train_pred))print('測(cè)試集',sklearn.metrics.accuracy_score(y_test,y_test_pred))當(dāng)n_neighbors=3時(shí),預(yù)測(cè)模型的準(zhǔn)確率如下:訓(xùn)練集0.9775280898876404測(cè)試集0.9333333333333333當(dāng)n_neighbors=7時(shí),預(yù)測(cè)模型的準(zhǔn)確率如下:訓(xùn)練集0.9775280898876404測(cè)試集1.0⑤應(yīng)用預(yù)測(cè)。使用訓(xùn)練好的模型對(duì)未知數(shù)據(jù)進(jìn)行預(yù)測(cè)。預(yù)測(cè)藥用植物葉片的葉長(zhǎng)、葉寬、葉尖長(zhǎng)和葉柄長(zhǎng)數(shù)據(jù)分別為4.5、1.5、0.1、3.1的原產(chǎn)地。注意X_n的數(shù)據(jù)結(jié)構(gòu),即使只有一條測(cè)試記錄也要用二維列表(雙重方括號(hào))。#未知數(shù)據(jù)X_n=[[4.5,1.5,0.1,3.1]]y_n=clf.predict(X_n)print('預(yù)測(cè)未知數(shù)據(jù)屬于標(biāo)簽',y_n)輸出結(jié)果如下:預(yù)測(cè)未知數(shù)據(jù)屬于標(biāo)簽[0]可知預(yù)測(cè)樣本屬于原產(chǎn)地A。臨床研究發(fā)現(xiàn),空腹血糖值與血液總膽固醇和甘油三酯兩項(xiàng)獨(dú)立指標(biāo)具有線(xiàn)性關(guān)系?!把菙?shù)據(jù).xlsx”文件中有135例臨床數(shù)據(jù),局部數(shù)據(jù)如圖8-3所示。用sklearn進(jìn)行線(xiàn)性回歸建模。①引用機(jī)器學(xué)習(xí)工具包并讀入數(shù)據(jù)。importnumpyasnpimportpandasaspdfilename='血糖數(shù)據(jù).xlsx'data=pd.read_excel(filename)X=data.iloc[1:,:2].values.astype(float) #自變量,大寫(xiě),不含標(biāo)題行,前2列數(shù)據(jù)y=data.iloc[1:,2].values.astype(float)#因變量,小寫(xiě),不含標(biāo)題行②劃分?jǐn)?shù)據(jù)。將已知數(shù)據(jù)分成2組:隨機(jī)劃分訓(xùn)練集(90%)和測(cè)試集(10%)。fromsklearnimportmodel_selectionX_train,X_test,y_train,y_test=model_selection.train_test_split(X,y,test_size=0.1,random_state=1)③訓(xùn)練建模。使用訓(xùn)練集來(lái)構(gòu)建相關(guān)特征的模型。fromsklearn.linear_modelimportLinearRegressionlinregTr=LinearRegression()linregTr.fit(X_train,y_train)#輸出線(xiàn)性回歸模型的截距和回歸系數(shù)print(linregTercept_,linregTr.coef_)輸出結(jié)果如下:5.133088271911451[0.200307010.32663484]即線(xiàn)性回歸模型可近似表達(dá)為多元線(xiàn)性方程y=0.200X0+0.327X1+5.133。④驗(yàn)證調(diào)優(yōu)。使用測(cè)試集來(lái)驗(yàn)證模型的性能。利用sklearn的metrics類(lèi)中提供的r2_score、mean_squared_error和mean_absolute_error方法分別計(jì)算決定系數(shù)R2、均方誤差MSE和平均絕對(duì)誤差MAE。fromsklearnimportmetricsy_train_pred=linregTr.predict(X_train)y_test_pred=linregTr.predict(X_test)train_mse=metrics.mean_squared_error(y_train,y_train_pred)test_mse=metrics.mean_squared_error(y_test,y_test_pred)print('在訓(xùn)練集和測(cè)試集上的均方誤差分別為:{:.2f}和{:.2f}'.format(train_mse,test_mse))train_mae=metrics.mean_absolute_error(y_train,y_train_pred)test_mae=metrics.mean_absolute_error(y_test,y_test_pred)print('在訓(xùn)練集和測(cè)試集上的平均絕對(duì)誤差分別為:{:.2f}和{:.2f}'.format(train_mae,test_mae))predict_score=linregTr.score(X_test,y_test)print('用回歸模型自帶方法計(jì)算決定系數(shù)為:{:.2f}'.format(predict_score))predict_r2_score=metrics.r2_score(y_test,y_test_pred)print('用metrics類(lèi)方法計(jì)算決定系數(shù)為:{:.2f}'.format(predict_r2_score))輸出結(jié)果如下:在訓(xùn)練集和測(cè)試集上的均方誤差分別為:0.08和0.04在訓(xùn)練集和測(cè)試集上的平均絕對(duì)誤差分別為:0.21和0.16用回歸模型自帶方法計(jì)算決定系數(shù)為:0.80用metrics類(lèi)方法計(jì)算決定系數(shù)為:0.80⑤可視化輸出結(jié)果。使用matplotlib.pyplot對(duì)所劃分的測(cè)試集進(jìn)行可視化結(jié)果比較,如圖所示,其中虛線(xiàn)為模型預(yù)測(cè)結(jié)果,實(shí)線(xiàn)為臨床血樣真實(shí)結(jié)果。importmatplotlib.pyplotaspltplt.plot(range(len(y_test_pred)),y_test_pred,'g--',label='y_test_pred')plt.plot(range(len(y_test)),y_test,'r',label='y_test')plt.show()
⑥應(yīng)用預(yù)測(cè)。使用訓(xùn)練好的模型對(duì)未知數(shù)據(jù)做預(yù)測(cè)。某患者血液總膽固醇和甘油三酯數(shù)據(jù)分別為8.9和2.3,預(yù)測(cè)其空腹血糖。注意X_n的數(shù)據(jù)結(jié)構(gòu),即使只有一條測(cè)試記錄也要用二維列表(雙重方括號(hào))。#未知數(shù)據(jù)X_n=[[8.9,2.3]]y_n=linregTr.predict(X_n)print('預(yù)測(cè)未知數(shù)據(jù)空腹血糖為',y_n)輸出結(jié)果如下:預(yù)測(cè)未知數(shù)據(jù)空腹血糖為[7.6670808]圖測(cè)試集的模型預(yù)測(cè)結(jié)果與臨床血樣真實(shí)結(jié)果比較用sklearn機(jī)器學(xué)習(xí)聚類(lèi)方法將下列6個(gè)數(shù)據(jù)點(diǎn)聚類(lèi):[1,2],[1.5,1.8],[3.5,2.8],[4.6,3.8],[1,0.6],[3.3,4.2],并預(yù)測(cè)[1.4,1.2]和[3.6,3.9]兩個(gè)數(shù)據(jù)點(diǎn)所屬的分類(lèi)標(biāo)簽。importnumpyasnpimportmatplotlib.pyplotaspltfromsklearn.clusterimportKMeansX=np.array([[1,2],[1.5,1.8],[3.5,2.8],[4.6,3.8],[1,0.6],[3.3,4.2]])clf=KMeans(n_clusters=2)clf.fit(X)centers=clf.cluster_centers_ #兩組數(shù)據(jù)點(diǎn)的中心點(diǎn)labels=clf.labels_ #每個(gè)數(shù)據(jù)點(diǎn)所屬的分類(lèi)標(biāo)簽print('兩組的中心點(diǎn)在:\n',centers)print('各數(shù)據(jù)點(diǎn)所屬分類(lèi)標(biāo)簽:\n',labels)foriinrange(len(labels)):plt.scatter(X[i][0],X[i][1],c=('r'iflabels[i]==0else'b'))plt.scatter(centers[:,0],centers[:,1],marker='v',s=100)#預(yù)測(cè)predict=[[1.4,1.2],[3.6,3.9]]label=clf.predict(predict)foriinrange(len(label)):plt.scatter(predict[i][0],predict[i][1],c=('r'iflabel[i]==0else'b'),marker='x')
plt.show()輸出結(jié)果如下:兩組的中心點(diǎn)在:
[[3.83.6][1.166666671.46666667]]各數(shù)據(jù)點(diǎn)所屬分類(lèi)標(biāo)簽:
[110010]8.3深度學(xué)習(xí)與人工神經(jīng)網(wǎng)絡(luò)8.3.1神經(jīng)網(wǎng)絡(luò)的基本概念結(jié)構(gòu):輸入層→隱藏層→輸出層激活函數(shù):ReLU、Sigmoid、tanh訓(xùn)練過(guò)程:前向傳播→損失計(jì)算→反向傳播8.3.2卷積神經(jīng)網(wǎng)絡(luò)(CNN)核心組件:卷積層→池化層→全連接層應(yīng)用:圖像識(shí)別(MNIST手寫(xiě)數(shù)字分類(lèi))框架:TensorFlow/Keras實(shí)現(xiàn)模型構(gòu)建與訓(xùn)練(1)加載相關(guān)庫(kù)和數(shù)據(jù)集,配置模型參數(shù)。設(shè)定每批次128張圖像,將60000張訓(xùn)練集圖像分469批次進(jìn)行訓(xùn)練;設(shè)定每批次32張圖像(默認(rèn)),將10000張測(cè)試集圖像分313批次進(jìn)行測(cè)試。importtensorflowastffromtensorflow.keras.datasetsimportmnistfromtensorflow.keras.modelsimportSequentialfromtensorflow.keras.layersimportDense,Flatten,Conv2D,MaxPool2Dfromtensorflow.keras.utilsimportto_categoricalimportnumpyasnpimportmatplotlib.pyplotaspltimportmatplotlib.imageasmpimg#配置學(xué)習(xí)率、批次大小、迭代次數(shù)等參數(shù)learning_rate=0.001batch_size=128#每批次訓(xùn)練圖像數(shù)epochs=10#加載MNIST數(shù)據(jù)集(需聯(lián)網(wǎng)下載)(x_train,y_train),(x_test,y_test)=mnist.load_data()(2)數(shù)據(jù)預(yù)處理。利用reshape函數(shù)將二維圖像(28×28像素)轉(zhuǎn)換為一維序列(784像素),然后將像素0~255的灰度值歸一化,對(duì)分類(lèi)維度,將標(biāo)簽轉(zhuǎn)換為0~9的分類(lèi)格式。x_train=x_train.reshape(x_train.shape[0],28,28,1)/255.0#整形成適合卷積網(wǎng)絡(luò)的輸入x_test=x_test.reshape(x_test.shape[0],28,28,1)/255.0y_train=to_categorical(y_train,num_classes=10)#將標(biāo)簽轉(zhuǎn)換為分類(lèi)格式y(tǒng)_test=to_categorical(y_test,num_classes=10)(3)構(gòu)建Sequential神經(jīng)網(wǎng)絡(luò)模型。輸入層采用Conv2D二維卷積層,共28×28=784個(gè)神經(jīng)元(一維序列輸入),使用32個(gè)3×3的卷積核。然后依次連接2×2的MaxPool2D池化層、64核的Conv2D二維卷積層和2×2的MaxPool2D池化層,以Flatten展平層轉(zhuǎn)換后連接128個(gè)神經(jīng)元的Dense全連接層。其均以ReLU作為激活函數(shù)。最后連接10個(gè)神經(jīng)元的Dense輸出層,以softmax函數(shù)歸一化得到10個(gè)數(shù)字的概率分布。model=Sequential([Conv2D(32,kernel_size=(3,3),activation='relu',input_shape=(28,28,1)),#32個(gè)3×3的卷積核
MaxPool2D(pool_size=(2,2)), #2×2的池化層
Conv2D(64,kernel_size=(3,3),activation='relu'),#64個(gè)3×3的卷積核
MaxPool2D(pool_size=(2,2)), #2×2的池化層
Flatten(),#展平層,在卷積層和全連接層中間起轉(zhuǎn)換作用
Dense(128,activation='relu'), #全連接層
Dense(10,activation='softmax') #輸出層])(4)模型編譯。使用Adam優(yōu)化器,每步均輸出損失函數(shù)和準(zhǔn)確率用于模型評(píng)估。pile(optimizer=tf.keras.optimizers.Adam(learning_rate=learning_rate),loss='categorical_crossentropy',metrics=['accuracy'])(5)訓(xùn)練模型。迭代次數(shù)達(dá)到預(yù)定epochs時(shí)結(jié)束訓(xùn)練。model.fit(x_train,y_train,batch_size=batch_size,epochs=epochs,validation_data=(x_test,y_test))(6)評(píng)估模型。訓(xùn)練和測(cè)試的部分輸出結(jié)果如圖所示。test_loss,test_acc=model.evaluate(x_test,y_test)print(f'測(cè)試集準(zhǔn)確度:{test_acc}')(7)可視化測(cè)試。測(cè)試結(jié)果如圖所示。images=x_testlabels=y_testnum_rows=2#展示4個(gè)測(cè)試圖像,2行2列num_cols=2prediction_labels=np.argmax(model.predict(images),axis=1)fig,axs=plt.subplots(num_rows,num_cols,figsize=(2,2))foriinrange(num_rows*num_cols):row=i//num_colscol=i%num_colsaxs[row,col].imshow(images[i].reshape(28,28),cmap='Greys')axs[row,col].set_title(f"Label:{labels[i]},Prediction:
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年寶雞職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)帶答案解析
- 2025年山東省濱州地區(qū)單招職業(yè)傾向性考試題庫(kù)帶答案解析
- 2026廣東肇慶市廣寧縣機(jī)關(guān)事務(wù)管理局招聘安保人員2人備考題庫(kù)附參考答案詳解(預(yù)熱題)
- 2026年湖南省公安機(jī)關(guān)考試錄用特殊職位公務(wù)員(人民警察)13人備考題庫(kù)及答案詳解(必刷)
- 2025年橫縣招教考試備考題庫(kù)含答案解析(必刷)
- 2025年陜西機(jī)電職業(yè)技術(shù)學(xué)院馬克思主義基本原理概論期末考試模擬題附答案解析(必刷)
- 2025年重慶財(cái)經(jīng)職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)帶答案解析
- 2025年雷波縣幼兒園教師招教考試備考題庫(kù)帶答案解析
- 2024年阿合奇縣幼兒園教師招教考試備考題庫(kù)附答案解析(必刷)
- 2025年齊魯工業(yè)大學(xué)馬克思主義基本原理概論期末考試模擬題附答案解析
- 情緒反應(yīng)與身體健康的關(guān)系
- 游戲你來(lái)比劃我來(lái)猜的PPT
- 譯林版英語(yǔ)六年級(jí)上冊(cè)第八單元ChineseNewYear課件
- 《別惹螞蟻》劇本
- 典亮青春護(hù)航成長(zhǎng)“民法典進(jìn)校園”主題講座
- ktv衛(wèi)生管理制度
- 黃沙、石子-水泥-磚采購(gòu)合同
- 以學(xué)習(xí)項(xiàng)目構(gòu)建學(xué)習(xí)任務(wù)序列化嘗試(選必修第三單元) 論文
- 臨床檢驗(yàn)標(biāo)本的規(guī)范采集
- pcs-985ts-x說(shuō)明書(shū)國(guó)內(nèi)中文版
- GB/T 18475-2001熱塑性塑料壓力管材和管件用材料分級(jí)和命名總體使用(設(shè)計(jì))系數(shù)
評(píng)論
0/150
提交評(píng)論