<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 智能計(jì)算 > 業(yè)界動(dòng)態(tài) > 特征工程是什么?機(jī)器學(xué)習(xí)的關(guān)鍵所在

          特征工程是什么?機(jī)器學(xué)習(xí)的關(guān)鍵所在

          作者: 時(shí)間:2018-12-17 來(lái)源:ofweek 收藏

            人工智能是過(guò)去兩到三年時(shí)間內(nèi)科技行業(yè)最熱的話題。而人工智能技術(shù)進(jìn)步的背后,實(shí)質(zhì)上是快速發(fā)展后所帶來(lái)的巨大提升。

          本文引用地址:http://www.ex-cimer.com/article/201812/395666.htm

            被廣泛定義為“利用經(jīng)驗(yàn)來(lái)改善計(jì)算機(jī)系統(tǒng)的自身性能”。事實(shí)上,“經(jīng)驗(yàn)”在計(jì)算機(jī)中主要是以數(shù)據(jù)的形式存在的,因此數(shù)據(jù)是的前提和基礎(chǔ)。

            在第一期格物匯的文章中,我們介紹了工業(yè)數(shù)據(jù)預(yù)處理的方法,主要針對(duì)數(shù)據(jù)格式異常,數(shù)據(jù)內(nèi)容異常等問(wèn)題進(jìn)行了簡(jiǎn)要探討。做數(shù)據(jù)預(yù)處理的主要目的是將雜亂無(wú)章的數(shù)據(jù)規(guī)整成我們想要的矩陣、表格、張量等結(jié)構(gòu),方便在之后的機(jī)器學(xué)習(xí)中進(jìn)行模型訓(xùn)練。然而數(shù)據(jù)中的問(wèn)題還包含了冗余,噪聲,高維度,體量大等很多問(wèn)題。解決這些問(wèn)題的方法與數(shù)據(jù)預(yù)處理的方法在機(jī)器學(xué)習(xí)中被統(tǒng)稱為,今天我們就來(lái)了解一下吧。

            是什么

            當(dāng)你想要你的預(yù)測(cè)模型性能達(dá)到最佳時(shí),你要做的不僅是要選取最好的算法,還要盡可能的從原始數(shù)據(jù)中獲取更多的信息。那么問(wèn)題來(lái)了,你應(yīng)該如何為你的預(yù)測(cè)模型得到更好的數(shù)據(jù)呢?這就是要做的事,它的目的就是獲取更好的訓(xùn)練數(shù)據(jù)。

            維基百科中給特征工程做出了簡(jiǎn)單定義:特征工程是利用數(shù)據(jù)領(lǐng)域的相關(guān)知識(shí)來(lái)創(chuàng)建能夠使機(jī)器學(xué)習(xí)算法達(dá)到最佳性能的特征的過(guò)程。簡(jiǎn)而言之,特征工程就是一個(gè)把原始數(shù)據(jù)轉(zhuǎn)變成特征的過(guò)程,這些特征可以很好的描述這些數(shù)據(jù),并且利用它們建立的模型在未知數(shù)據(jù)上的表現(xiàn)性能可以達(dá)到最優(yōu)(或者接近最佳性能)。從數(shù)學(xué)的角度來(lái)看,特征工程就是人工地去設(shè)計(jì)輸入變量X。

            特征工程的重要性

            關(guān)于特征工程(Feature Engineering),已經(jīng)是很古老很常見(jiàn)的話題了,坊間常說(shuō):“數(shù)據(jù)和特征決定了機(jī)器學(xué)習(xí)的上限,而模型和算法只是逼近這個(gè)上限而已”。由此可見(jiàn),特征工程在機(jī)器學(xué)習(xí)中占有相當(dāng)重要的地位。

            1、特征越好,靈活性越強(qiáng)

            只要特征選得好,即使是一般的模型(或算法)也能獲得很好的性能,因?yàn)榇蠖鄶?shù)模型(或算法)在好的數(shù)據(jù)特征下表現(xiàn)的性能都還不錯(cuò)。好特征的靈活性在于它允許你選擇不復(fù)雜的模型,同時(shí)運(yùn)行速度也更快,也更容易理解和維護(hù)。

            2、特征越好,構(gòu)建的模型越簡(jiǎn)單

            有了好的特征,即便你的參數(shù)不是最優(yōu)的,你的模型性能也能仍然會(huì)表現(xiàn)的很nice,所以你就不需要花太多的時(shí)間去尋找最有參數(shù),這大大的降低了模型的復(fù)雜度,使模型趨于簡(jiǎn)單。

            3、特征越好,模型的性能越出色

            顯然,這一點(diǎn)是毫無(wú)爭(zhēng)議的,我們進(jìn)行特征工程的最終目的就是提升模型的性能。

            特征工程怎么做

            既然特征工程這么重要,那么我們就來(lái)看看特征工程到底是如何實(shí)現(xiàn)或者工作的。特征工程到底分為哪些內(nèi)容?我們大致可以參考如下流程圖來(lái)看看。

            


            簡(jiǎn)單來(lái)說(shuō),特征處理主要分如下三個(gè)方法:

            特征構(gòu)建

            特征構(gòu)建是指從原始數(shù)據(jù)中人工的找出一些具有實(shí)際意義的特征。需要花時(shí)間去觀察原始數(shù)據(jù),思考問(wèn)題的潛在形式和數(shù)據(jù)結(jié)構(gòu),對(duì)數(shù)據(jù)敏感性和機(jī)器學(xué)習(xí)實(shí)戰(zhàn)經(jīng)驗(yàn)?zāi)軒椭卣鳂?gòu)建。除此之外,屬性分割和結(jié)合是特征構(gòu)建時(shí)常使用的方法。特征構(gòu)建是個(gè)非常麻煩的問(wèn)題,書(shū)里面也很少提到具體的方法,需要對(duì)問(wèn)題有比較深入的理解。

            特征抽取

            一些觀測(cè)數(shù)據(jù)如果直接建模,其原始狀態(tài)的數(shù)據(jù)太多。像圖像、音頻和文本數(shù)據(jù),如果將其看做是表格數(shù)據(jù),那么其中包含了數(shù)以千計(jì)的屬性。特征抽取是自動(dòng)地對(duì)原始觀測(cè)降維,使其特征集合小到可以進(jìn)行建模的過(guò)程。通常可采用主成分分析(PCA)、線性判別分析(LDA))等方法;對(duì)于圖像數(shù)據(jù),可以進(jìn)行線(line)或邊緣(edge)的提取;根據(jù)相應(yīng)的領(lǐng)域,圖像、視頻和音頻數(shù)據(jù)可以有很多數(shù)字信號(hào)處理的方法對(duì)其進(jìn)行處理。

            特征選擇

            不同的特征對(duì)模型的準(zhǔn)確度的影響不同,有些特征與要解決的問(wèn)題不相關(guān),有些特征是冗余信息,這些特征都應(yīng)該被移除掉。特征選擇是自動(dòng)地選擇出對(duì)于問(wèn)題最重要的那些特征子集的過(guò)程。常用的特征選擇方法可以分為3類:過(guò)濾式(filter)、包裹式(wrapper)和嵌入式(embedding)。

            小結(jié)

            總的來(lái)說(shuō),數(shù)據(jù)會(huì)存在各種各樣的問(wèn)題,針對(duì)這些問(wèn)題我們的特征工程給出了相應(yīng)的解決辦法:1.特征解釋能力不足,我們可以嘗試使用特征構(gòu)建,對(duì)數(shù)據(jù)進(jìn)行升維來(lái)提升特征解釋能力;2.特征冗余,維度太高,噪聲太多,我們可以通過(guò)特征抽取和特征選擇,來(lái)對(duì)數(shù)據(jù)進(jìn)行降維去噪,提煉特征。當(dāng)然還有其他的特征處理方法,一般需要根據(jù)具體問(wèn)題而定。



          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();