99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
首頁(yè)精彩閱讀機(jī)器學(xué)習(xí)背后,你不能不知道的數(shù)學(xué)核心概念
機(jī)器學(xué)習(xí)背后,你不能不知道的數(shù)學(xué)核心概念
2019-12-13
收藏
<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)</a>背后,你不能不知道的數(shù)學(xué)核心概念

作者 | SHAROON SAXENA

編譯 | CDA數(shù)據(jù)分析師

Mathematics behind Machine Learning - The Core Concepts you Need to Know

介紹

“學(xué)習(xí)機(jī)器學(xué)習(xí)算法背后的數(shù)學(xué)有什么用?我們可以輕松地使用Python和R中廣泛可用的庫(kù)來(lái)構(gòu)建模型!”

我已經(jīng)記不清從數(shù)據(jù)科學(xué)愛好者那里聽到這種消息的次數(shù)了。這種謬論太普遍了,在有抱負(fù)的數(shù)據(jù)科學(xué)專業(yè)人員中產(chǎn)生了一種錯(cuò)誤的期望。

根據(jù)我的經(jīng)驗(yàn),主要是有以下兩個(gè)原因:

  1. 數(shù)學(xué)是相當(dāng)令人生畏的,特別是對(duì)于那些來(lái)自非專業(yè)技術(shù)背景的人。將這種復(fù)雜性應(yīng)用到機(jī)器學(xué)習(xí)中,你就會(huì)得到一個(gè)非常令人生畏的局面
  2. 如前所述,存在大量執(zhí)行各種機(jī)器學(xué)習(xí)任務(wù)的庫(kù),因此很容易避免該領(lǐng)域的數(shù)學(xué)部分。

現(xiàn)在讓我們把這個(gè)問(wèn)題解決掉——你需要理解機(jī)器學(xué)習(xí)算法背后的數(shù)學(xué)原理,才能成為一名數(shù)據(jù)科學(xué)家。沒有別的辦法。這是數(shù)據(jù)科學(xué)家角色的一個(gè)固有部分,每一位招聘人員和有經(jīng)驗(yàn)的機(jī)器學(xué)習(xí)專業(yè)人士都將證明這一點(diǎn)。

因此,這就引出了一個(gè)問(wèn)題,我們?cè)撊绾沃謱W(xué)習(xí)呢?這就是我們將在本文中學(xué)習(xí)的內(nèi)容。我們將討論成為機(jī)器學(xué)習(xí)大師所需了解的各種數(shù)學(xué)方面,包括線性代數(shù)、概率等。

在本文中,我們將討論以下主題:

  1. 機(jī)器學(xué)習(xí)背后的數(shù)學(xué)和數(shù)據(jù)科學(xué)之間的區(qū)別
  2. 針對(duì)雙方學(xué)習(xí)態(tài)度的調(diào)整
  3. 機(jī)器學(xué)習(xí)中的線性代數(shù)
  4. 機(jī)器學(xué)習(xí)中的多元微積分
  5. 機(jī)器學(xué)習(xí)中的概率
  6. 機(jī)器學(xué)習(xí)中的統(tǒng)計(jì)
<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)</a>背后,你不能不知道的數(shù)學(xué)核心概念

機(jī)器學(xué)習(xí)背后的數(shù)學(xué)和數(shù)據(jù)科學(xué)之間的區(qū)別

有抱負(fù)的數(shù)據(jù)科學(xué)家經(jīng)常向我提出的最常見問(wèn)題之一是–數(shù)據(jù)科學(xué)與機(jī)器學(xué)習(xí)之間有什么區(qū)別?更重要的是,這兩者背后的數(shù)學(xué)有什么區(qū)別?

我經(jīng)常遇到以下問(wèn)題:

  1. 機(jī)器學(xué)習(xí)中應(yīng)該在哪里使用概率?
  2. 在數(shù)據(jù)科學(xué)中應(yīng)在哪里使用多元微積分?
  3. 在數(shù)據(jù)科學(xué)中應(yīng)在哪里使用線性代數(shù)?

盡管數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí)有很多共同點(diǎn),但是它們?cè)跀?shù)學(xué)上的關(guān)注仍然存在一些細(xì)微的差異。下面的雷達(dá)圖概括了我的觀點(diǎn):

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)</a>背后,你不能不知道的數(shù)學(xué)核心概念

是的,數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí)有很多重疊之處,但是它們的主要關(guān)注點(diǎn)相差很大。這種微妙的差異通常是我上面提到的問(wèn)題的根源。

在數(shù)據(jù)科學(xué)中,我們的主要目標(biāo)是探索和分析數(shù)據(jù),生成假設(shè)并測(cè)試它們

這些步驟通常是為了找出數(shù)據(jù)中隱藏的推論,而這些推論可能在第一眼看上去并不明顯。因此,我們必須嚴(yán)格依賴統(tǒng)計(jì)和概率的概念來(lái)比較和進(jìn)行假設(shè)檢驗(yàn)。

另一方面,機(jī)器學(xué)習(xí)更側(cè)重于線性代數(shù)的概念,因?yàn)樗撬袕?fù)雜過(guò)程發(fā)生的主要階段(除了效率方面)。另一方面,多元微積分涉及數(shù)值優(yōu)化方面,這是大多數(shù)機(jī)器學(xué)習(xí)算法背后的驅(qū)動(dòng)力。

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)</a>背后,你不能不知道的數(shù)學(xué)核心概念

數(shù)據(jù)科學(xué)通常被認(rèn)為是機(jī)器學(xué)習(xí)的前提??紤]一下–我們希望機(jī)器學(xué)習(xí)算法的輸入數(shù)據(jù)是干凈的,并且要根據(jù)我們使用的技術(shù)進(jìn)行準(zhǔn)備。如果您正在尋求端到端的工作(數(shù)據(jù)科學(xué)+機(jī)器學(xué)習(xí)),最好使自己精通數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí)所需的數(shù)學(xué)結(jié)合。

針對(duì)雙方學(xué)習(xí)態(tài)度的調(diào)整

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)</a>背后,你不能不知道的數(shù)學(xué)核心概念

如果你一直重復(fù)你過(guò)去做過(guò)的事情,你會(huì)得到你一直得到的結(jié)果。我在這里轉(zhuǎn)述愛因斯坦的名言,但我相信你明白我的意思!

許多渴望學(xué)習(xí)機(jī)器學(xué)習(xí)的人會(huì)犯這樣的錯(cuò)誤,即他們?cè)谏蠈W(xué)時(shí)使用的方法是一樣的。這意味著要用筆和紙去鉆研定理、推導(dǎo)和問(wèn)題。

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)</a>背后,你不能不知道的數(shù)學(xué)核心概念

這種傳統(tǒng)的方法離我們想要遵循的方向有一些遠(yuǎn),除非你想要在17世紀(jì)的數(shù)學(xué)家之爭(zhēng)中獲勝。那時(shí)候他們向?qū)Ψ教岢隽艘幌盗袛?shù)學(xué)上很有趣的問(wèn)題,并在第二天解決。但你可以想象到這種情況,聽起來(lái)很厲害。但這不是在21世紀(jì)學(xué)習(xí)新概念的最佳方式。

那么我們應(yīng)該如何才能在不陷入理論的情況下學(xué)習(xí)數(shù)學(xué)呢?

數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí)中的數(shù)學(xué)不是關(guān)于處理數(shù)字的,而是關(guān)于發(fā)生了什么,為什么會(huì)發(fā)生,以及我們?nèi)绾翁幚聿煌氖虑閬?lái)獲得我們想要的結(jié)果的數(shù)學(xué)。

在本質(zhì)上:

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)</a>背后,你不能不知道的數(shù)學(xué)核心概念

我們應(yīng)該更關(guān)注對(duì)任何給定表達(dá)式的直覺和幾何解釋:

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)</a>背后,你不能不知道的數(shù)學(xué)核心概念

這有助于我們理解這些令人難以置信的表情背后的含義。所有手動(dòng)解決問(wèn)題的繁重工作都不是必需的,也不需要技能。使用NumPy這樣的計(jì)算庫(kù)來(lái)完成它們比測(cè)試您的耐力更有意義。

現(xiàn)在,讓我們轉(zhuǎn)移注意力來(lái)理解為什么我們需要學(xué)習(xí)這些不同的數(shù)學(xué)分支以及什么是用直觀的方式學(xué)習(xí)數(shù)學(xué)的好資源。

機(jī)器學(xué)習(xí)中的線性代數(shù)

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)</a>背后,你不能不知道的數(shù)學(xué)核心概念

有些人認(rèn)為線性代數(shù)是21世紀(jì)的數(shù)學(xué)。我們可以看到這其中的意義——線性代數(shù)是機(jī)器學(xué)習(xí)和數(shù)據(jù)科學(xué)的支柱,它將在未來(lái)幾年給其他所有行業(yè)帶來(lái)革命性的變化。

正如之前已經(jīng)討論過(guò)的,線性代數(shù)是所有機(jī)器學(xué)習(xí)算法生成結(jié)果的舞臺(tái)或平臺(tái)。

但是為什么是線性代數(shù)呢?

線性代數(shù)是聯(lián)立線性方程組表示的系統(tǒng)基礎(chǔ)。

假設(shè)我們有兩個(gè)線性方程式:

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)</a>背后,你不能不知道的數(shù)學(xué)核心概念

求解出x和y很容易,對(duì)吧?

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)</a>背后,你不能不知道的數(shù)學(xué)核心概念

我們可以通過(guò)簡(jiǎn)單地將方程式1與-2相乘,然后將兩者相加來(lái)實(shí)現(xiàn):

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)</a>背后,你不能不知道的數(shù)學(xué)核心概念

結(jié)果,變量x被消除,y獲得為9。然后將y=9帶入公式,得出x的值為0。

這里的問(wèn)題是,這個(gè)操作需要人類的直覺。我們的機(jī)器無(wú)法模仿同樣的直覺。他們只能理解特定表示形式的數(shù)據(jù)和集合格式的規(guī)則。

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)</a>背后,你不能不知道的數(shù)學(xué)核心概念

現(xiàn)在,為了建立與數(shù)據(jù)科學(xué)或機(jī)器學(xué)習(xí)的類比,每個(gè)方程表示來(lái)自數(shù)據(jù)集的單個(gè)觀察。左邊表示獨(dú)立輸入變量,右邊表示目標(biāo)因變量。

數(shù)據(jù)集通常包含成百上千的觀測(cè)數(shù)據(jù)(如果不是上百萬(wàn)體量的數(shù)據(jù)集的話),更不用說(shuō)還有很多變量要處理。所以你認(rèn)為我們可以通過(guò)數(shù)據(jù)集找到x和y的最佳值嗎?

絕對(duì)不是!我們當(dāng)然更喜歡自動(dòng)化來(lái)完成這項(xiàng)任務(wù)。這就是線性代數(shù)的用武之地。從廣義上來(lái)說(shuō):

線性代數(shù)是計(jì)算機(jī)能夠理解的知識(shí)的系統(tǒng)表示,線性代數(shù)中的所有運(yùn)算都是系統(tǒng)規(guī)則。

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)</a>背后,你不能不知道的數(shù)學(xué)核心概念

這是我們上面解決的問(wèn)題的代數(shù)表示。利用矩陣運(yùn)算(規(guī)則集),我們可以在一眨眼的時(shí)間內(nèi)求出x和y的值。這是線性代數(shù)在數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí)中成為必需的主要原因。

機(jī)器學(xué)習(xí)中的多元微積分

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)</a>背后,你不能不知道的數(shù)學(xué)核心概念

大多數(shù)有抱負(fù)的數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí)專業(yè)人士往往無(wú)法解釋他們?cè)谀睦镄枰褂枚嘣⒎e分。正如我在文章開頭所提到的,不幸的是,這是一種非常常見的體驗(yàn)。

如果你馬上說(shuō)梯度下降,你就對(duì)了!但是你可能需要增加你現(xiàn)有的知識(shí)。

多元微積分,或者更精確的說(shuō)是偏微分,被用來(lái)對(duì)一個(gè)給定函數(shù)(主要是凸函數(shù))進(jìn)行數(shù)學(xué)優(yōu)化。

但我們?yōu)槭裁匆@樣做呢?我們知道我們計(jì)算了某個(gè)函數(shù)(成本函數(shù)或優(yōu)化函數(shù))的偏導(dǎo)數(shù)。但這有什么用呢?

很多人經(jīng)常求出偏導(dǎo)數(shù)但卻不知道為什么這么做!我們需要立即糾正這個(gè)錯(cuò)誤。

我們考慮一下梯度下降的情況。我們知道梯度下降的代價(jià)函數(shù)為:

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)</a>背后,你不能不知道的數(shù)學(xué)核心概念

我們計(jì)算m(斜率)和c(截距)的導(dǎo)數(shù)為:

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)</a>背后,你不能不知道的數(shù)學(xué)核心概念

但為什么只有偏導(dǎo)數(shù)呢?我們可以計(jì)算積分或者其他的運(yùn)算。這是因?yàn)榉只o我們成本函數(shù)的變化率對(duì)丁成本單獨(dú)對(duì)m和c。

但是你知道我們可以用向量的形式表示這些單獨(dú)的偏導(dǎo)數(shù)嗎?

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)</a>背后,你不能不知道的數(shù)學(xué)核心概念

這是偏導(dǎo)數(shù)的代數(shù)向量表示。

我相信你們大多數(shù)人以前一定見過(guò)這種表達(dá)方式,但沒有意識(shí)到它的含義。這種表示法叫做雅可比向量。我在高中的時(shí)候就遇到過(guò)這種情況;是的,它確實(shí)讓我的生活變得艱難!

下面是一些學(xué)習(xí)多元微積分的優(yōu)秀資源。再一次,我將強(qiáng)調(diào)更多關(guān)于直覺的部分,而不是僅僅死記硬背定理和規(guī)則:

機(jī)器學(xué)習(xí)中的概率

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)</a>背后,你不能不知道的數(shù)學(xué)核心概念

機(jī)器學(xué)習(xí)所需的概率概念是基本的(大部分),但它仍然需要直覺。常用的分布形式有伯努利分布、高斯分布、概率密度函數(shù)、累積密度函數(shù)等。我們用它們來(lái)進(jìn)行假設(shè)檢驗(yàn),在這種情況下,對(duì)概率的理解是非常必要的。

你會(huì)發(fā)現(xiàn)許多數(shù)據(jù)科學(xué)家,甚至是經(jīng)驗(yàn)豐富的老手,都無(wú)法解釋聲名狼藉的alpha值和p值的真正含義。他們經(jīng)常被當(dāng)作從冥王星來(lái)的陌生人,甚至沒有人愿意問(wèn)。

但概率中最有趣的部分是貝葉斯定理。從高中開始,我們?cè)诤芏嗟胤蕉加龅竭^(guò)這個(gè)定理。這是公式:

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)</a>背后,你不能不知道的數(shù)學(xué)核心概念

我們通常通過(guò)輸入數(shù)字并計(jì)算答案來(lái)解決這個(gè)問(wèn)題。但是你有沒有想過(guò)貝葉斯定理到底告訴了我們什么,后驗(yàn)概率到底是什么意思?為什么我們還要一開始要計(jì)算它呢?

讓我們考慮一個(gè)示例(沒有數(shù)學(xué)理論?。?/span>

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)</a>背后,你不能不知道的數(shù)學(xué)核心概念

這是我們的朋友鮑勃(Bob)。作為他的同學(xué),我們認(rèn)為他是一個(gè)內(nèi)向的人,經(jīng)常獨(dú)處。我們相信他不喜歡交朋友。

因此,P(A)被稱為先驗(yàn)。在這種情況下,我們稱其為鮑勃很少喜歡結(jié)交新朋友的假設(shè)。

現(xiàn)在,他在大學(xué)里遇到了愛德(Ed),與鮑勃不同,埃德是一個(gè)悠閑的人,渴望結(jié)交新朋友。

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)</a>背后,你不能不知道的數(shù)學(xué)核心概念

P(B)在這種情況下是Ed友好的概率。在一起度過(guò)的這一天Bob意識(shí)到Ed和他形影不離。結(jié)果,他們成了朋友。

P(B|A)就是他們成為朋友的代表:

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)</a>背后,你不能不知道的數(shù)學(xué)核心概念

現(xiàn)在,看一下右邊和我們上面建立的例子,分子代表了Bob是友好的P(A)和Ed是朋友的概率P(B|A)所有這些值都朝著左邊的結(jié)果計(jì)算,也就是:

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)</a>背后,你不能不知道的數(shù)學(xué)核心概念

完美!這正是我們?cè)趯W(xué)校里所做的,對(duì)吧?我將進(jìn)一步擴(kuò)展它,你知道這個(gè)新值意味著什么?

大多數(shù)聲稱知道貝葉斯定理的人都會(huì)被困在這里。

這個(gè)新的價(jià)值只是我們對(duì)Bob的信念。換句話說(shuō),這是我們對(duì)Bob的新認(rèn)識(shí)和P(A)的新值。 。

如果我要提取此這個(gè)例子,它將是這樣的:

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)</a>背后,你不能不知道的數(shù)學(xué)核心概念

我們對(duì)鮑勃做了一個(gè)假設(shè),我們發(fā)現(xiàn)的證據(jù)是他實(shí)際上交了一個(gè)新朋友!

在這種情況下我們?cè)撛趺醋瞿?我們只是改變了對(duì)鮑勃的假設(shè),他不是一個(gè)內(nèi)向的人。如果我們繼續(xù)觀察Bob幾次迭代,我們最終會(huì)很好地理解Bob的真正本質(zhì)。

我知道你在想什么——這看起來(lái)就像我們?cè)谔荻认陆岛驮S多其他優(yōu)化算法中做的事情。我們假設(shè)一些隨機(jī)參數(shù),觀察預(yù)測(cè)值和真值,然后相應(yīng)地調(diào)整參數(shù)。

樸素貝葉斯算法的工作原理與此類似,只是簡(jiǎn)單地假設(shè)所有的輸入特征都是獨(dú)立的。為了全面觀察這一現(xiàn)象,我們需要深入研究貝葉斯網(wǎng)絡(luò)或概率圖形模型。它們本身可能非常強(qiáng)大,我可能會(huì)在以后的文章中探討它們。

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)</a>背后,你不能不知道的數(shù)學(xué)核心概念

機(jī)器學(xué)習(xí)中的統(tǒng)計(jì)

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)</a>背后,你不能不知道的數(shù)學(xué)核心概念

這將是我們?cè)诒疚闹斜容^熟悉的主題之一。統(tǒng)計(jì)構(gòu)成了機(jī)器學(xué)習(xí)的基礎(chǔ),因此我在這里討論它。

每當(dāng)我們談?wù)摻y(tǒng)計(jì)數(shù)字時(shí),我們腦海中總會(huì)浮現(xiàn)出一些熟悉的概念:

這些概念中的大多數(shù)都是相當(dāng)初級(jí)的。除了最后一個(gè),我看到經(jīng)驗(yàn)豐富的機(jī)器學(xué)習(xí)專家對(duì)p值和alpha值之類的東西有著錯(cuò)誤的直覺。其中大多數(shù)在我們的機(jī)器學(xué)習(xí)模型(如線性和邏輯回歸)的性能中起著重要的作用。

我知道你可能會(huì)想知道——現(xiàn)在誰(shuí)在使用線性模型?

好吧,大多數(shù)組織都高度重視模型的可解釋性,而不是準(zhǔn)確性。集成模型往往缺乏這種可解釋性,因?yàn)樗鼈兏鼉A向于性能,并且廣泛用于數(shù)據(jù)科學(xué)競(jìng)賽(而非行業(yè))。

說(shuō)實(shí)話,我是那些被這些花哨的算法吸引的愛好者之一,我更喜歡直接跳到它們。結(jié)果,我的預(yù)測(cè)模型得到了低于標(biāo)準(zhǔn)的結(jié)果。

機(jī)器學(xué)習(xí)不僅僅是建立預(yù)測(cè)模型,而是利用現(xiàn)有的統(tǒng)計(jì)工具從給定的數(shù)據(jù)中提取盡可能多的信息。

結(jié)束語(yǔ)

機(jī)器學(xué)習(xí)的數(shù)學(xué)是一個(gè)經(jīng)常被忽視或用錯(cuò)誤的視角處理的基本方面。在本文中,我們討論了數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí)所需的數(shù)學(xué)之間的區(qū)別。我們還學(xué)習(xí)了一些關(guān)于為什么以及在什么地方需要數(shù)學(xué)的指示。

數(shù)據(jù)分析咨詢請(qǐng)掃描二維碼

若不方便掃碼,搜微信號(hào):CDAshujufenxi

數(shù)據(jù)分析師資訊
更多

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機(jī)數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進(jìn)行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個(gè)參數(shù)驗(yàn)證碼對(duì)象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個(gè)配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺(tái)檢測(cè)極驗(yàn)服務(wù)器是否宕機(jī) new_captcha: data.new_captcha, // 用于宕機(jī)時(shí)表示是新驗(yàn)證碼的宕機(jī) product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說(shuō)明請(qǐng)參見:http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計(jì)時(shí)完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請(qǐng)輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請(qǐng)輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }