Lý thuyết toán ma trận sử dụng trong các thuật toán Machine Learning

Công Nghệ
Lý thuyết toán ma trận sử dụng trong các thuật toán Machine Learning
Bài viết được sự cho phép của tác giả Kien Dang Chung Machine learning là một tập hợp rất nhiều các thuật toán khác nhau và nó có liên hệ rất mật thiết với toán học, đặc biệt là toán cao cấp. Chúng ta ai đã mài đũng quần trên giảng đường đại học đều không còn xa lạ với Đại số tuyến tính và đây cũng là kiến thức nền tảng của rất nhiều các thuật toán sẽ được giới thiệu trong Machine Learning . 9 hiểu lầm "ngớ ngẩn" về machine learning Chia sẻ cơ bản sử dụng machine learning để giải quyết bài toán. 1. Một số khái niệm cơ bản 1.1 Vô hướng (Scalar) Scalar (mathematics), an element of a field, which is used to define a vector space, usually the field of real numbers Một đại lượng vô hướng là một phần tử của một trường được sử dụng để xác định một không gian vector, thông thường ở đây là trường số thực. Wiki Tóm lại đại lượng vô hướng (Scalar) là một số bất kì thuộc tập số nào đó. Khi định nghĩa một số ta phải chỉ rõ tập số mà nó thuộc vào. Ví dụ, n n là số tự nhiên sẽ được kí hiệu: n ∈ N n∈N , hoặc r r là số thực sẽ được kí hiệu: r ∈ R r∈R . Một số thường có thể định nghĩa được bằng một kiểu dữ liệu nguyên thủy của các ngôn ngữ lập trình. Như số tự nhiên có thể là kiểu int, số thực có thể là kiểu float trong Python. 1.2 Véc tơ (Vector) Vector là 1 mảng của các đại lượng vô hướng tương tự như mảng 1 chiều trong các ngôn ngữ lập trình. Các...

Bài viết được sự cho phép của tác giả Kien Dang Chung

Machine learning là một tập hợp rất nhiều các thuật toán khác nhau và nó có liên hệ rất mật thiết với toán học, đặc biệt là toán cao cấp. Chúng ta ai đã mài đũng quần trên giảng đường đại học đều không còn xa lạ với Đại số tuyến tính và đây cũng là kiến thức nền tảng của rất nhiều các thuật toán sẽ được giới thiệu trong Machine Learning.

1. Một số khái niệm cơ bản

1.1 Vô hướng (Scalar)

Scalar (mathematics), an element of a field, which is used to define a vector space, usually the field of real numbers

Một đại lượng vô hướng là một phần tử của một trường được sử dụng để xác định một không gian vector, thông thường ở đây là trường số thực.

Wiki

Tóm lại đại lượng vô hướng (Scalar) là một số bất kì thuộc tập số nào đó. Khi định nghĩa một số ta phải chỉ rõ tập số mà nó thuộc vào. Ví dụ, nn là số tự nhiên sẽ được kí hiệu: nNn∈N, hoặc rr là số thực sẽ được kí hiệu: rRr∈R. Một số thường có thể định nghĩa được bằng một kiểu dữ liệu nguyên thủy của các ngôn ngữ lập trình. Như số tự nhiên có thể là kiểu int, số thực có thể là kiểu float trong Python.

1.2 Véc tơ (Vector)

Vector là 1 mảng của các đại lượng vô hướng tương tự như mảng 1 chiều trong các ngôn ngữ lập trình. Các phần tử trong vector được đánh địa chỉ và có thể truy cập nó qua các địa chỉ tương ứng của nó. Trong toán học, một vector có thể là vector cột nếu các nó được biểu diễn dạng cột, hoặc có thể là vector hàng nếu nó được biểu diễn dưới dạng cột của các phần tử.

Một véc-tơ cột có dạng như sau:

x=⎡⎣⎢⎢⎢⎢x1x2xn⎤⎦⎥⎥⎥⎥x=[x1x2⋮xn]


Một véc-tơ hàng có dạng như sau:

x=[x1x2xn]x=[x1x2⋯xn]

Trong đó, x1x1x2x2, …, xnxn là các phần tử thứ 1, thứ 2, … thứ n của vector.

1.3 Ma trận (Matrix)

Ma trận trên trường K là một bảng liệt kê các số như: số thực, số phức hay một hàm số,… được sắp xếp theo một trật tự nhất định gốm có m dòng và n cột

A=⎡⎣⎢⎢⎢⎢⎢a11a21am1a12a22am2a1na2namn⎤⎦⎥⎥⎥⎥⎥A=[a11a12⋯a1na21a22⋯a2n⋮⋮⋱⋮am1am2⋯amn]

Trong đó aijaij là phần tử dòng i cột j, phần tử này có thể là số thực hoặc số phức. Ma trận này được ký hiệu là A=(aij)mxnRm×nA=(aij)mxn∈Rm×n

Như vậy véc tơ là trường hợp đặc biệt của ma trận:

  • m = 1 chúng ta có ma trận A=(aij)1xnA=(aij)1xn là véc tơ hàng.
  • n = 1 chúng ta có ma trận A=(aij)mx1A=(aij)mx1 là véc tơ cột.

Ma trận tương ứng với mảng 2 chiều trong các ngôn ngữ lập trình. Véc tơ tương ứng với mảng 1 chiều.

1.4 Ten-xơ (Tensor)

Ten-xơ là một mảng đa chiều, nó là trường hợp tổng quát khi biểu diễn trường số đa chiều. Như vậy, ma trận, véc tơ và vô hướng chỉ là những trường hợp cụ thể của ten-xơ:

  • Ma trận là ten-xơ 2 chiều.
  • Véc tơ là ten-xơ 1 chiều.
  • Vô hướng là ten-xơ 0 chiều.

Các phần tử trong ten-xơ được xác định bằng các chỉ số trên từng chiều của ten-xơ, ví dụ một ten-xơ 3 chiều A=(aijk)mxnxpA=(aijk)mxnxp khi đó phần tử aijkaijk sẽ ở hàng i, cột j và mặt phẳng k.

Tìm ngay việc làm Machine Learning tại Station D!

2. Một số ma trận đặc biệt

2.1 Ma trận không

Ma trận không là ma trận mà các phần tử bên trong đều bằng 0, aij=0,i,jaij=0,∀i,j. Ma trận không được ký hiệu là 

=⎡⎣⎢⎢⎢⎢⎢000000000⎤⎦⎥⎥⎥⎥⎥∅=[00⋯000⋯0⋮⋮⋱⋮00⋯0]

2.2 Ma trận đơn vị

Ma trận đơn vị là ma trận vuông có các phần tử trên đường chéo từ bên trên tay trái xuống bên dưới tay phải bằng 1, còn các phần tử khác bằng 0. Ma trận đơn vị thường được ký hiệu là InIn trong đó nn là số hàng và số cột của ma trận:

{aij=0,ijaij=1,i=j{aij=0,∀i≠jaij=1,∀i=j

In=⎡⎣⎢⎢⎢⎢⎢100010001⎤⎦⎥⎥⎥⎥⎥In=[10⋯001⋯0⋮⋮⋱⋮00⋯1]

2.3 Ma trận vuông

Ma trận vuông là ma trận có số hàng bằng với số cột A=(aij)n×nA=(aij)n×naijRn×naij∈Rn×n. Trong ma trận vuông, đường chéo từ trên bên trái xuống dưới bên phải được gọi là đường chéo chính {aij}i=j{aij}∀i=j.

Ví dụ một ma trận vuông:

A=⎡⎣⎢132309255⎤⎦⎥A=[13−2−305−295]

2.4 Ma trận nghịch đảo

Cho một ma trận vuông A=(aij)n×nRn×nA=(aij)n×n∈Rn×n, nếu có ma trận B=(bij)n×nRn×nB=(bij)n×n∈Rn×n sao cho A×B=InA×B=In với InIn là ma trận đơn vị có kích thước nn thì ta nói rằng:

  • Ma trận AA là khả nghịch.
  • Ma trận BB là ma trận nghịch đảo của AA và được thường ký hiệu là A1A−1

Ma trận nghịch đảo thường được sử dụng để tìm lời giải cho phương trình tuyến tính dạng A×x=BA×x=B với A=(aij)n×nRn×nA=(aij)n×n∈Rn×nx=[x1x2...xn]x=[x1x2…xn] và B=(bij)n=[b1b2...bn]RnB=(bij)n=[b1b2…bn]∈Rn.

Phương trình tuyến tính này có thể viết dưới dạng chi tiết như sau:

⎧⎩⎨⎪⎪⎪⎪⎪⎪a11x1+a12x2+...+a1nxn=b1a21x1+a22x2+...+a2nxn=b2...an1x1+an2x2+...+annxn=bn{a11x1+a12x2+...+a1nxn=b1a21x1+a22x2+...+a2nxn=b2...an1x1+an2x2+...+annxn=bn

Để giải phương trình này ta chỉ cần tìm ma trận nghịch đảo A1A−1, thật vậy:

A1×A×x=A1×Bx=A1×BA−1×A×x=A−1×B⇒x=A−1×B

2.5 Ma trận chuyển vị

Ma trận chuyển vị, ký hiệu ATAT là ma trận được thành lập từ ma trận ban đầu bằng cách chuyển dòng thành cột và ngược lại:

AT=⎡⎣⎢⎢⎢⎢⎢a11a21an1a12a22am2a1ma2manm⎤⎦⎥⎥⎥⎥⎥AT=[a11a12⋯a1ma21a22⋯a2m⋮⋮⋱⋮an1am2⋯anm]

Chú ý: Đôi khi, người ta định nghĩa véc tơ cột từ véc tơ dòng như sau:

x=[x1,x2,,xn]x=[x1,x2,…,xn]⊺

Ma trận đối xứng:

Nếu một ma trận bằng chính ma trận chuyển vị của nó thì ma trận đó được gọi là ma trận đối xứng.

A=AA=A⊺ thì AA được gọi là ma trận đối xứng.

2.6 Ma trận liên hợp

Nếu ma trận A=(aij)m×nA=(aij)m×naijCm×naij∈Cm×n có các phần tử là số phức thì khi vừa thực hiện chuyển đổi hàng thành cột và lấy liên hợp phức các phần tử chúng ta được ma trận liên hợp Hermitian, được ký hiệu là AHAH.

Nói cách khác, ta có ma trận A=(aij)m×nA=(aij)m×naijCaij∈C thì ma trận B=(bij)n×mB=(bij)n×mbijCbij∈C là ma trận liên hợp phức nếu:

bij=aji¯¯¯¯¯¯,i=1,n¯¯¯¯¯¯¯¯,j=1,m¯¯¯¯¯¯¯¯¯bij=aji¯,∀i=1,n¯,j=1,m¯

Ví dụ, ta có ma trận sau:

A=[12i23+4ii]A=[1−2i3+4i2−i]

thì ma trận liên hợp phức của A sẽ là:

AH=[1+2i34i2i]AH=[1+2i23−4ii]

Khi AA là ma trận số thực (ARm×nA∈Rm×n) thì ta có AH=AAH=A⊺.

Ma trận Hermitian:

Nếu ma trận A=(aij)m×nCm×nA=(aij)m×n∈Cm×n thì ma trận A được gọi là ma trận Hermitian nếu AH=AAH=A.

3. Các phép toán với ma trận

3.1 Nhân ma trận với một số

Nhân ma trận với một số (vô hướng) là cách thực hiện phép nhân từng phần tử của ma trận với số đó.

α×A=(α×aij)m×nα×A=(α×aij)m×n

α×A=⎡⎣⎢⎢⎢⎢⎢α×a11α×a21α×an1α×a12α×a22α×am2α×a1mα×a2mα×anm⎤⎦⎥⎥⎥⎥⎥α×A=[α×a11α×a12⋯α×a1mα×a21α×a22⋯α×a2m⋮⋮⋱⋮α×an1α×am2⋯α×anm]

Nhân ma trận với một số có những tính chất như sau:

  • Giao hoán: α×A=A×αα×A=A×α
  • Tính chất kết hợp: α(βA)=(αβ)Aα(βA)=(αβ)A
  • Tính chất phân phối: (α+β)A=αA+βA(α+β)A=αA+βA

Ví dụ:

A=⎡⎣⎢⎢⎢5703328061219535⎤⎦⎥⎥⎥A=[536−9−72150−82−33015]

Thì:

2×A=⎡⎣⎢⎢⎢⎢2×52×(7)2×02×32×32×22×(8)2×02×62×12×22×12×(9)2×52×(3)2×5⎤⎦⎥⎥⎥⎥=⎡⎣⎢⎢⎢10140664160122421810610⎤⎦⎥⎥⎥2×A=[2×52×32×62×(−9)2×(−7)2×22×12×52×02×(−8)2×22×(−3)2×32×02×12×5]=[10612−18−1442100−164−660210]

3.2 Phép cộng hai ma trận

Phép cộng hai trận chỉ thực hiện được khi cùng cấp, ví dụ A=(aij)m×nA=(aij)m×n có thể cộng với B=(bij)m×nB=(bij)m×n:

A+B=(aij)m×n+(bij)m×n=(aij+bij)m×nA+B=(aij)m×n+(bij)m×n=(aij+bij)m×n

Viết một cách chi tiết như sau:

A+B=⎡⎣⎢⎢⎢⎢⎢a11a21am1a12a22am2a1na2namn⎤⎦⎥⎥⎥⎥⎥+⎡⎣⎢⎢⎢⎢⎢b11b21bm1b12b22bm2b1nb2nbmn⎤⎦⎥⎥⎥⎥⎥=⎡⎣⎢⎢⎢⎢⎢a11+b11a21+b21am1+bm1a12+b12a22+b22am2+bm2a1n+b1na2n+b2namn+bmn⎤⎦⎥⎥⎥⎥⎥A+B=[a11a12⋯a1na21a22⋯a2n⋮⋮⋱⋮am1am2⋯amn]+[b11b12⋯b1nb21b22⋯b2n⋮⋮⋱⋮bm1bm2⋯bmn]=[a11+b11a12+b12⋯a1n+b1na21+b21a22+b22⋯a2n+b2n⋮⋮⋱⋮am1+bm1am2+bm2⋯amn+bmn]

Phép cộng hai ma trận có một số tính chất như sau:

  • Cộng với ma trận không bằng chính nó: A+=AA+∅=A
  • Tính giao hoán: A+B=B+AA+B=B+A
  • Tính kết hợp: A+(B+C)=(A+B)+CA+(B+C)=(A+B)+C
  • Tính phân phối: α(A+B)=αA+αBα(A+B)=αA+αB

3.3 Phép nhân hai ma trận

Cho hai ma trận A=(aij)m×nA=(aij)m×n và B=(bij)n×pB=(bij)n×p. Phép nhân hai ma trận cho kết quả là một ma trận C=(cij)m×pC=(cij)m×p với:

cij=k=1naik×bkj,i=1,m¯¯¯¯¯¯¯¯¯;j=1,p¯¯¯¯¯¯¯cij=∑k=1naik×bkj,∀i=1,m¯;j=1,p¯

Chú ý: Để nhân được hai ma trận thì số cột của ma trận thứ nhất phải bằng số hàng của ma trận thứ hai trong phép nhân.

Một số tính chất của phép nhân hai ma trận:

  • Nhân ma trận với ma trận đơn vị không làm thay đổi ma trận đó: A×I=AA×I=A
  • Không có tính chất giao hoán trong phép nhân: A×BB×AA×B≠B×A, trong nhiều trường hợp phép nhân B×AB×A còn không tồn tại do số cột của B khác số hàng của A.
  • Tính kết hợp: A×(B×C)=(A×B)×CA×(B×C)=(A×B)×C.
  • Tính phân phối: A×(B+C)=A×B+A×CA×(B+C)=A×B+A×C và (A+B)×C=A×C+B×C(A+B)×C=A×C+B×C.
  • Chuyển vị của một tích bằng tích các chuyển vị theo thứ tự ngược lại: (A×B)=B×A(A×B)⊺=B⊺×A⊺.
  • Liên hợp phức của một tích bằng tích các liên hợp phức theo thứ tự ngược lại: (A×B)H=BH×AH(A×B)H=BH×AH.

4. Giải tích ma trận

4.1 Hàm đa biến số

Như chúng ta đã biết các phương trình đường thẳng y=ax+by=ax+b (có thể viết dạng ax+by+c=0ax+by+c=0) hay phương trình mặt phẳng ax+by+cz+d=0ax+by+cz+d=0. Tổng quát hóa, một siêu mặt phẳng trong không gian n chiều có phương trình như sau:

a1x1+a2x2+...+anxn+a0=0a1x1+a2x2+…+anxn+a0=0

Hàm số đa biến số là một hàm phụ thuộc vào nhiều biến số f(x):RnRf(x):Rn→R. Viết một các chi tiết hơn:

(x1,x2,...,xn)f(x1,x2,...,xn)R(x1,x2,…,xn)→f(x1,x2,…,xn)∈R

Ví dụ, z=x2+y2z=x2+y2 là một hàm số của biến x,yx,y.

Trong machine learning, các vấn đề chúng ta gặp phải không chỉ có đầu ra là một số (vô hướng) mà có thể là một vector, tổng quát hơn có thể là ma trận hoặc tensor. Do đó hàm số đa biến sẽ ở dạng tổng quát hơn, còn gọi là hàm véc tơ như sau:

f(x):RnRmf(x):Rn→Rm

Ví dụ một hàm vector có ba biến số như sau f(x,y,z):R3R2f(x,y,z):R3→R2:

f(x,y,z)=[x2+sin(y)+xzcos(x)+y2z]f(x,y,z)=[x2+sin(y)+xzcos(x)+y2z]

4.2 Đạo hàm riêng

Đạo hàm riêng của một hàm nhiều biến số là đạo hàm theo biến số đó với giả thuyết các biến số khác là hằng số. Ký hiệu fx(x0,y0)fx′(x0,y0) hoặc f(x0,y0)x∂f(x0,y0)∂x, đây là đạo hàm riêng theo biến xx, còn đạo riêng theo biến yy sẽ viết như sau: fy(x0,y0)fy′(x0,y0) hoặc f(x0,y0)y∂f(x0,y0)∂y.

Ví dụ: với hàm số ở phần trên ta có đạo hàm riêng theo các biến x,y,zx,y,z như sau:

f(x,y,z)x=[2x+zsin(x)]f(x,y,z)x′=[2x+z−sin(x)]

f(x,y,z)y=[cos(y)2yz]f(x,y,z)y′=[cos(y)2yz]

f(x,y,z)z=[xy2]

Bài viết gốc được đăng tải tại allaravel.com

Có thể bạn quan tâm:

Xem thêm Việc làm Machine Learning hấp dẫn trên Station D

Bài viết liên quan

Bộ cài đặt Laravel Installer đã hỗ trợ tích hợp Jetstream

Bộ cài đặt Laravel Installer đã hỗ trợ tích hợp Jetstream

Bài viết được sự cho phép của tác giả Chung Nguyễn Hôm nay, nhóm Laravel đã phát hành một phiên bản chính mới của “ laravel/installer ” bao gồm hỗ trợ khởi động nhanh các dự án Jetstream. Với phiên bản mới này khi bạn chạy laravel new project-name , bạn sẽ nhận được các tùy chọn Jetstream. Ví dụ: API Authentication trong Laravel-Vue SPA sử dụng Jwt-auth Cách sử dụng Laravel với Socket.IO laravel new foo --jet --dev Sau đó, nó sẽ hỏi bạn thích stack Jetstream nào hơn: Which Jetstream stack do you prefer? [0] Livewire [1] inertia > livewire Will your application use teams? (yes/no) [no]: ... Nếu bạn đã cài bộ Laravel Installer, để nâng cấp lên phiên bản mới bạn chạy lệnh: composer global update Một số trường hợp cập nhật bị thất bại, bạn hãy thử, gỡ đi và cài đặt lại nha composer global remove laravel/installer composer global require laravel/installer Bài viết gốc được đăng tải tại chungnguyen.xyz Có thể bạn quan tâm: Cài đặt Laravel Làm thế nào để chạy Sql Server Installation Center sau khi đã cài đặt xong Sql Server? Quản lý các Laravel route gọn hơn và dễ dàng hơn Xem thêm Tuyển dụng lập trình Laravel hấp dẫn trên Station D

By stationd
Principle thiết kế của các sản phẩm nổi tiếng

Principle thiết kế của các sản phẩm nổi tiếng

Tác giả: Lưu Bình An Phù hợp cho các bạn thiết kế nào ko muốn làm code dạo, design dạo nữa, bạn muốn cái gì đó cao hơn ở tầng khái niệm Nếu lập trình chúng ta có các nguyên tắc chung khi viết code như KISS , DRY , thì trong thiết kế cũng có những nguyên tắc chính khi làm việc. Những nguyên tắc này sẽ là kim chỉ nam, nếu có tranh cãi giữa các member trong team, thì cứ đè nguyên tắc này ra mà giải quyết (nghe hơi có mùi cứng nhắc, mình thì thích tùy cơ ứng biến hơn) Tìm các vị trí tuyển dụng designer lương cao cho bạn Nguyên tắc thiết kế của GOV.UK Đây là danh sách của trang GOV.UK Bắt đầu với thứ user cần Làm ít hơn Thiết kế với dữ liệu Làm mọi thứ thật dễ dàng Lặp. Rồi lặp lại lần nữa Dành cho tất cả mọi người Hiểu ngữ cảnh hiện tại Làm dịch vụ digital, không phải làm website Nhất quán, nhưng không hòa tan (phải có chất riêng với thằng khác) Cởi mở, mọi thứ tốt hơn Bao trừu tượng luôn các bạn, trang Gov.uk này cũng có câu tổng quát rất hay Thiết kế tốt là thiết kế có thể sử dụng. Phục vụ cho nhiều đối tượng sử dụng, dễ đọc nhất nhất có thể. Nếu phải từ bỏ đẹp tinh tế – thì cứ bỏ luôn . Chúng ta tạo sản phẩm cho nhu cầu sử dụng, không phải cho người hâm mộ . Chúng ta thiết kế để cả nước sử dụng, không phải những người đã từng sử dụng web. Những người cần dịch vụ của chúng ta nhất là những người đang cảm thấy khó sử dụng dịch...

By stationd
Hiểu về trình duyệt – How browsers work

Hiểu về trình duyệt – How browsers work

Bài viết được sự cho phép của vntesters.com Khi nhìn từ bên ngoài, trình duyệt web giống như một ứng dụng hiển thị những thông tin và tài nguyên từ server lên màn hình người sử dụng, nhưng để làm được công việc hiển thị đó đòi hỏi trình duyệt phải xử lý rất nhiều thông tin và nhiều tầng phía bên dưới. Việc chúng ta (Developers, Testers) tìm hiểu càng sâu tầng bên dưới để nắm được nguyên tắc hoạt động và xử lý của trình duyệt sẽ rất hữu ích trong công việc viết code, sử dụng các tài nguyên cũng như kiểm thử ứng dụng của mình. Cách để npm packages chạy trong browser Câu hỏi phỏng vấn mẹo về React: Component hay element được render trong browser? Khi hiểu được cách thức hoạt động của trình duyệt chúng ta có thể trả lời được rất nhiều câu hỏi như: Tại sao cùng một trang web lại hiển thị khác nhau trên hai trình duyệt? Tại sao chức năng này đang chạy tốt trên trình duyệt Firefox nhưng qua trình duyệt khác lại bị lỗi? Làm sao để trang web hiển thị nội dung nhanh và tối ưu hơn một chút?… Hy vọng sau bài này sẽ giúp các bạn có một cái nhìn rõ hơn cũng như giúp ích được trong công việc hiện tại. 1. Cấu trúc của một trình duyệt Trước tiên chúng ta đi qua cấu trúc, thành phần chung và cơ bản nhất của một trình duyệt web hiện đại, nó sẽ gồm các thành phần (tầng) như sau: Thành phần nằm phía trên là những thành phần gần với tương tác của người dùng, càng phía dưới thì càng sâu và nặng về xử lý dữ liệu hơn tương tác. Nhiệm...

By stationd
Thị trường EdTech Vietnam- Nhiều tiềm năng nhưng còn bị bỏ ngỏ tại Việt Nam

Thị trường EdTech Vietnam- Nhiều tiềm năng nhưng còn bị bỏ ngỏ tại Việt Nam

Lĩnh vực EdTech (ứng dụng công nghệ vào các sản phẩm giáo dục) trên toàn cầu hiện nay đã tương đối phong phú với nhiều tên tuổi lớn phân phối đều trên các hạng mục như Broad Online Learning Platforms (nền tảng cung cấp khóa học online đại chúng – tiêu biểu như Coursera, Udemy, KhanAcademy,…) Learning Management Systems (hệ thống quản lý lớp học – tiêu biểu như Schoology, Edmodo, ClassDojo,…) Next-Gen Study Tools (công cụ hỗ trợ học tập – tiểu biểu như Kahoot!, Lumosity, Curriculet,…) Tech Learning (đào tạo công nghệ – tiêu biểu như Udacity, Codecademy, PluralSight,…), Enterprise Learning (đào tạo trong doanh nghiệp – tiêu biểu như Edcast, ExecOnline, Grovo,..),… Hiện nay thị trường EdTech tại Việt Nam đã đón nhận khoảng đầu tư khoảng 55 triệu đô cho lĩnh vực này nhiều đơn vị nước ngoài đang quan tâm mạnh đến thị trường này ngày càng nhiều hơn. Là một trong những xu hướng phát triển tốt, và có doanh nghiệp đã hoạt động khá lâu trong ngành nêu tại infographic như Topica, nhưng EdTech vẫn chỉ đang trong giai đoạn sơ khai tại Việt Nam. Tại Việt Nam, hệ sinh thái EdTech trong nước vẫn còn rất non trẻ và thiếu vắng nhiều tên tuổi trong các hạng mục như Enterprise Learning (mới chỉ có MANA), School Administration (hệ thống quản lý trường học) hay Search (tìm kiếm, so sánh trường và khóa học),… Với chỉ dưới 5% số dân công sở có sử dụng một trong các dịch vụ giáo dục online, EdTech cho thấy vẫn còn một thị trường rộng lớn đang chờ được khai phá. *** Vừa qua Station D đã công bố Báo cáo Vietnam IT Landscape 2019 đem đến cái nhìn toàn cảnh về các ứng dụng công...

By stationd