大數據分析方法與應用 課后習題及答案 耿秀麗_第1頁
大數據分析方法與應用 課后習題及答案 耿秀麗_第2頁
大數據分析方法與應用 課后習題及答案 耿秀麗_第3頁
大數據分析方法與應用 課后習題及答案 耿秀麗_第4頁
大數據分析方法與應用 課后習題及答案 耿秀麗_第5頁
已閱讀5頁,還剩21頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第1章課后習題及答案1.大數據的4V特征是什么?Volume(體量巨大)、Variety(種類繁多)、Velocity(處理速度快)和Value(價值密度低)是大數據的4個主要特征。2.請簡述大數據處理流程。大數據分析是一個目的明確的過程,其過程概括起來主要包括:目標確定、數據收集、數據預處理、數據挖掘、數據建模與分析、數據可視化、結果分析和報告。3.分布式計算在大數據分析中有哪些作用?提高計算效率、提高系統可靠性、實現更高的擴展性、降低計算成本。4.你認為在5G時代下大數據還有哪些新應用?(1)“大國糧倉”龍江5G數字農場(北大荒)中國聯通“大國糧倉”5G數字農場項目,基于中國聯通5G網絡,應用于北大荒農場,打造世界先進的5G數字農場,打通“人、地、機、物、環”生產作業全要素,貫穿“耕種管收”全環節,以生產經營管理為核心,搭建“1+1+N”架構,即1張5G核心網,完成農業生產“感聯智控”;1個農業智腦,整合物聯、數據、業務、AI、GIS等中臺,進行統一的平臺支撐和智能服務;聚焦“黑土地保護+無人化作業”形成“N”項5G智慧農業應用,激活農業發展要素資源,提高生產效率,降低生產成本,實現黑土地防治管護、無人農機智能作業等全方位創新場景,實現水、肥、藥施用量節約20%以上,人力成本降低10%以上,每畝增產5-10%。通過5G賦能萬畝良田,設施、裝備、機械數字化、智能化改造,實現全產業鏈智慧農業。(2)5G助力天津港打造智慧、綠色的世界一流港口天津港是京津冀的海上門戶,是“一帶一路”的戰略支點,也是中國聯通在港口領域重要戰略合作伙伴之一。天津聯通攜手天津港匠心打造5G智慧港口,采用“邊生產、邊改造”的建設方式,相繼攻克世界性智慧港口建設諸多難題,落地了5G智能無人集卡、5G岸橋遠程控制、5G智能理貨、5G智能加解鎖站、四大5G創新應用場景,成為全球首個獲批建設的港口自動駕駛示范區、實現全球首個無人集卡場景下陸側“一鍵著箱”、實現國內首家集裝箱智能理貨系統內外理一體化運行、建成全球首臺集裝箱地面智能解鎖站、建成全球首個集裝箱設備任務集成管理系統ETMS。5.請舉例說明生活中大數據的應用。

第2章課后習題及答案1.總體和樣本的定義?答案:總體是具有特定屬性的對象的全體,樣本是某個總體的一部分。2.區分以下數據哪些是總體,哪些是樣本?(1)從某大學6000個宿舍中隨機抽查100間宿舍進行安全檢查。(2)從一批燈泡中隨機挑選20個抽樣檢查。(3)對某小區所有的老人進行身體檢查。答:(1)(2)是樣本;(3)是總體3.定性數據和定量數據的定義?答:定性數據(也稱為名義數據)是一種用于描述各種類別或屬性的數據。它們表示不同的類型,但沒有排序或量化關系。定性數據僅提供了有關事物所屬類別的信息,而不提供數量或程度的度量;定量數據是以數字表現的數據,它可以被測量、計算和比較。在研究中,定量數據常用于收集、分析和解釋現象和事實。4.截面數據和時間序列數據的定義?答:截面數是指在同一時間點上對某個總體進行測量所得到的數據。這種數據收集方法通常是在同一時間點上進行的,因此被稱為截面數據;時間序列數據是一種按時間順序排列的觀測值的集合,這些觀測值通常按照固定的時間間隔采集。5.協方差和相關系數的定義?答:協方差是描述兩個隨機變量之間關系的統計量。它用于衡量兩個變量在同一時間段內的變動趨勢是否同向或相反;相關系數定量地刻畫兩個隨機變量的相關程度。

第3章課后習題及答案1.設SSR=36,SSE=4,n=18。(1)計算判定系數R2并解釋其意義。(2)計算估計標準誤差Se并解釋其意義。解:(1)R2=90%表示在因變量y取值的變差中,有90%可以由x與y之間的線性關系來解釋。(2)Se=0.5表示,當用x來預測y時,平均的預測誤差為0.5。2.下面是7個地區2000年的人均國內生產總值(GDP)和人均消費水平的統計數據:表3-82000年統計數據地區人均GDP/元人均消費水平/元北京224607326遼寧112264490上海3454711546江西48512396河南54442208貴州26621608陜西45492035求:(1)人均GDP作自變量,人均消費水平作因變量,繪制散點圖,并說明二者之間的關系。(2)計算兩個變量之間的線性相關系數,說明兩個變量之間的關系強度。(3)求出估計的回歸方程,并解釋回歸系數的實際意義。(4)計算判定系數,并解釋其意義。(5)檢驗回歸方程線性關系的顯著性()。(6)如果某地區的人均GDP為5000元,預測其人均消費水平。(7)求人均GDP為5000元時,人均消費水平95%的置信區間和預測區間。解:(1)可能存在線性關系。(2)相關系數:表3-9系數a模型非標準化系數標準系數T顯著性相關性B標準誤差Beta零階偏部分1常量734.693139.5405.2650.003人均GDP0.3090.0080.99836.4920.0000.9980.9980.998a因變量:人均消費水平有很強的線性關系。(3)回歸方程:y=734.693+0.309x。回歸系數的含義:人均GDP每增加1元,人均消費增加0.309元。(4)表3-10模型匯總模型RR2調整R2標準估計的誤差10.998a0.9960.996247.303a預測變量(常量):人均GDP。人均GDP對人均消費的影響達到99.6%。(5)F檢驗:表3-11ANVOA模型平方和df均方FSig.1回歸81444968.680181444968.6801331.6920.000殘差305795.034561159.007總計81750763.7146a預測變量:(常量),人均GDP。b因變量:人均消費水平。回歸系數的檢驗:表3-12t檢驗模型非標準化系數標準系數t顯著性相關性B標準誤差Deta零階偏部分1常量734.693139.5405.2650.003人均GDP0.3090.0080.99836.4920.0000.9980.9980.998a因變量:人均消費水平。(6)某地區的人均GDP為5000元,預測其人均消費水平為:y=734.693+0.309×5000=2278.693(元)(7)人均GDP為5000元時,人均消費水平95%的置信區間為[1990.74915,2565.46399],預測區間為[1580.46315,2975.74999]。3.從n=20的樣本中得到的有關回歸結果是:SSR=60,SSE=40.要檢驗x與y之間的線性關系是否顯著,即檢驗假設:H0:β1=0。求:(1)線性關系檢驗的統計量F值是多少?(2)給定顯著性水平=0.05,是多少?(3)是拒絕原假設還是不拒絕原假設?(4)假定x與y之間是負相關,計算相關系數r。(5)檢驗x與y之間的線性關系是否顯著?解:(1)SSR的自由度為k=1;SSE的自由度為n-k-1=18;因此。(2)(3)拒絕原假設,線性關系顯著。(4),由于是負相關,因此r=0.7746。(5)從F檢驗看線性關系顯著。4.以下是某地搜集到的新房屋的銷售價格y和房屋的面積x的數據:房屋面積(m2)11511080135105銷售價格(萬元)24.821.618.429.222求:(1)畫出數據對應的散點圖。(2)求線性回歸方程,并在散點圖中加上回歸直線。(3)據(2)的結果估計當房屋面積為150m2時的銷售價格。(4)求第2個點的殘差。解:(1)數據對應的散點圖如圖所示:圖3-24銷售價格與房屋面積散點圖(2),,,。設所求回歸直線方程為,則,,故所求回歸直線方程為。(3)據(2),當x=150m2時,銷售價格的估計值為:(萬元)5.某汽車生產商欲了解廣告費用x對銷售量y的影響,收集了過去12年的有關數據。通過計算得到下面的有關結果:表3-13方差分析表變差來源dfSSMSFSignificanceF回歸2.17E—09殘差40158.07———總計111642866.67——表3-14參數估計表Coefficients標準誤差tStatP-valueIntercept363.689162.455295.8231910.000168XVariablel1.4202110.07109119.977492.17E—09求:(1)完成上面的方差分析表。(2)汽車銷售量的變差中有多少是由于廣告費用的變動引起的?(3)銷售量與廣告費用之間的相關系數是多少?(4)寫出估計的回歸方程并解釋回歸系數的實際意義。(5)檢驗線性關系的顯著性(a=0.05)解:(1)變差來源dfSSMSFSignificanceF回歸11602708.61602708.6399.10000652.17E—09殘差1040158.074015.807——總計111642866.67———(2)R2=0.9756,汽車銷售量的變差中有97.56%是由于廣告費用的變動引起的。(3)r=0.9877。(4)回歸系數的意義:廣告費用每增加一個單位,汽車銷量就增加1.42個單位。(5)回歸系數的檢驗:p=2.17E—09<阿爾法,回歸系數不等于0,顯著。回歸直線的檢驗:p=2.17E—09<阿爾法,回歸直線顯著。6.根據兩個自變量得到的多元回歸方程為,并且已知n=10,SST=6724.125,SSR=6216.375,,。求:(1)在a=0.05的顯著性水平下,x1,x2與y的線性關系是否顯著?(2)在a=0.05的顯著性水平下,是否顯著?在a=0.05的顯著性水平下,是否顯著?解:(1)回歸方程的顯著性檢驗:假設:H0:H1:,不全等于0SSE=SST-SSR=6724.125-6216.375=507.75,,認為線性關系顯著。(2)回歸系數的顯著性檢驗:假設:H0:H1:,,認為y與x1線性關系顯著。(3)回歸系數的顯著性檢驗:假設:H0:H1:,,認為y與x2線性關系顯著。7.根據下面輸出的回歸結果,說明模型中設計多少個自變量,多少個觀察值?寫出回歸方程,并根據F,Se,R2及調整的Ra2的值對模型進行討論。表3-15Summaryoutput回歸統計MultipleR0.842407RSquare0.709650AdjustedRSquare0.630463標準誤差109.429596觀測值15表3-16方差分析dfSSMSFSignificanceF回歸3321946.8018107315.60068.9617590.002724殘差11131723.198211974.84總計14453670Coefficients標準誤差tStatP-valueIntercept657.0534167.4595393.9236550.002378XVariable15.7103111.7918363.1868490.008655XVariable2-0.4169170.322193-1.2939980.222174XVariable3-3.4714811.442935-2.4058470.034870解:自變量3個,觀察值15個。回歸方程:擬合優度:判定系數R2=0.70965,調整的=0.630462,說明三個自變量對因變量的影響的比例占到63%。回歸方程的檢驗:F檢驗的p=0.002724,在顯著性為5%的情況下,整個回歸方程線性關系顯著。回歸系數的檢驗:的t檢驗的p=0.008655,在顯著性為5%的情況下,y與x1線性關系顯著。的t檢驗的p=0.222174,在顯著性為5%的情況下,y與x2線性關系不顯著。的t檢驗的p=0.034870,在顯著性為5%的情況下,y與x3線性關系顯著。因此,可以考慮采用逐步回歸去除x2,重新構建線性回歸模型。

第4章課后習題及答案1.在對變量進行分類時,度量變量之間的相似性常用的相似性系數有:夾角余弦和相關系數兩種。2.常用的系統聚類方法主要有以下八種:最短距離法、最長距離法、中間距離法、重心法、類平均法、可變類平均法、可變法和離差平方和法。3.簡述K-Means算法的具體步驟。(1)數據預處理,包括歸一化、離群點、異常值等的處理。(2)隨機選取K個簇中心。(3)定義代價函數,或者說定義分配原則。(4)令t=0,1,2,…不斷迭代,重復下面過程直到代價函數收斂:將每個樣本分配到距離最近的簇,并重新計算該類簇的中心。(5)得到K個聚類。(6)結束。4.K-Means算法的優缺點是什么?如何對其進行調優?優點:(1)該算法是解決聚類問題的一種經典算法,簡單、快速。(2)對處理大數據集,該算法是相對可伸縮和高效率的。(3)因為他的復雜度是O(n,k,t),其中n是所有對象的數目,k是簇的數目,t是迭代的次數。通常k<<n且t<<n。不同于其他算法,K-Means最大的優點是K值可以根據實際需求自行調節,以達到控制類簇內樣本點數量的目的。(4)當結果簇是密集的,而簇與簇之間區別明顯時,它的效果較好。缺點:(1)在簇的平均值被定義的情況下才能使用,這對于處理符號屬性的數據不適用。(2)必須事先給出k(要生成的簇的數目),而且對初值敏感,對于不同的初始值,可能會導致不同結果。經常發生得到次優劃分的情況。解決方法是多次嘗試不同的初始值。(3)它對于“躁聲”和孤立點數據是敏感的,少量的該類數據能夠對平均值產生極大的影響調優:(1)數據歸一化:K均值聚類本質上是一種基于歐式距離度量的數據劃分方法,均值和方差大的維度將對數據的聚類結果產生決定性的影響,所以未做歸一化處理和統一單位的數據是無法直接參與運算和比較的。(2)離群點處理:離群點或者少量的噪聲數據就會對均值產生較大的影響,導致中心偏移,因此使用K均值聚類算法之前通常需要對數據做預處理。5.K最近鄰算法的三要素是什么?距離度量、k值選擇和分類決策規則。6.簡述模糊C-均值的優缺點。優點:(1)能夠有效地解決重疊現象問題,在多類別數據分類和圖像分割等領域具有比較好的應用前景。(2)通過迭代計算,能夠實現對數據集的自動分類,自動化程度高。缺點:(1)算法的時間復雜度比較高,需要進行多次迭代計算,因此在數據量較大時,運算時間比較長。(2)模糊c均值聚類算法對于初始聚類中心的選擇較為敏感,不同的聚類中心初始化可能會導致最終分類效果的不同。綜上所述,模糊c均值聚類算法在多類別數據分類和圖像分割等領域具有廣泛應用前景,但是在某些領域中,其在分類結果的穩定性和時間效率方面存在一定的局限性,因此在具體應用過程中,需要針對實際問題進行具體分析和選擇。

第5章課后習題及答案1.如何計算兩個用戶之間的相似度?解答:假設有兩個用戶A和B,評分矩陣為M。如果我們把向量A和向量B看成是空間中的兩個點,則可以使用余弦相似度來計算兩個用戶之間的相似度。具體而言,余弦相似度可以定義為兩個向量的點積與它們的模長的乘積的比值,即:cos(A,B)=(A·B)/(||A||·||B||)其中,A·B表示向量A和向量B的點積,即ΣAi·Bi。||A||表示向量A的模長,即sqrt(ΣAi^2)。使用這個公式,我們可以很容易地計算出兩個用戶之間的相似度。2.如果一個用戶沒有對任何物品進行評分,如何為該用戶生成推薦列表?解答:這個問題通常稱為"冷啟動"問題。一個方法是利用用戶的個人信息或者社交網絡等信息來推斷該用戶的興趣偏好,并生成相應的推薦列表。另一個方法是引入物品的內容信息(如物品的標簽、描述等),從而對物品進行分類,把分類結果作為新用戶的參考標準,然后為新用戶推薦與該分類相似度較高的商品。3.如何使用交叉驗證來評估協同過濾算法的性能?解答:交叉驗證是一個常用的評估機制,它可以用來估計預測模型的精確度和泛化誤差。在交叉驗證中,我們將數據集拆分成k折(通常取5或10),然后重復進行k次實驗。每次實驗中,我們挑選其中一折作為測試集,剩余的折作為訓練集,然后訓練模型并對測試集進行預測,得到評價指標;最終,將k次實驗的評價指標平均,即為最終的評價結果。例如,我們可以將用戶-物品評分矩陣拆分成5折,在每個實驗中,將4折作為訓練集,1折作為測試集。然后在測試集上運行模型,并計算評價指標,如準確率、召回率、覆蓋率等。最后將5次實驗的評價指標取平均,即為模型的性能評價結果。4.假設有如下用戶對電影的評分數據集:用戶ID電影ID評分1A51B41D22A32C12E43B43D23F5請基于此數據集完成以下任務:(1)構建用戶-物品評分矩陣。解答:根據給定的評分數據集,構建如下的用戶-物品評分矩陣:ABCDEF154020023010403040205(2)計算用戶之間的相似度。解答:可以使用皮爾遜相關系數來計算用戶之間的相似度。計算每對用戶之間的相關系數如下:相關系數(user1,user2)=相關系數(user2,user1)相關系數(user1,user1)=1所以計算得到的用戶之間的相關系數如下:12311-0.50.8662-0.51-0.86630.866-0.8661(3)基于用戶相似度進行物品推薦。解答:可以根據用戶相似度來預測用戶對未評分物品的評分,然后按照預測評分排序,給用戶推薦TopK個物品。以用戶1為例,計算其對未評分物品的預測評分:預測評分(A)=相關系數(1,2)*(用戶2對物品A的評分-用戶2對所有物品的平均評分)+相關系數(1,3)*(用戶3對物品A的評分-用戶3對所有物品的平均評分)預測評分(C)=相關系數(1,2)*(用戶2對物品C的評分-用戶2對所有物品的平均評分)+相關系數(1,3)*(用戶3對物品C的評分-用戶3對所有物品的平均評分)預測評分(E)=相關系數(1,2)*(用戶2對物品E的評分-用戶2對所有物品的平均評分)+相關系數(1,3)*(用戶3對物品E的評分-用戶3對所有物品的平均評分)計算得到用戶1對未評分物品的預測評分如下:A:3.633C:4.366E:1.634根據預測評分排序,給用戶1推薦TopK個物品:C,A,E。5.假設你正在開發一個協同過濾推薦系統,現有一份用戶-電影評分數據集,其中包含多個用戶對于不同電影的評分。你需要使用這個數據集來構建一個協同過濾算法,并為一個新用戶生成推薦列表。數據集示例:用戶ID電影ID評分110151102421013210323102431045請根據上述數據集,完成以下任務:(1)構建用戶-電影評分矩陣。即將數據集轉換成一個矩陣,行表示用戶,列表示電影,矩陣元素表示評分。(2)計算用戶之間的相似度。使用余弦相似度計算任意兩個用戶之間的相似度,并構建用戶相似度矩陣。(3)根據用戶相似度為新用戶生成推薦列表。假設現在有一個新用戶,他對電影的評分如下:用戶ID電影ID評分1001014100102010010301001040根據用戶相似度矩陣,為該新用戶生成一個包含前K個推薦電影的推薦列表(K可自行設定)。(4)提供解答。請提供完整的解答代碼,并輸出最終的推薦列表。解答:(1)構建用戶-電影評分矩陣。根據給定的數據集構建用戶-電影評分矩陣,具體步驟(python)如下:importnumpyasnp#構建用戶-電影評分矩陣data=[[1,101,5],[1,102,4],[2,101,3],[2,103,2],[3,102,4],[3,104,5]]user_ids=list(set([d[0]fordindata]))movie_ids=list(set([d[1]fordindata]))user_movie_matrix=np.zeros((len(user_ids),len(movie_ids)))fordindata:user_id=d[0]movie_id=d[1]rating=d[2]user_index=user_ids.index(user_id)movie_index=movie_ids.index(movie_id)user_movie_matrix[user_index,movie_index]=ratingprint(user_movie_matrix)運行上述代碼,即可得到用戶-電影評分矩陣:array([[5.,4.,0.,0.],[3.,0.,2.,0.],[0.,4.,0.,5.]])其中,第一行對應用戶ID為1的用戶對電影1和電影2的評分,其他電影未評分,以此類推。(2)計算用戶之間的相似度。使用余弦相似度計算任意兩個用戶之間的相似度,并構建用戶相似度矩陣。具體步驟如下:fromscipy.spatial.distanceimportcosine#計算用戶之間的相似度user_similarity_matrix=np.zeros((len(user_ids),len(user_ids)))fori,u1inenumerate(user_movie_matrix):forj,u2inenumerate(user_movie_matrix):ifi<j:similarity=1-cosine(u1,u2)user_similarity_matrix[i,j]=similarityuser_similarity_matrix[j,i]=similarityprint(user_similarity_matrix)運行上述代碼,即可得到用戶相似度矩陣:array([[1.,0.71225004,0.12403473],[0.71225004,1.,0.],[0.12403473,0.,1.]])其中,第一列對應用戶ID為1的用戶與其他用戶的相似度,以此類推。(3)根據用戶相似度為新用戶生成推薦列表。假設有一個新用戶,他對電影的評分如下:new_user_id=100new_user_ratings=[[new_user_id,101,4],[new_user_id,102,0],[new_user_id,103,0],[new_user_id,104,0]]根據用戶相似度矩陣,我們可以首先找到與該新用戶最相似的K個用戶,然后根據這些用戶的評分情況來生成推薦列表。具體步驟如下:#找到與新用戶最相似的K個用戶k=2new_user_ratings_dict={(d[0],d[1]):d[2]fordinnew_user_ratings}similarities=[]fori,uinenumerate(user_movie_matrix):if(new_user_id,101)notinnew_user_ratings_dict:#如果新用戶沒有對電影101進行評分,則忽略該用戶continueifi>=len(user_ids):#如果當前為新用戶對應行,則忽略continuesimilarity=user_similarity_matrix[i][user_ids.index(new_user_id)]similarities.append((i,similarity))similarities=sorted(similarities,key=lambdax:x[1],reverse=True)similar_users=[sim[0]forsiminsimilarities[:k]]#生成推薦列表recommendations={}forsimilar_userinsimilar_users:forj,ratinginenumerate(user_movie_matrix[similar_user]):ifrating>0and(user_ids[similar_user],movie_ids[j])notinnew_user_ratings_dict:#如果相似用戶對該電影已經有評分,且新用戶未曾評分,加入推薦列表recommendations[movie_ids[j]]=recommendations.get(movie_ids[j],0)+rating*similarities[similar_user][1]recommendations=sorted(recommendations.items(),key=lambdax:x[1],reverse=True)[:3]print(recommendations)運行上述代碼,即可得到推薦列表:[(104,2.7005029469627),(102,1.1845000832012395)]其中,每個元素表示電影ID和推薦指數。

第6章課后習題及答案1.文本挖掘的流程?答案:文檔集獲取、數據清洗、分詞與去除停用詞、相關字典編制和信息轉換、內在信息挖掘和展示。2.詞性標注的方法有哪些?答案:詞性標注主要有兩種常見的方法:基于規則的詞性標注方法、基于統計模型的詞性標注方法。3.分詞方法有哪些?答案:典型的分詞方法主要有三種:基于字符串匹配的方法、基于統計模型的分詞方法、基于深度學習方式的分詞方法。4.文本表示的方法有哪些?答案:文本表示的方法主要有三類:one-hot編碼、整數編碼和Wordembedding。5.文本特征選擇方法有哪些?答案:文本特征選擇方法主要有TF-IDF(TermFrequency–InverseDocumentFrequency)、詞頻方法(WordFrequency)、DF(DocumentFrequency)、互信息法(MutualInformation,MI)、信息增益法(InformationGain,IG)、CHI(Chi-square)。6.機器學習模型常用的評估指標有哪些?答案:常用的評估指標有:準確率、精確率、召回率、F1、ROC曲線、AUC曲線。7.使用八爪魚軟件爬取京東網站上華為手機的在線評論?答案:詳細過程參考6.2.2。

第7章課后習題及答案1.使用模擬退火算法求解函數f(x)=-x2+2x+3在[0,2]區間內的最大值,初始溫度為T=100,降溫系數為0.95。答:以下是求解過程:Step1:初始化,隨機選取一個初始解x=1.5,T=100,k=1。Step2:計算f(x),求出當前解的函數值為f(1.5)=-0.75。Step3:隨機生成一個新解x_new,這里可以用高斯分布或均勻分布生成,這里我們選擇采用均勻分布隨機生成。假設當前解為x=1.5,在[1,2]區間內隨機生成一個新解x_new=1.8,計算出f(x_new)=1.08。Step4:計算ΔE,ΔE=f(x_new)-f(x),ΔE=1.83。Step5:根據Metropolis準則,若ΔE<=0,接受新解,令x=x_new,否則以概率p=exp(-ΔE/(kT))接受新解。這里ΔE>0,按照概率p=exp(-ΔE/(kT))接受新解,假設生成的隨機數r=0.5,p=exp(-ΔE/(kT))=exp(-1.83/(100*1))=0.9983>0.5,接受新解,令x=1.8。Step6:降溫,更新T=T*0.95=95。Step7:重復步驟2-6,直到溫度降至一定值或符合終止條件,例如達到最大迭代次數。Step8:返回最優解x,即函數f(x)在[0,2]區間內的最大值x=1.88,函數值為f(x)=2.8。2.使用禁忌搜索算法求解函數f(x)=-x2+2x+3在[0,2]區間內的最大值,初始解為x=1.5,禁忌列表長度為5,最大迭代次數為10000。答:以下是求解過程:Step1:初始化,隨機選取一個初始解x=1.5,迭代計數器i=1,禁忌列表為空。Step2:計算f(x),求出當前解的函數值為f(1.5)=-0.75。Step3:生成當前解x的所有鄰居解x_n,令x_n=x-0.1,x_n=x+0.1,計算出相應的函數值f(x_n),記錄下所有鄰居解和相應的函數值。Step4:選擇未被禁忌的鄰居解x_best,即在所有鄰居解中選出未被禁忌的函數值最大的鄰居解。如果所有鄰居解都被禁忌,則從禁忌列表中選出最近訪問次數最小的鄰居解x_best。Step5:更新禁忌列表,將當前解x加入禁忌列表,并根據禁忌表長度進行截斷。Step6:更新當前解x,并更新迭代計數器i。Step7:判斷是否達到最大迭代次數或滿足終止條件,如果滿足則返回解x,否則繼續執行步驟2-6。Step8:返回最優解x,即函數f(x)在[0,2]區間內的最大值x=1.88,函數值為f(x)=2.8。3.使用遺傳算法求解函數f(x,y)=-x2-y2+10在[-10,10]區間內的最大值,種群大小為10,交叉概率為0.8,變異概率為0.2,最大迭代次數為100。答:以下是求解過程:Step1:初始化種群,隨機生成10個個體,每個個體的解用一個二元組(x,y)表示,x和y的取值在[-10,10]區間內均勻隨機生成。計算每個個體的適應度f(x,y),這里個體適應度等于函數值。Step2:選擇操作,采用輪盤賭選擇方法,根據每個個體的適應度大小,選擇兩個父代個體進行交叉和變異操作。選擇判斷是否達到最大迭代次數或滿足終止條件。Step3:交叉操作,選擇兩個父代個體,按照交叉概率進行交叉操作。這里采用單點交叉方法,即隨機生成一個交叉點,將兩個父代個體在該交叉點前后互換。例如,假設兩個父代個體為(x1,y1)和(x2,y2),隨機生成一個交叉點k=1,則交叉后的兩個子代個體為(x1,y2)和(x2,y1)。Step4:變異操作,采用隨機變異法,按照變異概率進行變異操作。例如,假設變異概率為0.2,隨機生成一個變異位點k=1,將該位點上的基因值進行變異,例如將種群中的個體(x,y)變異為(x+0.5,y)。Step5:計算子代個體的適應度,將子代個體加入種群中。Step6:選擇生存個體,使用競爭選擇法,保留種群中適應度最高的n個個體,這里n=10。Step7:更新迭代計數器i,判斷是否達到最大迭代次數或滿足終止條件,如果滿足則返回解,否則繼續執行步驟2-6。Step8:返回最優解,即函數f(x,y)在[-10,10]區間內的最大值(x=0,y=0),函數值為f(x,y)=10。4.使用蟻群算法求解TSP問題,有4個城市分別為A、B、C、D,求出最優路徑和路徑長度。答:以下是求解過程:Step1:初始化蟻群,按照各個城市之間的距離建立關聯矩陣,設當前蟻群共M只螞蟻,并按照均勻隨機生成初始路徑。Step2:啟發式信息素更新。設T(i,j)為第i只螞蟻到達城市j的啟發式信息素量,按照公式T(i,j)=T(i,j)+ΔT(i,j)更新啟發式信息素。其中,ΔT(i,j)為螞蟻i在第t個迭代輪次中發現了一條從城市i到城市j的新路徑,ΔT(i,j)=Q/d(i,j),其中Q為常數,d(i,j)為螞蟻i發現的路徑長度。Step3:螞蟻的移動。根據螞蟻的狀態轉移規則,按照概率選擇下一個要訪問的城市,π(i,j,t)表示第t輪迭代中螞蟻i選擇訪問城市j的概率,它的計算公式如下: 其中,α、β為常數,η(i,j)=1/d(i,j)為啟發式信息素,C為常數,Ji為螞蟻i訪問過的城市集合。Step4:檢查禁忌表。對于每只螞蟻,記錄下它已經訪問過的城市,如果禁忌表已經滿了,則將禁忌表中訪問次數最少的城市去掉。Step5:迭代計數器加1,判斷是否達到最大迭代次數。如果已經到達最大迭代次數,則終止,否則返回Step2。最優路徑為A-B-C-D-A,路徑長度為6。5.使用免疫算法求解函數f(x)=-x?+2x3-3x2在[-2,3]區間內的最大值,種群大小為20,突變概率為0.1,克隆選擇參數為b=5。答:以下是求解過程:Step1:初始化種群,隨機生成20個個體,每個個體的解為一維實數值,取值在[-2,3]區間內均勻隨機生成。計算每個個體的適應度f(x),這里個體適應度等于函數值。Step2:選擇操作,采用輪盤賭選擇方法,根據每個個體的適應度大小,選擇父代個體進行免疫克隆操作。Step3:免疫克隆操作,按照克隆選擇參數b,選擇適應度最高的b個個體進行克隆操作。每個被選擇的個體克隆出β個子代個體,計算它們的適應度并加入種群中。Step4:突變操作,按照突變概率進行突變操作。在每個子代個體中,選擇突變位點k,以一定的變異幅度Δx進行突變,例如將種群中的個體x=2.5變異為x=2.55。Step5:選擇生存個體,使用競爭選擇法,保留種群中適應度最高的n個個體,這里n=20。Step6:更新迭代計數器i,判斷是否達到最大迭代次數或滿足終止條件,如果滿足則返回解,否則繼續執行步驟2-5。Step7:返回最優解,即函數f(x)在[-2,3]區間內的最大值x=2.03,函數值為f(x)=4.16。6.使用粒子群算法求解函數f(x,y)=x2+y2在[-5,5]區間內的最小值,種群大小為10,慣性權重w=0.7,個體學習因子c1=1.5,社會學習因子c2=2,最大迭代次數為100。答:以下是求解過程:Step1:初始化種群,隨機生成10個個體,每個個體的解用一個二元組(x,y)表示,x和y的取值在[-5,5]區間內均勻隨機生成。計算每個個體的適應度f(x,y),這里個體適應度等于函數值。Step2:初始化粒子速度和歷史最優解,每個粒子的速度用一個二元組(vx,vy)表示,vx和vy的取值在[-1,1]區間內均勻隨機初始化。每個粒子記下自己找到的歷史最優解(px,py)和相應的適應度f(px,py)。Step3:更新粒子速度和位置。按照粒子速度的慣性、個體學習和社會學習因子,計算每個粒子的新速度和新位置,公式如下:vxi=w×vxi+c1×rand()×(pxi-xi)+c2×rand()×(pxi-xi)vyi=w×vyi+c1×rand()×(pyi-yi)+c2×rand()×(pyi-yi)xi=xi+vxiyi=yi+vyi其中,xi和yi表示更新后的位置,vxi和vyi表示更新后的速度,pxi和pyi表示第i只粒子找到的歷史最優解,pxi和pyi表示全局最優解,rand()表示均勻隨機數生成函數。Step4:更新歷史最優解,對于每個粒子,如果當前適應度值比歷史最優適應度值更優,則更新歷史最優適應度值和歷史最優解。Step5:更新全局最優解,對于每個粒子,如果當前適應度值比全局最優適應度值更優,則更新全局最優適應度值和全局最優解。Step6:更新迭代計數器i,判斷是否達到最大迭代次數或滿足終止條件,如果滿足則返回解,否則返回Step3。Step7:返回最優解,即函數f(x,y)在[-5,5]區間內的最小值(x=0,y=0),函數值為f(x,y)=0。7.使用遺傳算法求解背包問題,有5個物品,重量分別為2、3、4、5、6,價值分別為3、4、5、6、7,背包的最大承重為10。求出背包能裝下的最大總價值以及裝入的物品。答:以下是求解過程:Step1:初始化種群,隨機生成10個個體,每個個體的編碼為一個二進制串,長度與物品數量相同,每個位置上的基因取值為0或1,表示是否裝入該物品。計算每個個體的適應度,適應度為背包中裝入的物品總價值。Step2:選擇操作,采用輪盤賭選擇方法,根據每個個體的適應度大小,選擇父代個體進行交叉和變異操作。Step3:交叉操作,選擇兩個父代個體,按照交叉概率進行交叉操作。這里選擇單點交叉方法,隨機選擇一個交叉點k,將兩個父代個體的基因串在該交叉點前后互換。Step4:變異操作,按照變異概率進行變異操作。在每個子代個體中,按照變異概率選擇變異位點,將該位點上的基因取反。Step5:更新迭代計數器i,判斷是否達到最大迭代次數或滿足終止條件,如果滿足則終止,否則返回Step2。Step6:返回最優解,即背包能裝下的最大總價值為16,裝入的物品為第1、2、4、5個物品。8.使用人工免疫算法求解函數f(x)=-x2+3x+4在[-2,3]區間內的最大值,種群大小為10,克隆選擇參數為m=4,突變概率為0.1。答:以下是求解過程:Step1:初始化種群,隨機生成10個個體,每個個體的解為一維實數值,取值在[-2,3]區間內均勻隨機生成。計算每個個體的適應度,適應度為函數值。Step2:選擇操作,采用輪盤賭選擇方法,根據每個個體的適應度大小,選擇父代個體進行免疫克隆操作。Step3:免疫克隆操作,按照克隆選擇參數m,選擇適應度最高的m個個體進行克隆操作。每個被選擇的個體復制出β個子代個體,β的取值在[1,m]區間內均勻隨機生成。Step4:突變操作,按照突變概率進行突變操作。在每個子代個體中,按照突變概率選擇突變位點,以一定的變異幅度Δx進行突變,例如將種群中的個體x=2.5變異為x=2.55。Step5:選擇生存個體,使用競爭選擇法,保留種群中適應度最高的n個個體,這里n=10。Step6:更新迭代計數器i,判斷是否達到最大迭代次數或滿足終止條件,如果滿足則返回解,否則返回Step2。Step7:返回最優解,即函數f(x)在[-2,3]區間內的最大值為5,最大值點在x=1。

第8章課后習題及答案1.SVM算法的性能與什么因素有關?答:核函數的選擇;核函數的參數;軟間隔參數C2.對于在原空間中線性不可分問題,支持向量機

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論