周思博


人工智能是通過智能機器延伸、增強人類改造自然和治理社會能力的新興技術。近年來,伴隨著大數據和高性能計算技術的發展,人工智能在機器學習領域取得了一系列重大技術突破,推動了社會各領域從數字化、網絡化向智能化的躍升,深刻改變著人們的生活方式和思維模式。2017年7月,國務院發布《新一代人工智能發展規劃》,明確“在中小學階段設置人工智能相關課程,逐步推廣編程教育”。在此大背景下,高中信息技術課程理應肩負起踐行人工智能國家發展規劃、普及人工智能知識和培養學生信息技術核心素養的重任。
單元內容與目標分析
高中信息技術教材必修一“數據與計算”的第四章“走進智能時代”向學生介紹了什么是人工智能和人工智能的關鍵技術及應用。本章通過人工智能典型案例剖析,讓學生了解人工智能技術和智能信息處理的巨大進步和應用潛力,認識人工智能在信息社會中的重要作用。本章的主要知識與概念的關系可以用圖1來概括。
理解人工智能及其關鍵技術,感受人工智能的魅力是本章的教學重點之一,能編程調用平臺中的智能工具解決一般問題既是本章的教學重點也是教學難點。基于章節教學的內容和目標,同時對學生的興趣愛好、知識儲備和思維水平等方面進行學情分析,我們設計了人工智能基礎知識、機器學習、語音技術(語音識別和語音合成)、自然語言處理、機器視覺(人臉識別、文字識別)等教學內容,盡可能在有限的課時內涵蓋生活中常見的人工智能技術及應用場景,通過剖析實例、原理歸納、問題解決等環節力求解決教學重點,突破教學難點。本文以機器學習一課為例,對高中人工智能的課堂教學做簡要介紹。
機器學習課的教學內容與目標分析
“機器學習”最早于1956年由亞瑟·塞繆爾在達特茅斯會議上提出:機器學習是能讓計算機不依賴確定的編碼指令而自主地學習工作。機器學習經典的例子就是房屋價格預測的問題。假設我們要預測某間房屋的價格,首先需要若干數據,這些數據包含了可能的房價影響因素,如房屋面積、地理位置、房間數量等。假如有500組數據,每組數據都包含了上述的影響因素和對應的房屋價格,而機器學習的目標就是從這樣的多組數據中尋找出一種內在關系來產生預期的房屋價格。
在機器學習領域眾多模型當中,回歸模型是最為簡單的一種。回歸的核心思想是把規律沒有外顯的一組數據,借助于誤差衡量手段,發掘其潛在規律,形成不同變量間的定量關系。回歸分析一般適用于求解因變量是連續值的情況,如氣溫變化、銷售額、股票走勢等。因變量和自變量之間的關系如果類似于一次函數,則屬于線性回歸問題;如果類似于指數函數或對數函數,則屬于非線性回歸問題。線性回歸在數理統計中的應用已經有超過200年的歷史,是人工智能技術中最為直接和明了的算法。
“機器學習初探—— 基于Python的線性回歸問題解決”一課的內容來源于教材必修一第四章的第一節和第二節,是對教材內容的重組和補充。本課旨在通過剖析案例,讓學生了解機器學習中回歸算法的基本原理、能舉例說明回歸算法的應用場景、掌握線性回歸的求解方法,經歷使用智能工具解決問題的過程,掌握利用回歸算法和智能工具解決問題的一般方法。
教學環節一:問題引入與實例剖析
“回歸”一詞聽起來仿佛比較陌生,但其實在學生的日常學習中經常會運用到回歸的思想。如高一物理實驗“探究事物運動的特點和規律”。在實驗中,我們通常會借助打點計時器和紙帶,通過記錄小車速度和時間的多組數據,推測出運動速度隨時間變化的規律。因此,在本課中以學生熟悉的物理實驗數據作為引入,引導學生體會機器學習中線性回歸的思想。在“探究小車的運動速度隨時間變化的規律”的實驗中,學生會獲得一組時間與速度的實驗數據。學生根據現有知識,利用紙、筆或Excel軟件繪制一幅散點圖并添加一條趨勢線,盡量讓更多的點擬合直線并以此觀察這些點的分布特點。然后學生根據數學知識計算出速度和時間的關系表達式,同時可以在Excel中選擇在圖表中顯示R平方值(即擬合程度,越接近1代表擬合圖像越趨近于真實情況)。
通過對多組實驗數據進行處理和分析,學生可以發現速度和時間兩個變量呈線性關系,并且通過建立兩者之間的關系模型可以推測出任意時刻小車的速度。這一實驗的具體步驟可以歸結為:收集樣本數據—繪制散點圖—生成線性方程和擬合線—根據數學模型預測時間為某一數值時的速度大小。至此,我們通過學生已知的實例感性體驗了線性回歸預測方法及過程。
教學環節二:原理歸納與模擬實戰
在引入實例中,學生在教師的引導下體驗并理解了線性回歸的過程和原理,那么如何讓計算機完成這一過程并實現數據計算和分析是理解機器學習的關鍵,也是本課的重要知識點。學生通過剖析上一個實例可以得出結論,即計算機解決這類問題也需要經過“收集樣本數據—計算生成數學模型—根據數學模型輸出結果”等基本步驟。由此教師可以根據學生的思考結果進一步講解機器學習的一般過程:收集數據—訓練模型—測試模型—使用模型,完成這一原理概念的講授。
明確機器學習和線性回歸的原理之后,利用原理編寫程序調用平臺中的智能工具解決實際問題就是本課最核心的任務。利用Python語言開發人工智能,一方面結合了當前人工智能技術的發展及Python語言在人工智能開發上的優勢,另一方面利用Python語言編程解決問題貫穿在必修一的各章內容之中,學生能夠更加熟練地理解和運用。在本課中,學生需要學習利用Python中的sklearn及matplotlib模塊實現線性回歸算法并解決實際問題。
學生根據“探究小車的運動速度隨時間變化的規律”的實驗數據,編程求得速度與時間之間的定量關系;再借助Python編程語言中的sklearn模塊來探索兩個變量之間的線性關系,并以時間為x軸,速度為y軸,通過matplotlib模塊繪制出擬合圖像。
對照機器學習的一般過程解析程序代碼,學生可以明確和理解運用fit、predict和score來訓練數據,得出模型、使用模型預測結果和評估模型的sklearn基本函數的使用方法。而對于LinearRegression最小二乘線性回歸需要稍作說明:最小二乘法是一種機器學習的優化技術,將殘差平方值和最小化作為目標,找到最優模型來擬合已知的數據,從而使預測數據與實際數據的誤差平方和最小,即預測數據最接近實際數據。
通過程序運行,學生們得到了速度與時間的關系式和R的平方值,繪制出了散點圖和擬合曲線。如果算法訓練完成后,得到的R的平方值非常接近1,說明訓練得出的模型效果較好,計算所得的擬合直線非常符合數據點的變化趨勢。由此可見給定一組數據,在假設數據中存在一元線性關系的前提下,就可以通過機器學習中的線性回歸算法來擬合數據,然后進行預測。
教學環節三:問題解決與拓展思考
學生在高一政治課中學習過市場經濟的相關內容,其中分析居民消費價格指數和商品零售價格指數之間的關系并研究其對市場經濟規律的影響這一實例是非常典型的線性回歸問題。因此,教師可以讓學生獨立嘗試運用線性回歸的原理和Python編寫程序分析解決這一問題。
教師給出自2007年至2017年全國居民消費價格指數和商品零售價格指數之間的若干關系。請學生試判斷居民消費價格指數與商品零售價格指數之間是否符合線性關系。如符合,請通過回歸分析計算出兩者之間的關系模型。
學生將教師提供的數據整理后導入Python程序,通過LinearRegression、fit、predict和score等函數對數據進行訓練和測試,得到居民消費價格指數和商品零售價格指數之間的關系式和R的平方值,并繪制出散點圖和擬合曲線(圖2)。最終學生得出結論:居民消費價格指數和商品零售價格指數符合線性關系,居民消費價格指數和商品零售價格指數是同時變化的。
得出上述結論的同時,會有學生發現問題:隨著探究數據范圍的擴大,就會有一些點嚴重偏離擬合線,這樣是否會對預測結果產生影響呢?借著學生們提出的問題,教師可以引導學生們討論如何讓預測更加準確,如去除異常值、擴大數據范圍等,以此對于線性回歸問題做更深入的探究和思考。
總結與反思
線性回歸模型是一種最基礎的機器學習算法。在本課中,我們通過對學生熟悉的物理實驗數據以及政治課中學到的社會經濟指標數據進行分析,實現讓學生理解機器學習中線性回歸算法的原理,并能運用Python程序設計機器學習的一般過程,判斷兩個變量之間的關系,生成數學模型并測試評估,最終實現問題的解決。通過本節課的學習,學生能夠剖析具體案例,了解人工智能的核心算法;描述典型人工智能算法(線性回歸)的實現過程,親歷設計與實現簡單智能系統的基本過程與方法。可以說本節課實現了對學生信息技術學科核心素養培養的目的。
隨著智能時代的發展,人工智能越來越多地應用在我們生活的方方面面。了解人工智能相關知識不僅是信息技術學科教學的要求,也是作為信息時代公民需要具備的基本素養。在高中階段依托信息技術必修模塊進行人工智能內容的教學如何實施?如何選擇難易適度又貼合學生生活實際的案例?如何將原理與實踐相結合?本文略作嘗試,不足之處,仍需繼續研究改進。
參考文獻
中華人民共和國教育部. 普通信息技術課程標準:2017年版[M]. 北京:人民教育出版社,2018.
劉曉杰. 人工智能課程中基本算法與模型的案例研究[J]. 中國教育信息化,2019(9): 32-35.
韓萌. 居民消費價格指數和商品零售價格指數的分析——基于一元線性回歸分析[J]. 現代商業,2020,(17): 12-13.
王立友. 基于Python的線性回歸最小二乘算法的設計與實現[J]. 電腦知識與技術,2021,17(35): 123-124+133.