跳到主要內容

發表文章

目前顯示的是 11月, 2020的文章

OR|作業研究與資料科學 其二

 『 作業研究(Operations Research,OR),是一門應用數學學科,其是利用統計學,數學模型和資料科學等方法,去尋找複雜問題中的最佳或近似最佳的解答。作業研究經常用於解決現實生活中的複雜問題,特別是改善或優化現有系統的效率。 』 上一篇文章 當中,我們透過一些簡單的例子,瞭解了作業研究 (以下簡稱為 OR) 的目的。而在這一篇的文章當中,則要介紹 OR 在進行最佳化求解的時候的手段。以及 OR 與 資料科學(Data Science,以下簡稱為 DS) 的差異。 Photo source :  Aspire Consulting Ltd # 相同之處 前一篇文章當中,我們不斷提到 OR,是一門用來求解最大值與最小值的數學方法。那麼對照到 DS 呢?這個問題範圍可能太大了點,我們不妨先縮限一下討論範圍,就只討論機器學習當中的分類(Classification)、分群(Clustering)與迴歸預測(Regression)這三種方法就好。 上述三種機器學習方法,無論是哪一種,其基本概念,都是將演算法當中的損失函數,在設定好的迭代梯度下,將損失函數的值迭代到最小,以收斂模型。再藉由收斂的模型,來產生對應的分類、分群、迴歸預測結果。從這個層面來看,OR 跟 DS 是一樣的,都是希望藉由最大化或者最小化某個目標,藉以得知將目標最佳化之後,其他變數的值。 # 相異之處 OR 與 DS 最大的相異之處就在於: OR 的建模過程並沒有「訓練」這個步驟 。因為模型不需要訓練,自然也不需「訓練資料」。許多不曾接觸過 OR 的資料科學工作者可能會對這一點感到詫異。 其實這沒什麼好好訝異的,這裡舉個簡單的例子來比喻: 只要有念過國中、高中的朋友們,應當都學過如何解聯立方程式、乃至於大學階段的線性代數。 OR 的模型其實就是結構更複雜、且可能有許多限制條件與目標的線性代數應用題(當然,OR 的問題當中更常見的是非線性規劃與整數規劃問題)。 不需要訓練資料,但不代表 OR 的建模過程不需要資料。OR 的建模所需要的是方程式的係數。例如:某某生產物料的成本單價、兩家門市當中選擇某一條路徑的移動距離、一個星期的某一天當中,從某個火車站的某班列車的平均上下車人數等等。 因此,OR 的建模並不像機器學習建模那樣,需要大量且經過完善處理後的資料,才能建構出一個有用的模型。OR 的建模,