人工智能數據服務 課件 3-4 項目三 任務3-4 數據增廣_第1頁
人工智能數據服務 課件 3-4 項目三 任務3-4 數據增廣_第2頁
人工智能數據服務 課件 3-4 項目三 任務3-4 數據增廣_第3頁
人工智能數據服務 課件 3-4 項目三 任務3-4 數據增廣_第4頁
人工智能數據服務 課件 3-4 項目三 任務3-4 數據增廣_第5頁
已閱讀5頁,還剩60頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

任務3-4數據從無到有的魔法:數據增廣4知識&技能圖譜數據增廣是現代數據處理的關鍵環節。無論是在機器學習的模型訓練中,還是在大數據分析的過程中,數據的豐富性和多樣性都至關重要。然而,真實世界中的數據往往有限,不足以滿足各種算法的需求。因此,我們需要通過數據增廣技術來擴展數據集,以提供更加全面和準確的信息。本任務將提供5張圖像,5段文本,利用python,完成圖像和文本數據的增廣。部分數據集如圖所示。實驗圖像實驗圖像

文本數據:今天天氣不錯,出去走走吧。明天早上的會議,記得提前做好準備。我在超市買蘋果,順便帶瓶果汁回家。新買的裙子真合身,穿上它心情都好了。她說電影很好看,推薦你也去看看。實驗圖像同義詞組:不錯很好很棒真好

出去出門出發出走走走散步運動放松

早上早晨清晨上午順便趁便趁機順帶

提前提早預先趁早合身稱身合適適合

推薦引薦介紹推舉實驗圖像3.4.1數據增廣的定義數據增廣(DataAugmentation)是機器學習和深度學習領域中一種重要的技術,它通過對原始數據進行多樣化的變換和處理,生成新的數據樣本,以擴充訓練數據集的方法。數據增廣旨在提高模型的泛化能力、改善性能,并降低過擬合的風險,尤其對于數據量有限的情況下尤為重要。數據增廣3.4.1數據增廣的定義數據增廣技術可以分為圖像數據增廣和文本數據增廣兩大類,針對不同類型的數據有各自特定的方法。數據增廣3.4.2.數據增廣的應用場景數據增廣在具有廣泛的應用場景,包括機器學習、計算機視覺、自然語言處理以及大數據分析等。在機器學習領域,數據增廣能夠顯著增強模型的泛化能力。尤其是在處理圖像、音頻等復雜數據時,通過數據增廣技術生成更多的訓練樣本,模型能夠學習到更多樣化的數據分布,從而在面對未知數據時表現更加穩健。數據增廣3.4.2.數據增廣的應用場景在計算機視覺領域,數據增廣對于圖像識別、目標檢測等任務至關重要。通過旋轉、縮放、裁剪等圖像變換手段,數據增廣能夠擴充圖像數據集,提升模型對于不同角度、不同尺度的目標的識別能力。數據增廣3.4.2.數據增廣的應用場景在自然語言處理領域,數據增廣同樣發揮著重要作用。通過同義詞替換、隨機插入、隨機刪除等文本變換方法,數據增廣能夠生成更多樣的文本數據,幫助模型更好地理解和處理語言信息。數據增廣3.4.2.數據增廣的應用場景在大數據分析領域,數據增廣也能夠幫助我們挖掘更多隱藏在數據中的信息和規律。通過擴展數據集,我們可以運用更復雜的算法和模型來揭示數據之間的關聯和趨勢,為決策提供更有力的支持。數據增廣3.4.3.數據增廣的方法數據增廣是擴展數據集、提升模型性能的重要方法。在圖像處理中,可以通過旋轉、縮放、裁剪等幾何變換,以及添加噪聲等方式,生成新的圖像樣本。在自然語言處理領域,同義詞替換、句子重組等操作也能有效增廣文本數據。數據增廣3.4.3.數據增廣的方法此外還有數據混合、使用外部數據源等方法。這些方法可以單獨或組合使用,根據具體任務和數據集特點選擇合適的方法,以增強模型的泛化能力。但需注意,增廣過程中可能引入噪聲或偏差,需權衡使用。數據增廣3.4.3.數據增廣的方法1圖像數據增廣圖像數據增廣是指通過對原始圖像進行一系列變換和處理,生成具有多樣性的新圖像樣本。圖像數據增廣可以有效改善模型在圖像識別、檢測、分割等任務中的性能,是深度學習和計算機視覺領域中的常用策略之一。數據增廣3.4.3.數據增廣的方法圖像數據增廣包括:(1)幾何變換:幾何變換是圖像數據增廣中常用的方式之一,包括旋轉、翻轉、縮放和平移等操作。數據增廣3.4.3.數據增廣的方法旋轉操作圍繞圖像中心點進行旋轉,這有助于讓模型學習不同角度下的物體特征,提高旋轉不變性。翻轉操作則可以水平或垂直翻轉圖像,幫助模型學習對稱性和不同視角下的物體識別。縮放操作調整圖像大小,包括放大和縮小,使模型能夠適應不同尺度的輸入。而平移操作將圖像沿水平或垂直方向進行平移,有助于模型學習物體在不同位置的外觀特征。數據增廣3.4.3.數據增廣的方法(2)顏色變換:主要關注圖像的色彩屬性,通過調整圖像的亮度、對比度、飽和度和色調等,可以生成色彩變化豐富的圖像樣本。這種變換有助于模型學習對光照條件、拍攝設備等因素的變化具有魯棒性。改變亮度是通過增加或減少圖像的亮度來使模型更魯棒地應對光照變化,從而提高模型的泛化能力。數據增廣3.4.3.數據增廣的方法對比度調整則可以調整圖像中像素之間的對比度,有助于突出圖像中的細節信息,進而提升模型對圖像細節的識別能力。飽和度調整涉及增加或降低圖像的飽和度,從而改變圖像的色彩鮮艷程度,增加圖像樣本的多樣性。此外,應用濾鏡如模糊、銳化等效果也能增加圖像的多樣性,并提高模型的泛化能力。數據增廣3.4.3.數據增廣的方法(3)裁剪和填充:圖像數據增廣中常用的技術手段,能夠有效地擴展訓練數據集,提高模型的泛化能力和魯棒性。裁剪操作可以隨機或規則地裁剪圖像的一部分,從而模擬不同尺度下物體出現的情況,幫助模型適應不同尺寸的輸入。數據增廣3.4.3.數據增廣的方法隨機裁剪可以在訓練過程中多次對圖像進行隨機裁剪,使模型能夠學習到物體在不同位置的特征,增加模型對物體位置變化的適應能力。規則裁剪則可以按照固定的比例或位置裁剪圖像,以生成特定尺寸或比例的訓練樣本,有助于訓練模型在特定場景下取得更好的效果。數據增廣3.4.3.數據增廣的方法填充操作則是在圖像周圍填充像素,用來擴展圖像的大小或調整圖像的長寬比例。填充操作可以根據需要在圖像的邊緣或周圍填充像素值,使得輸入圖像尺寸統一,有利于模型的訓練和推理。填充還可以用來調整圖像的長寬比例,使得模型能夠處理不同長寬比例的輸入圖像,增加模型的適應性。數據增廣3.4.3.數據增廣的方法(4)添加噪聲:噪聲是指在圖像或信號中的隨機擾動,它可以由多種因素引起,如傳感器本身的噪聲、信號傳輸過程中的干擾、環境因素等。在圖像處理領域,噪聲通常表現為使圖像出現不希望的、隨機分布的像素值變化,從而影響了圖像的質量和信息內容。數據增廣3.4.3.數據增廣的方法添加噪聲是圖像數據增廣中常用的一種技術手段,它有助于提高模型的魯棒性,使其更好地適應真實世界中的噪聲環境。通過添加高斯噪聲、椒鹽噪聲或者其他的噪聲,可以使模型更好地適應復雜的真實場景,提高其對噪聲的容忍度和抗干擾能力,從而在實際應用中表現更加穩定和可靠。數據增廣3.4.3.數據增廣的方法2文本數據增廣文本數據增廣是指通過多種方式對原始文本數據進行變換和擴展,以生成更多樣化、更豐富的訓練數據,意義在于擴大訓練數據的規模和多樣性,幫助模型更好地學習數據的特征和模式,提高模型在真實場景下的性能表現。數據增廣3.4.3.數據增廣的方法通過應用適當的文本數據增廣技術,可以有效改善模型的表現,并且降低過擬合的風險,從而提升模型的泛化能力和應用效果。文本數據增廣技術常用的方式包括:同義詞替換:同義詞是指在特定語境中具有相同或非常相似含義的詞語,它們可以互換使用而不改變句子的意思。數據增廣3.4.3.數據增廣的方法換句話說,同義詞是在表達概念或含義上相近或相似的詞語。這些詞語之間可能存在一定的差異,例如在語氣、情感色彩或使用場景上有所區別,但總體而言它們可以替代彼此,并在語言表達中起到類似的作用。同義詞的存在豐富了語言的表達方式,同時也為文本理解和信息處理提供了更多的選擇和靈活性。數據增廣3.4.3.數據增廣的方法(2)句子重組:句子重組也是一種文本數據增廣技術,其通過對句子中的詞語順序進行隨機調整,生成新的句子變體,從而擴充數據集。這一方法旨在增加訓練樣本的多樣性,幫助模型更好地理解不同詞語之間的關聯和語境,提高其泛化能力和性能表現。數據增廣3.4.3.數據增廣的方法在句子重組過程中,詞語的順序被打亂,但句子的語義信息仍然得以保留。這種方式可以有效地引入新的句子結構和表達形式,讓模型更好地適應各種語言組織方式,提升其對句子結構和語法規則的理解能力。同時,句子重組也有助于模型學習更廣泛的語言模式,從而提高其在自然語言處理任務中的魯棒性和表現效果。數據增廣3.4.3.數據增廣的方法(3)添加噪音:在文本數據處理中,噪音可以表現為各種形式的干擾或錯誤,包括但不限于拼寫錯誤、打字錯誤、語法錯誤、標點符號錯誤等。這些噪音可以在文本數據中引入不同程度的混亂和變異,反映了實際場景中文本數據的多樣性和復雜性。數據增廣64班級:組別:姓名:掌握程度:任務名稱基于opencv和jieba的圖像和文本數據增廣任務目標生成與原數據不同的圖像和文本數據操作系統Win10、Win11工具清單Python,pycharm,opencv,jieba操作步驟圖像數據增廣環境準備導入數據圖像幾何變換圖像顏色變換圖像裁剪文本數據增廣環境準備導入數據文本同義詞替換文本句子重組考核標準生成與原圖相關的圖像和文本數據圖像數據增廣步驟一環境準備64SUGGESTION11、下載并安裝好Pycharm和Anaconda,激活LabelStudio虛擬環境。12642、在虛擬環境中下載圖像增廣項目所依賴的python第三方庫:openCV,在Anaconda命令行操作圖窗中通過以下命令pipinstallopencv-python在label-studio虛擬環境中安裝openCV庫,如左圖所示。12641步驟二導入數據1、準備好環境之后,在Pycharm中使用準備好的Anaconda虛擬環境,并在當前的工程目錄下,創建data文件夾用于存放圖像增廣項目需要用到的圖像數據,將要處理的圖像數據保存到data文件夾,并依次命名為img(1)、img(2)、img(3)、img(4)、img(5)。如下圖所示。1264SUGGESTION12、在Pycharm當前的工程目錄下創建tuxiangzengguang.py文件,然后導入需要用到的opencv庫和os庫。具體代碼為以下兩句:importcv2importos3、使用os和opencv庫嘗試讀取data文件夾下的所有圖像并依次展示。首先獲取文件夾下面所有后綴名為.jpg、.png、.jpeg的文件名:1264SUGGESTION14、循環每個圖像文件,使用opencv庫讀取并展示,等待指定的鍵盤點擊事件展示下一張或者退出展示:1264步驟三圖像幾何變換使用os和OpenCV讀取指定文件夾下的所有圖像,并對每張圖像進行幾何變換(例如旋轉),然后將增廣后的圖像保存回同一文件夾。1、導入必要的庫并設置工作目錄首先導入OpenCV庫(cv2)和操作系統庫(os),用于圖像處理和文件操作。接著,定義目標文件夾路徑,確保腳本知道從哪里讀取圖像以及將處理后的圖像保存在哪里。1264SUGGESTION12、遍歷文件夾中的所有圖像文件通過os.listdir()函數列出指定文件夾下的所有文件名,然后通過循環遍歷這些文件名,篩選出需要處理的圖像文件。1264SUGGESTION13、讀取圖像并獲取其尺寸使用OpenCV的cv2.imread()函數讀取每個圖像文件,并通過.shape屬性獲取圖像的高度和寬度,這些信息對于后續的圖像處理操作至關重要。1264SUGGESTION14、執行圖像幾何變換(以旋轉為例)使用OpenCV對圖像進行旋轉處理。首先,計算旋轉中心點,然后基于該點和指定的角度生成旋轉矩陣,最后使用cv2.warpAffine()函數應用旋轉。1264SUGGESTION15、保存變換后的圖像最后,為每張變換后的圖像創建一個新的文件名,并使用cv2.imwrite()函數將其保存回原始文件夾中。新文件名通過添加前綴來區分于原圖。1264SUGGESTION16、最終增廣的數據如圖所示。1264步驟四圖像顏色變換1、導入必要的庫并設置工作目錄,代碼與圖一致。2、遍歷文件夾中的圖像文件使用os.listdir()獲取文件夾中的所有文件名,并篩選出圖像文件進行處理。將處理后的圖像保存在哪里。126413、讀取圖像并進行顏色空間變換這里以將圖像轉換為灰度(GRAY)為例進行顏色空間變換,可以選擇其他顏色空間變換,如HSV、YCrCb等。126414、保存變換后的圖像為變換后的圖像創建新的文件名,并保存回原文件夾。126415、最終增廣的數據如圖。12641步驟五圖像裁剪1、導入必要的庫并設置工作目錄,代碼與圖一致。2、定義裁剪區域這個步驟需要決定如何裁剪圖像。這通常涉及到定義裁剪的起始點(x,y坐標)以及裁剪區域的寬度和高度。我們定義從圖像的左上角開始,裁剪出圖像的一半寬度和一半高度,但這可以根據需要調整。1264SUGGESTION13、遍歷文件夾中的圖像文件使用os.listdir()遍歷指定文件夾中的所有文件,篩選出需要處理的圖像文件,并逐個讀取、裁剪、保存。1264SUGGESTION14、最終增廣的數據如圖:61文本數據增廣步驟一環境準備1、下載并安裝好Pycharm和Anaconda,激活LabelStudio虛擬環境。2、在虛擬環境中安裝jieba和gensim庫,這兩個庫分別是自然語言處理領域中廣泛使用的庫,這里用于同義詞替換和潛在的句子重組任務,在Anaconda命令行操作圖窗中通過pipinstallgensimjieba命令在label-studio虛擬環境中安裝jieba和gensim庫,如圖所示。61步驟二導入數據1、準備好環境之后,在Pycharm中使用準備好的Anaconda虛擬環境,并在當前的工程目錄下,創建txt_data文件夾用于存放文本增廣項目需要用到的txt文件,將要處理的txt文件保存到txt_data文件夾。如圖所示。12、在Pycharm當前的工程目錄下創建wenbenzengguang.py文件,然后導入需要用到的jieba庫,gensim庫,numpy庫和scikit-learn庫。12641步驟三同義詞替換1、讀取sentence.txt里的5個句子,保存到列表里用于后續數據增廣操作。其中,withopen('./txt_data/sentence.txt','r',encoding='utf-8')asfile這句代碼使用with語句以只讀模式('r')和UTF-8編碼打開位于./txt_data/目錄下的sentence.txt文件。這樣可以確保文件在操作完成后會被正確關閉,即使在讀取過程中發生異常也是如此。split()方法可以按照指定字符分割字符串,默認為空格。126412、讀取synonym.txt里的所有同義詞組,保存到列表里用于后續數據增廣操作。126413、遍歷句子列表和同義詞組列表,針對每個輸入句子,先進行分詞處理,然后查找每個詞語在預定義的同義詞列表中的同義詞,并生成該句子的所有可能的同義詞替換版本。最終,所有這些增強后的句子被收集起來,保存在列表用于后續進一步操作。其中,phrase=jieba.lcut(sentence)使用jieba庫對句子進行分詞,生成詞語列表phrase126414、定義函數preprocess(sentences)用于對原始文本進行分詞處理。利用jieba分詞庫將每個句子切分成單詞列表。126415、定義函數sentence_vector(model,words)用于計算給定單詞列表(代表一個句子)的向量表示。首先篩選出模型中已知的單詞,然后對這些單詞的詞向量求平均,得到句子向量。如果模型中沒有句子中的任何單詞,則返回一個零向量,這種方法簡單直觀。126416、調用preprocess(contents)函數對原始文本內容contents進行分詞處理,得到分詞后的句子列表tokenized_sentences。7、使用Gensim的Word2Vec類訓練一個詞向量模型。參數包括sentences=tokenized_sentences指定訓練數據,window=5設置上下文窗口大小,min_count=1表示最小詞頻,workers=4指定并行計算的線程數。此步驟旨在學習單詞間的上下文關系,生成高質量的詞向量。126418、計算相似度并篩選輸出,先開啟一個文件寫入流,準備將結果寫入到augmentation_sentence.txt文件中。對于contents中的每個句子sentence_1,首先寫入原句。遍歷與之對應的增強數據augmented_data[id]中的每個句子sentence_2,計算這兩個句子的向量表示,并使用cosine_similarity()函數計算它們的余弦相似度。如果相似度大于等于0.8(設定的閾值),則將sentence_2寫入文件。這個過程是為了篩選出與原始句子相似度高的增強句子,可能用于數據增強、相似內容識別等目的。6步驟四句子重組1、讀取sentence.txt里的5個句子,保存到列表里用于后續數據增廣操作。如圖3-4-22所示。2、定義一個名為reverse_from_comma_and_remove_period的函數,其主要目的是對輸入的字符串執行特定的操作:找到第一個逗號的位置,

溫馨提示

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

評論

0/150

提交評論