摘要:為解決機器學習課程實踐能力培養(yǎng)不足的問題,研究提出了一種基于OJ平臺的混合式教學方法。該方法通過構(gòu)建“理論-實踐-評測”一體化的教學模式,將OJ平臺融入傳統(tǒng)教學,模擬真實場景以提高學生的動手實踐能力。同時為了解決OJ平臺無法直接評測機器學習課程實踐任務(wù)的問題,提出了具體的解決辦法,實現(xiàn)了機器學習課程實踐任務(wù)的程序代碼自動評測功能。該方法不僅可以幫助學生及時識別實踐能力不足,還能輔助教師精準評估學生能力,為教學改進提供客觀的量化數(shù)據(jù)。
關(guān)鍵詞:機器學習;OJ平臺;實踐能力培養(yǎng);自動化評測;量化數(shù)據(jù)
中圖分類號:G642" " " 文獻標識碼:A
文章編號:1009-3044(2025)21-0172-03
開放科學(資源服務(wù)) 標識碼(OSID)
0 引言
隨著人工智能技術(shù)的快速發(fā)展,該技術(shù)已廣泛應用于自動駕駛、智慧城市及工業(yè)等領(lǐng)域,并不斷融入人們的日常生活與工作中,已成為推動社會進步的重要動力。目前,國家高度重視并大力支持人工智能專業(yè)的建設(shè)和人才培養(yǎng),國內(nèi)高校紛紛開設(shè)了人工智能專業(yè),旨在培養(yǎng)具備人工智能知識和技能的高素質(zhì)人才,以滿足各行各業(yè)對人工智能專業(yè)人才的需求,進一步推動了人工智能技術(shù)在各個領(lǐng)域的應用和發(fā)展[1]。
機器學習課程作為人工智能知識體系的核心樞紐,承載著連接數(shù)學理論與人工智能專業(yè)應用的橋梁作用。作為深度學習、計算機視覺和自然語言處理等核心課程的基礎(chǔ),機器學習課程的教學效果直接影響后續(xù)課程的學習。機器學習課程要求學生能夠?qū)⒗碚撆c實踐緊密結(jié)合,將所學內(nèi)容應用到現(xiàn)實生活中。但是,目前機器學習教學方法大多偏向知識理論的培養(yǎng),對學生應用實踐能力的培養(yǎng)依然存在欠缺,導致學生無法將所學知識內(nèi)容應用到實際問題的解決中。因此,如何培養(yǎng)具備強實踐能力并適應快速發(fā)展的時代需求的學生,是教師亟需關(guān)注的問題[2]。
目前,張楚才等[3]、朱靜雯等[4]、徐燕萍等[5]、劉穎等[6]、秦漢林等[7]已在數(shù)據(jù)結(jié)構(gòu)、程序設(shè)計等編程類課程中基于OJ(Online Judge,在線評測) 平臺對課程進行了改革,通過將OJ平臺引入到教學中,有效地提高了學生動手實踐的能力。但是,機器學習課程的實踐任務(wù)通常具有較高的復雜性,其輸出結(jié)果往往呈現(xiàn)出多樣性,并非局限于唯一且固定的答案。此外,這些結(jié)果的評判也不僅僅局限于正確與錯誤這兩種。因此,機器學習課程的實踐任務(wù)不能像傳統(tǒng)的數(shù)據(jù)結(jié)構(gòu)、程序設(shè)計等編程課一樣通過對比程序輸出和樣例答案是否完全一致來評判程序是否正確。
為了解決上述的機器學習課程教學中實踐能力培養(yǎng)不足和OJ系統(tǒng)無法直接對機器學習任務(wù)代碼直接評測的問題,本文提出了一種基于OJ的機器學習課程混合式教學方法并設(shè)計了一種基于OJ的機器學習課程實驗任務(wù)代碼自動評測方法,將OJ平臺引入機器學習教學中,增強對學生實踐應用能力的培養(yǎng)。
1 OJ平臺概述
OJ平臺是一個在線評測系統(tǒng),教師可在平臺上搭建實踐環(huán)境,上傳所需的數(shù)據(jù)和測試樣例。教師建設(shè)好實踐任務(wù)后可以發(fā)布給學生,發(fā)布后學生可以通過在平臺中提交自己的實踐程序代碼,完成教師發(fā)布的實踐任務(wù)。
學生提交程序后,OJ平臺會立即評測并反饋結(jié)果,如果程序存在語法錯誤會將語法錯誤信息直接反饋給學生,否則是根據(jù)學生的程序運行結(jié)果反饋相應的通過樣例數(shù),同時記錄學生的評測信息。學生看到反饋信息后能立即修改調(diào)整和優(yōu)化自己的程序代碼,這一特點相較于傳統(tǒng)實驗教學方式顯著提升了學習效率。在傳統(tǒng)的實驗教學環(huán)境中,學生通常需要等待教師對其程序或?qū)嶒灲Y(jié)果進行驗證和評測,這一過程可能耗時較長,且反饋往往具有滯后性,容易影響學生的學習效率。
2 基于OJ平臺的機器學習混合式教學
2.1 教學方法
混合式教學通過將傳統(tǒng)教學方法與OJ平臺相結(jié)合,有效提升了學生的動手實踐能力,幫助他們更好地理解和掌握機器學習知識,從而彌補了傳統(tǒng)教學中實踐能力培養(yǎng)不足的缺陷。
在課前準備階段,教師會將現(xiàn)實生活中的機器學習問題、數(shù)據(jù)及相關(guān)知識上傳至OJ平臺,以日常實例作為課程實踐內(nèi)容,并在平臺上搭建模擬真實應用場景的實踐環(huán)境。隨后,教師會發(fā)布不同難度層次的實踐任務(wù),從簡單到復雜逐步引導學生深入理解機器學習原理,并學會運用這些原理解決實際問題。同時,教師會在OJ平臺上提供參考資料和代碼示例,幫助學生更好地完成任務(wù)并探索相關(guān)知識。學生需在閱讀任務(wù)后嘗試解決問題,并記錄遇到的困難。
在課堂教學階段,教師會根據(jù)學生在OJ平臺上的練習情況,有針對性地進行講解和討論。通過引導學生分享解題思路、問題及解決方案,教師能更精準地把握教學重點和難點。此外,教師可利用OJ平臺的實時反饋功能展示優(yōu)秀作業(yè)和典型錯誤,組織學生互評與討論,培養(yǎng)其批判性思維和團隊協(xié)作能力。
在課后階段,教師會布置類似的機器學習任務(wù),讓學生將課堂所學知識應用于實際問題解決中,從而加深理解并提升實踐能力。同時,教師鼓勵學生將知識拓展到更廣泛的場景中,并通過OJ平臺實時追蹤學生完成情況,幫助他們及時發(fā)現(xiàn)并彌補不足。
此外,混合式教學還為教師提供了高效的教學管理工具。通過OJ平臺,可自動批改學生作業(yè)并生成量化數(shù)據(jù),大幅減輕教師的工作負擔,使其能將更多精力投入教學改進研究中。同時,平臺上的評測數(shù)據(jù)可作為學生平時成績的客觀依據(jù),確保成績評定的公平性。
2.2 自動評測方法
為提高實踐任務(wù)的評測效率,本文提出了一種基于OJ平臺的自動化機器學習程序評測方法??梢詫崿F(xiàn)機器學習中回歸、分類、聚類等實踐任務(wù)的自動評測,方法主要包括學生程序和評測程序兩部分,OJ平臺接收到學生的提交后先執(zhí)行學生程序,學生程序結(jié)束后再執(zhí)行評測程序,具體方法流程如圖1所示。
如果是回歸和分類任務(wù),教師上傳實踐任務(wù)數(shù)據(jù)前,將數(shù)據(jù)集S劃分為訓練集Strain和測試集Stest。其中訓練集Strain中的樣本Xtrain和訓練標簽ytrain提供給學生查看數(shù)據(jù)狀況和用于模型訓練和推理的調(diào)試,學生調(diào)試程序完成后提交到OJ中的學生程序部分。
學生程序提交后,OJ運行該程序進行模型訓練,并對測試集Stest的樣本Xtest進行推理,推理的結(jié)果ypre輸出保存到文件中。運行完學生程序后,評測程序會繼續(xù)運行,評測程序先讀取學生的模型推理結(jié)果ypre,然后再讀取測試集Stest中的測試標簽ytest ,通過評測程序中預先選擇好的指標評價計算ypre和ytest的指標值。
對于回歸任務(wù)我們采用R-Square指標進行評測,R-Square是評價回歸模型中常用的評價指標,R-Square用于評估模型對目標變量解釋能力,其計算公式為:
[R2=1-1n(yi-yi)21n(yi-y)2] (1)
式中,[yi]表示測試標簽ytest 中的第i個數(shù)據(jù)值,[yi]表示模型推理結(jié)果ypre的第i個數(shù)據(jù)值。[y]表示測試標簽ytest 中所有數(shù)據(jù)的平均值。式(1) 中右側(cè)分子部分是殘差平方和,表示學生預測值與真實值之間的差異,分母部分是總平方和,表示目標變量的總差異。式(1) 的結(jié)果范圍在[0,1]之間,越接近1表示學生提交的代碼模型的性能越好,越接近0表示學生提交的代碼模型的性能越差。
對于分類任務(wù)我們采用Micro-average F1指標,Micro-average F1是一種在多分類任務(wù)中常用的指標,Micro-average F1通過匯總所有類別的預測結(jié)果來計算全局的F1分數(shù),更關(guān)注整體性能,其計算公式為:
[F1micro=2×Precisionmicro×RecallmicroPrecisionmicro+Recallmicro] (2)
式中,Precisionmicro是全局精確度,其計算公式如式(3) 定義,全局精確度越高,說明學生模型預測正例的正確度越高。Recallmicro是全局召回率,其計算公式如式(4) 定義,全局召回率越高說明學生模型在預測能找到更多的真正例。
[Precisionmicro=TPtotalTPtotal+FPtotal] (3)
[Recallmicro=TPtotalTPtotal+FNtotal] (4)
式中,TPtotal是所有類別的真正例之和,F(xiàn)Ptotal是所有類別的假正例之和,TNtotal是所有類別的假反例之和。式(2) 的結(jié)果范圍在[0,1]之間,越接近1表示學生提交的代碼模型的性能越好,越接近0表示學生提交的代碼模型的性能越差。
如果是聚類任務(wù),由于聚類任務(wù)是一種無監(jiān)督學習方法,沒用可以直接用來比較聚類結(jié)果的真實標簽,教師直接上傳所有的實踐數(shù)據(jù)給學生查看數(shù)據(jù)狀況和用于模型的訓練和推理的調(diào)試,再通過不依賴于真實標簽的評價指標來評估學生的算法模型。整體的流程和回歸、分類任務(wù)的方法基本一致,主要區(qū)別在于在模型推理和評測時沒有讀取數(shù)據(jù)集的部分數(shù)據(jù)和評測指標的不同。
對于聚類任務(wù),很多數(shù)據(jù)場景下也沒有真實的數(shù)據(jù)標簽提供,故采用不需要真實標簽的輪廓系數(shù)(Silhouette Coefficient) 評價,輪廓系數(shù)值結(jié)合了簇內(nèi)的緊密度和簇間的分離度,輪廓系數(shù)通過計算每個數(shù)據(jù)點的輪廓系數(shù)來衡量其與自身簇以及最近鄰簇的相似程度。其計算公式為:
[SC = 1Ni=1Nb(xi)-a(xi)max{b(xi),a(xi)}] (5)
式中,N是參與評價計算數(shù)據(jù)的數(shù)量,a(xi)代表第i個樣本點的內(nèi)聚度,是其到所屬簇內(nèi)其他樣本點的距離平均,反映了樣本點與其同一簇內(nèi)其他樣本點的相似程度,其值越小表示越緊密,聚類效果越好。b(xi)表示一個樣本點到其最近的另一個簇的樣本點的平均距離,衡量了樣本點與其他簇之間的分離程度。max{a(xi),b(xi)}表示取a(xi)和b(xi)中的較大值,用于保證輪廓系數(shù)的取值范圍在[-1,1]之間。
最后,當計算完評測指標值后會根據(jù)教師事先在實踐評測代碼中預設(shè)的評分區(qū)間,自動判定當前指標值所屬的區(qū)間,并據(jù)此輸出相應的評測結(jié)果值,作為學生的實踐分數(shù)。分數(shù)會即時反饋給學生和教師,便于雙方及時了解實踐成果。學生可根據(jù)反饋,反復調(diào)整并重新提交程序進行評測,而OJ系統(tǒng)將自動追蹤并記錄學生的最佳提交結(jié)果。
2.3 實施效果
教學已在“頭歌”O(jiān)J平臺上搭建實踐環(huán)境并實施相關(guān)內(nèi)容,該方法已經(jīng)在人工智能專業(yè)22級學生中進行了實施,通過引入現(xiàn)實生活中的身高預測、收入水平預測等生活問題,激發(fā)了學生的學習和動手實踐興趣,大部分學生都能夠利用已學內(nèi)容編程實踐解決這些問題。
為了進一步分析學生的學習效果,將學生在OJ平臺上提交的回歸任務(wù)、分類任務(wù)和聚類任務(wù)三類程序的得分比例繪制為三維散點圖,其中每類任務(wù)的得分比例是一個軸上的數(shù)值,繪制結(jié)果如圖2所示。通過圖2,可以清楚看到不同班級在各類任務(wù)上的得分比例,幫助識別弱項。同時,散點圖還能夠幫助教師及時發(fā)現(xiàn)學習效果較差的學生,便于有針對性地進行交流和指導,從而提升整體教學效果。
從圖2的結(jié)果可以看出,該方法取得了顯著的教學效果。大部分學生能夠較好地完成實踐任務(wù),并初步掌握了將理論知識應用于解決現(xiàn)實生活問題的能力。三維散點圖清晰地展示了學生在回歸、分類和聚類任務(wù)中的得分分布情況,反映出學生在不同任務(wù)上的掌握程度。這不僅有助于教師識別學生的薄弱環(huán)節(jié),還為后續(xù)教學改進提供了客觀數(shù)據(jù)支持。
3 結(jié)論
通過引入OJ平臺,該研究有效解決了傳統(tǒng)教學中學生實踐操作不足的問題。平臺通過模擬真實場景的實踐任務(wù),顯著提升了學生解決實際問題的能力。線上OJ平臺具有雙重優(yōu)勢:一方面為學生提供即時反饋,優(yōu)化了學習方法;另一方面減輕了教師負擔,通過自動化批改提高了工作效率,使教師能夠?qū)崟r掌握學生的學習進度。此外,平臺積累的客觀數(shù)據(jù)為教學改革提供了量化依據(jù),從而持續(xù)推動教學質(zhì)量的提升。
參考文獻:
[1] 薛煜陽,曹衛(wèi),張蕾,等.機器學習課程的混合式教學探索與實踐[J].電腦知識與技術(shù),2024,20(20):23-25.
[2] 周夏冰,陳飛.機器學習課程教學探索[J].電腦知識與技術(shù),2020(30):129-131,150.
[3] 張楚才,蔡美玲.實用項目驅(qū)動的程序設(shè)計課程教改[J].計算機教育,2022(9):109-112.
[4] 朱靜雯,劉明銘,謝茂強,等.面向新工科的數(shù)據(jù)結(jié)構(gòu)實驗教學研究與改革[J].實驗室科學,2024,27(4):230-234.
[5] 徐燕萍.基于OJ的程序設(shè)計類課程實驗混合教學模式研究[J].軟件導刊,2022(2):231-234.
[6] 劉穎,薛韡,王亞麗,等.雨課堂和OJ教學模式在C語言程序設(shè)計課程中的應用研究[J].電腦與電信,2021(6):47-49,56.
[7] 秦漢林,盧成浪,鄒會來.OJ系統(tǒng)和在線課程混合驅(qū)動的程序設(shè)計課程教學新模式[J].計算機教育,2023(6):189-193.
【通聯(lián)編輯:王 力】