A server, comprising: a memory to store data and instructions; at least one processor operable to communicate with the memory, wherein the at least one processor is operable to: establish a connection with a client device to stream a game to the client device; receive context information from the client device, wherein the context information provides a current context of the client device; send, to a reinforcement learning system, a rank and reward call for a recommendation for channel parameters for the connection, wherein the rank and reward call includes the context information, a user vector, and an item vector, wherein the user vector is a multidimensional array of numbers that provides a summary of a gaming history of a user of the client device, and wherein the item vector is a multidimensional array of numbers that provides a summary of game information for the game; receive, from the reinforcement learning system, the recommendation for the channel parameters in response to the rank and reward call; use the recommendation to set a value of the channel parameters to stream the game to the client device; and determine a reward function error for the channel parameters by calculating a distance between a game play curve for the game and a game signature function, wherein the game signature function represents optimal game play for a cohort of users for the game learned through machine learning from analyzing game data stored in a game streaming history datastore, and wherein the game play curve represents a current game play of the user. a memory to store data and instructions; at least one processor operable to communicate with the memory, wherein the at least one processor is operable to: establish a connection with a client device to stream a game to the client device; receive context information from the client device, wherein the context information provides a current context of the client device; send, to a reinforcement learning system, a rank and reward call for a recommendation for channel parameters for the connection, wherein the rank and reward call includes the context information, a user vector, and an item vector, wherein the user vector is a multidimensional array of numbers that provides a summary of a gaming history of a user of the client device, and wherein the item vector is a multidimensional array of numbers that provides a summary of game information for the game; receive, from the reinforcement learning system, the recommendation for the channel parameters in response to the rank and reward call; use the recommendation to set a value of the channel parameters to stream the game to the client device; and determine a reward function error for the channel parameters by calculating a distance between a game play curve for the game and a game signature function, wherein the game signature function represents optimal game play for a cohort of users for the game learned through machine learning from analyzing game data stored in a game streaming history datastore, and wherein the game play curve represents a current game play of the user. establish a connection with a client device to stream a game to the client device; receive context information from the client device, wherein the context information provides a current context of the client device; send, to a reinforcement learning system, a rank and reward call for a recommendation for channel parameters for the connection, wherein the rank and reward call includes the context information, a user vector, and an item vector, wherein the user vector is a multidimensional array of numbers that provides a summary of a gaming history of a user of the client device, and wherein the item vector is a multidimensional array of numbers that provides a summary of game information for the game; receive, from the reinforcement learning system, the recommendation for the channel parameters in response to the rank and reward call; use the recommendation to set a value of the channel parameters to stream the game to the client device; and determine a reward function error for the channel parameters by calculating a distance between a game play curve for the game and a game signature function, wherein the game signature function represents optimal game play for a cohort of users for the game learned through machine learning from analyzing game data stored in a game streaming history datastore, and wherein the game play curve represents a current game play of the user.